私はWindowsと2つのLinuxディストリビューション、つまりParrot OS Electro AraとUbuntu 20.04をマルチブートしようとしています。 grubとブートローダはもともとParrot OSによってインストールされました。そのため、邪魔にならないようにブートローダなしでUbuntuをインストールしました。なぜなら、ubiquity -b
Parrot自体のグラブを使いたかったからです。
しかし、私も同じことを使っています。/開始するパーティション(/dev/nvme0n1p9
)は両方のオペレーティングシステムのインストールポイントとして機能します。これはParrot OSのマウントポイントです。lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 953.9G 0 disk
├─nvme0n1p1 259:1 0 260M 0 part /boot/efi
├─(windows partitions were hided)
├─nvme0n1p7 259:7 0 200M 0 part
├─nvme0n1p8 259:8 0 4G 0 part [SWAP]
├─nvme0n1p9 259:9 0 1G 0 part /boot
├─nvme0n1p10 259:10 0 20G 0 part /
├─nvme0n1p11 259:11 0 40G 0 part /opt
├─nvme0n1p12 259:12 0 40G 0 part
│ └─luks-...(UUID Hided) 253:0 0 40G 0 crypt /home
└─nvme0n1p15 259:15 0 47.4G 0 part
注:私は同じように共有しました/opt
(/boot
efiパーティションはデフォルトで共有されます)
/dev/nvme0n1p15でubuntuが検出されたことを示すメッセージが表示されますが、ソースコードを表示したり、grub画面から起動すると、オウムOSに直接接続されます。問題は、オウムオペレーティングシステムがUbuntuのinitramfsファイルとvmlinuzファイルから起動し、問題なくオウムで起動することです。また、Ubuntuで試してみるとupdate-grub
Parrot OSについて話していますが、まだParrot OSのカーネル(5.16と5.18)を使用してUbuntuで起動するため、initramfsのエラーが発生しますが、カーネル5.15が誤って起動するとエラーは発生しません。
以下は、それがどのように見えるかを示すgrub-customizerページです。 (ユーザー定義は一時的にUbuntuイメージから起動することです。)
/boot
ここにはインストール前、Ubuntuインストール後、update-grub実行後フォルダにあるファイルも添付しました。
Ubuntuをインストールする前(ParrotとWindowsのみ)
config-5.16.0-12parrot1-amd64
config-5.18.0-1parrot1-amd64
efi
grub
initrd.img-5.16.0-12parrot1-amd64
initrd.img-5.18.0-1parrot1-amd64
System.map-5.16.0-12parrot1-amd64
System.map-5.18.0-1parrot1-amd64
vmlinuz-5.16.0-12parrot1-amd64
vmlinuz-5.18.0-1parrot1-amd64
Ubuntuをインストールし、chroot経由でgrub updateを実行した後
total 256M
drwxr-xr-x 2 root root 4.0K செப். 20 16:36 efi
drwxr-xr-x 5 root root 4.0K செப். 20 16:36 grub
lrwxrwxrwx 1 root root 28 செப். 20 16:36 initrd.img -> initrd.img-5.15.0-46-generic
-rw-r--r-- 1 root root 117M செப். 20 16:36 initrd.img-5.15.0-46-generic
-rwxr-xr-x 1 root root 94M செப். 20 16:36 initrd.img-5.16.0-12parrot1-amd64
-rw-r--r-- 1 root root 14M செப். 20 16:36 initrd.img-5.18.0-1parrot1-amd64
lrwxrwxrwx 1 root root 32 செப். 20 16:36 initrd.img.old -> initrd.img-5.18.0-1parrot1-amd64
-rw-r--r-- 1 root root 179K செப். 20 16:36 memtest86+.bin
-rw-r--r-- 1 root root 181K செப். 20 16:36 memtest86+.elf
-rw-r--r-- 1 root root 181K செப். 20 16:36 memtest86+_multiboot.bin
-rw------- 1 root root 6.0M செப். 20 16:36 System.map-5.15.0-46-generic
-rwxr-xr-x 1 root root 83 செப். 20 16:36 System.map-5.16.0-12parrot1-amd64
-rwxr-xr-x 1 root root 83 செப். 20 16:36 System.map-5.18.0-1parrot1-amd64
lrwxrwxrwx 1 root root 25 செப். 20 16:36 vmlinuz -> vmlinuz-5.15.0-46-generic
-rw-r--r-- 1 root root 11M செப். 20 16:36 vmlinuz-5.15.0-46-generic
-rwxr-xr-x 1 root root 7.1M செப். 20 16:36 vmlinuz-5.16.0-12parrot1-amd64
-rwxr-xr-x 1 root root 7.2M செப். 20 16:36 vmlinuz-5.18.0-1parrot1-amd64
最後に、Parrot OSでupdate-grubを実行し、シンボリックリンクを削除します。
config-5.16.0-12parrot1-amd64
config-5.18.0-1parrot1-amd64
efi
grub
initrd.img-5.15.0-46-generic
initrd.img-5.16.0-12parrot1-amd64
initrd.img-5.18.0-1parrot1-amd64
memtest86+.bin
memtest86+.elf
memtest86+_multiboot.bin
System.map-5.15.0-46-generic
System.map-5.16.0-12parrot1-amd64
System.map-5.18.0-1parrot1-amd64
vmlinuz-5.15.0-46-generic
vmlinuz-5.16.0-12parrot1-amd64
vmlinuz-5.18.0-1parrot1-amd64
私が望む解決策は、次のようなグラブブートオプションを提供することです。
- オウム
- オウムの高度なオプション
- Ubuntu
- Ubuntuの高度なオプション
- Windows
助けてくれてありがとう。