Posts tagged "備忘録":
デュアルブート環境でのBIOSアップデート他
デュアルブート環境でのBIOSアップデート
ASUSのマザボ(X670EのProArt)にてLinux/Windowsのデュアルブート環境を作っている。 この状態でBIOSのアップデートを行った場合の影響と復旧方法。
アップデートによる影響はUEFIのブートのエントリーがリセットされるので Linuxのブートローダーが読み込めなくなる。Windowsも本来消されるはずだがおそらくこっちは 自動で探して読み込むようになってるのではないかと思う。
したがってアップデート後にUSBディスク等から起動してefibootmgrでエントリーを追加する必要がある。
$ efibootmgr --create --disk /dev/sdX --part 1 --label 'Linux' --loader '\EFI\Boot\BOOTX64.EFI' --unicode
例えばこのような感じで追加できるはず。sdXはESPを指定する。
https://wiki.archlinux.jp/index.php/Unified_Extensible_Firmware_Interface#efibootmgr
ちなみに、BIOSアップデートすると当然BIOS設定は全部初期化されてしまうので、再設定が必要。 近年のマザボでデュアルブートをする場合はFastBootだけOFFにすればそれ以外は基本デフォルト設定で問題ないと思う。 FastBootももしかしたらONでもいけるかもしれないが、不要なトラブルを避けるためにマザボ側でOFFとしている。 (あとは個人的にマザボのWi-Fi機能は使わないのでBIOSレベルでOFFにしている)
ESPのお引越し
今回BIOSアップデートにあわせてLinux環境を別の新しいSSDに移した。その際ESPも新しいディスクに移したかったので そのような作業を行った。
結論から言えば、ESPを移動させたい場合は新しいディスクにESPのパーティション(FAT32, EFI System)を作成し、 そこに旧ESPのファイルをそのままコピーする。その後、efibootmgrで一旦すべてのエントリーを削除した後、 上のBIOSアップデート手順に記載したようなcreateオプションをつけて必要なエントリを再追加すれば良い。 その後、念の為バックアップを取った後に古いESPを削除する。
WindowsやLinuxのブートローダーのバイナリファイルはそのまま別ESPをコピーしても動く。 Windowsの場合は特に何もしなくてよかったがLinuxのブートローダーではrootのディスク指定などが必要だと思うので そういう場所だけ必要に応じて変更する。