以下の内容はhttps://takuya-1st.hatenablog.jp/entry/2022/12/28/155228より取得しました。


Linux のマルチブートを作りたい レベル4 EFIブートを書き換える。

マルチブート構成

前回までで、2つのOSを同居させて片方だけはEFIブートローダーから起動している。デュアルブートのもう一方は、EFIから起動したDebianGrubから起動される。という構成が出来ている。

ここでは、続きをおこなって、マルチブートで両方ともに、EFIパーティションに登録してEFIブートするように変えておく。

レベル4 EFIブートを書き換える。

システムのインストールの状況

ここまでで、EFIパーティションDebianGRUBメニュからUbuntuを起動している。

Ubuntuが起動した状態を確認する

EFIは使ってない。

Debianが起動した状態を確認する。

EFIがあることがわかる。

ここでの目標

EFI未登録のUbuntuを起動し、Ubuntu自身にEFI登録させる。

ubunuで起動して

efiインストーラーを導入

sudo apt install grub-efi-amd64

EFIパーティションをマウント

sudo mkdir /boot/efi
sudo mount /dev/vda1 /boot/efi

EFIUbuntuブートローダーをインストール

sudo grub-install --target=x86_64-efi

インストール出来たか確認

EFIにインストール出来たか確認

takuya@ubuntu:~$ efibootmgr
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0004,0001,0002,0000,0003
Boot0000* UiApp
Boot0001* debian
Boot0002* UEFI Misc Device
Boot0003* EFI Internal Shell
Boot0004* ubuntu

再起動時にEFIパーティションマウントさせる

このままでは、再起動したときに /boot/efi が見えなくなるので再起動後も維持するようにします。

echo "/dev/vda1 /boot/efi vfat umask=0077  0  1" | sudo tee -a /etc/fstab

EFIブート順を変更する

takuya@ubuntu:~$ sudo efibootmgr -o 0004,0001
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0004,0001
Boot0000* UiApp
Boot0001* debian
Boot0002* UEFI Misc Device
Boot0003* EFI Internal Shell
Boot0004* ubuntu

再起動する

sudo reboot 

再起動のGRUBメニュー

UbuntuEFIブートローダーからUbuntuGRUBメニューが起動する

Ubuntuが管理しているGRUBメニューが見えています。

まとめ

順番を意識すると間違えない。 EFIー>GRUBー>OS起動

EFI自身にマルチブートの機能があり、GRUBメニューにもマルチブートの機能がある。

EFIDebianGRUBメニューを起動し、GRUBメニューからUbuntuを起動することが出来る。

EFIUbuntuを起動して、GRUBメニューからUbuntuが起動できる。

そして、ブートローダーを作るだけなので、OSをインストールをしなくても大丈夫。

OSを丸々コピーしてデュアルブートを作れることがわかった。

その他の方法

Mountしてchrootでも同じです。

Debian起動して、Ubuntuのディスクをマウントする

## efi とrootfs と boot
sudo mount /dev/mapper/vg0-ubuntu /mnt
sudo mount /dev/vdb2 /mnt/boot
sudo mount /dev/vdb1 /mnt/boot/efi
## 定番
sudo mount -t proc proc /mnt/proc/
sudo mount -t sysfs sys /mnt/sys/
sudo mount -o bind /dev /mnt/dev/
sudo mount -t devpts pts /mnt/dev/pts/
sudo chroot /mnt

chroot後にgrub-install

root#chrooted $ sudo grub-install --target=x86_64-efi

Linuxのマルチブートの作業ログ一覧




以上の内容はhttps://takuya-1st.hatenablog.jp/entry/2022/12/28/155228より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14