web-dev-qa-db-ja.com

2つのLinuxディストリビューション、grubが他のディストリビューションを検出しない

私のPCには2つのLinuxディストリビューションlinux MintとDebianがインストールされています。どちらも個別のブートパーティションがあり、どちらもluks暗号化ボリュームにインストールされています。 Debianが最初にインストールされ、次にMintがインストールされました。 DebianはMintのインストール時にgrubによって検出されませんでした。ランニング update-grub MintもDebianを検出しません。 grubが両方のディストリビューションを検出するにはどうすればよいですか?

私のパーティション構造は次のとおりです:

sda
|---- sda1 (windows boot [ntfs])
|---- sda2 (windows [ntfs])
|---- sda3 (extended)
      |---- sda5 (debian boot [ext4]) mounted at /media/...
      |---- sda6 (debian root [crypt-luks]) mounted at /media/...
      |---- sda7 (mint boot [ext4]) mounted at /boot
      |---- sda8 (mint root [crypt-luks]) mounted at /

私のミントのインストールが実行されており、パーティションは上記のようにマウントされています。

Sudo os-prober

出力:

/dev/sda1:Windows 10 (loader):Windows:chain

そして、

Sudo update-grub

出力:

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.4.0-57-generic
Found initrd image: /boot/initrd.img-4.4.0-57-generic
Found linux image: /boot/vmlinuz-4.4.0-53-generic
Found initrd image: /boot/initrd.img-4.4.0-53-generic
Found memtest86+ image: /memtest86+.elf
Found memtest86+ image: /memtest86+.bin
Found Windows 10 (loader) on /dev/sda1
done

見つかった両方のLinuxイメージはミントイメージです。

5
omicronns

os-proberが2つのLinuxインストールを検出したとしても、GRUB2構成を生成しないため、あまり使用されませんでした。検出したものを機械可読形式で報告するだけです。

GRUBレガシー)とは異なり、GRUB2は手動の構成を必要とするツールがなく、生成された構成と手動の構成を組み合わせて使用​​します。

update-grubgrub-mkconfig のラッパーであり、/ boot内のカーネルを検出するために使用されるユーティリティです。 grub-mkconfigは、マウントされた/ bootを使用し(おそらく、/ etc/fstabに基づいて/ bootをマウントすることもできます)、Linuxインストールは個別の/ bootパーティションを使用するため、grub-mkconfigはLinuxの構成のみを生成します現在実行しているディストリビューション。 Debianからミントが検出されなかったのはそのためです。その逆も同様です。

幸い、/ etc/grub.d /にGRUB2構成スクリプトがいくつかあるはずです。このスクリプトを使用して、GRUB2メニューに手動でエントリを追加できます。

修正

両方のLinuxインストールを同じGRUB2メニューに入れるには、次のようにします。

GRUBのメンテナーになるLinuxインストールを選択してください

更新するLinuxシステムを選択する必要がありますGRUB from。たとえば、Debianを選択した場合、Mintからupdate-grubを実行しないことを自分に約束します。

他のLinuxインストール用のカスタムメニューエントリを追加する

これはLinuxディストリビューションごとに異なる場合がありますが、基本的には、適切な構成ファイルを編集して、otherLinuxインストールのメニューエントリを追加する必要があります。たとえば、GRUB2の管理にDebianを選択した場合、Mintのメニューエントリを手動で追加する必要があります。

Update-grub/grub-mkconfigを実行します。

update-grubを実行すると、/ bootで検出されたすべての組み合わせと、他のLinuxインストールの手動構成を組み合わせて、両方を起動できるGRUBメニューを生成します。 OS。

追加のリソース

Gentoo LinuxのGRUB2ドキュメント を見てください。これはプラグインではありません。Debianの同等のドキュメントよりも詳細であり、正しい方向を示すのに役立つ場合があります。

1
Emmanuel Rosa