[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:33493] Re: 起動用 GRUB USBstick 作成について



KOJIMAさん、解説ありがとうございます。

On Mon, 23 Nov 2020 15:37:31 +0900 (JST)
KOJIMA-san <kojima@xxxxxxxxxxx> wrote:
> ちょっと古いけど,DVDイメージには Plamo のインストーラを UEFI 対応にする際
> あれこれ調べたことを記した README.GPT というファイルを置いてるので参考になるかも知れません.

README.GPT 参考にさせていただきます。

> ウロ覚えだけど,UEFI は接続されているデバイスが GPT タイプの HDD ならば EFI System partition内,
> VFAT な USB メディアならば /EFI/BOOT というディレクトリ内に,
> ブートローダ(bootx64.efi)が無いかを探すので,以下の手順になると思います.
> 
> > GRUB起動USB-stickを作成した手順は、ざっくりと以下のような手順です。
> > (plamoでも同様の手順で作成したUSBは動作しました)
> > ===================================================
> > /mnt/usb に FATフォーマットしたUSBメモリをマウントした場合。
> > 
> > mkdir -p /mnt/usb/EFI/boot
> > mkdir /mnt/usb/boot
> > grub-install  --no-nvram --target=x86_64-efi --efi-directory=/mnt/usb/EFI/ --removable --boot-directory=/mnt/usb/boot
> 
> この grub-install が EFI 用のバイナリである grubx64.efi を作るんだったかな.
> 
> # 昔調べた記憶では,grub では各機能がELF形式のrelocatableなモジュールとして用意されてて,
> # そこから必要なモジュールを組み合わせ,指定した target 用のヘッダやフッタを付け加える,
> # みたいな処理をしていたはず.
> 
> 
> マザーボードに載ってる UEFI が丁寧な実装なら EFI 用のバイナリは名前にかかわらず
> ブートローダとして認識するものの,手を抜いた実装だとデフォルトのブートローダ名である
> bootx64.efi しかチェックしないようで,念のため grubx64.efi を bootx64.efi に
> コピーしているのだと思います.

参考になります。ありがとうございます。
結果から申し上げると、今回のslackware PCでのトラブルは windows updateをかけたときに
windows10が勝手にGPTな「回復パーティション」を追加作成してしまったことが原因のひとつでした。
windpows update後に linux の「/」パーティションがずれてしまい、grub.cfg の設定が
従来のまま(例えば hd0,gpt5)にも拘らず 実パーティションが hd0,gpt6 になっていました。
(まったく迷惑なことです。)

それと、おそらく boot64.efiも windowsしか認識しない boot64.efiに置き換えられたような感じでした。

※パーティション構成を変更されてしまうと、例え GRUB起動USBを作成していても
 そのままでは起動できないと思われ、USB内のgrub.cfgの修正が必要になるかもしれません。

マルチブートにしていると、いろいろありますね。


References
[plamo:33491] 起動用 GRUB USB stick作成について, ABE Shin-ichi
[plamo:33492] Re: 起動用 GRUB USBstick 作成について, KOJIMA

[検索ページ] [メール一覧]
Plamo ML 公開システム