Arch とのデュアルブート後、Ubuntu が grub メニューに表示されない

Arch とのデュアルブート後、Ubuntu が grub メニューに表示されない

以前、私のラップトップには Ubuntu/dev/sda5とスワップ メモリしか入っていなかった/dev/sda6ので、grub メニューからログインしました。Arch をインストールして/dev/sda1スワップ メモリをオンにし/dev/sda2、再度 grub メニューをインストールしました。今、ラップトップを起動すると、grub メニューには Arch Linux しか表示されません。Ubuntu も grub メニューに表示されるようにするにはどうすればよいでしょうか? を/dev/sda5「起動可能」にしてみましたcfdiskが、役に立ちませんでした。

出力lsblk:

NAME        MAJ:MIN     RM   SIZE    RO TYPE     MOUNTPOINT
sda          8:0         0   238.5G  0  disk
├─sda1       8:1         0   194.5M  0  part     /
├─sda2       8:2         0       4M  0  part    [SWAP]
├─sda4       8:4         0       1K  0  part
├─sda5       8:5         0    36.2G  0  part
`─sda6       8:6         0     3.8G  0  part

インストール中に実行されるコマンドgrub:

grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

答え1

os-proberUbuntu パーティションをインストールしてマウントします。

他のオペレーティングシステムの検出

grub-mkconfig がインストールされている他のシステムを検索し、それらを自動的にメニューに追加するには、os-prober パッケージをインストールし、他のシステムを含むパーティションをマウントします。その後、grub-mkconfig を再実行します。

またはUbuntuを追加します/etc/grub.d/40_custom:

デュアルブート

他のディストリビューションがパーティション sda2 にあると仮定します。

menuentry "Other Linux" {
    set root=(hd0,2) #  In your case : set root=(hd0,5)
    linux /boot/vmlinuz # (add other options here as required)
    initrd /boot/initrd.img # (if the other kernel uses/needs one)
}

関連情報