UEFI 関連では,GPT の話とか色々と思い出されるが,それについは以下の記事を参照していただくことにして,
WM×LI: 【Linux】HDDにパーティションを作成する.(GPT編)
今回は,UEFI環境 での grub-install と update-grub の方法について書きたいと思う.(今更!)
BIOS だったころは,概ね以下のような感じで grubローダー のアップデートができたはずだ.
# grub-install /dev/sda # update-grub |
気をつけなければいけないのは,sda1 とかでなく,sda のみを引数にとること.
詳しいことは理解していないが,MBR はパーティションの先頭にインストールされるので云々...ということだ!
このとき,MBR(/dev/sdaの先頭?) は完全に置き換わってしまうので,他のインストール済みのOSのことは特に気にせず,grubローダーさんの力に任せておけばよかった.
しかし,UEFI環境 では,インストール済みの 全OS で efiパーティション(マウントポイントは/boot/efi) を共有して使うので,簡単に update-grub とかして大丈夫なの?という疑問が浮かぶ.
そこでまず,/boot/efi ディレクトリに移り,ディレクトリのコピーなんてしてみると,
# cd /boot/efi/EFI # cp -r ubuntu ubuntu16.04 |
パソコン起動時の UEFI設定画面 で,すんなり ubuntu16.04 が見えて,意外と単純な作りになっていることがわかる.
つまり,バックアップさえしておけば,後でなんとでも修復できるわけだ!.(確信は無い)
# mkdir efi_backup # cp -r /boot/efi/EFI efi_backup/ |
バックアップをとったら,あとは色々と試してみる.
grub-install の manページ を見て,--efi-directory と --bootloader-id の2つのオプションを使ってみる.
root@gauss:# grub-install --efi-directory /boot/efi --bootloader-id test Installing for x86_64-efi platform. Installation finished. No error reported. |
すんなりインストールが完了し,実際 lsコマンド で /boot/efi/EFI の中を見てみると,
# ls -l /boot/efi/EFI 合計 24 drwx------ 2 root root 4096 4月 22 2015 Boot drwx------ 3 root root 4096 4月 22 2015 Dell drwx------ 4 root root 4096 4月 22 2015 Microsoft drwx------ 2 root root 4096 12月 23 12:05 test drwx------ 3 root root 4096 7月 6 22:33 ubuntu drwx------ 3 root root 4096 12月 18 11:06 ubuntu16.04 # ls -l /boot/efi/EFI/test 合計 3588 -rwx------ 1 root root 1271672 12月 23 12:05 MokManager.efi -rwx------ 1 root root 126 12月 23 12:05 grub.cfg -rwx------ 1 root root 1103224 12月 23 12:05 grubx64.efi -rwx------ 1 root root 1289424 12月 23 12:05 shimx64.efi |
きちんと test という名前で grubローダー がインストールされており,実際に UEFI設定画面 で test を起動すると,grubローダー の画面が表示された.
これにて一見落着!
あれ? update-grub コマンドは?...(苦笑)
【2021.1.14追記】
update-grubはBIOSの頃と同様にただ実行すれば良い.
# update-grub |
0 件のコメント:
コメントを投稿