複数のLinuxディストリビューションの共通/ bootパーティションを作成するには?

複数のLinuxディストリビューションの共通/ bootパーティションを作成するには?

私はWindowsと2つのLinuxディストリビューション、つまりParrot OS Electro AraとUbuntu 20.04をマルチブートしようとしています。 grubとブートローダはもともとParrot OSによってインストールされました。そのため、邪魔にならないようにブートローダなしでUbuntuをインストールしました。なぜなら、ubiquity -bParrot自体のグラブを使いたかったからです。

しかし、私も同じことを使っています。/開始するパーティション(/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/bootefiパーティションはデフォルトで共有されます)

/dev/nvme0n1p15でubuntuが検出されたことを示すメッセージが表示されますが、ソースコードを表示したり、grub画面から起動すると、オウムOSに直接接続されます。問題は、オウムオペレーティングシステムがUbuntuのinitramfsファイルとvmlinuzファイルから起動し、問題なくオウムで起動することです。また、Ubuntuで試してみるとupdate-grubParrot 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

助けてくれてありがとう。

ベストアンサー1

おすすめ記事