web-dev-qa-db-ja.com

GRUB2を使用してDebianとFreeBSDをどのようにデュアルブートしますか?

私は、Debianインストールと一緒にFreeBSDを単一のパーティションにインストールしようとしています。インターネット上にすぐに存在するすべての例には欠点がありました。

  1. GRUB2が「無効な署名」で受け入れることを拒否した方法でFreeBSDチェーンローダーをチェーンロードする必要があるものもありました。
  2. FreeBSDをBSDディスクラベルの中にインストールしたと仮定する人もいます。
  3. デバイスの順序を変更した後、またはサーバー間でデバイスを移動した後、ソリューション(/ boot/loaderのロードを含む)は起動しません。
  4. Debianで機能するソリューションはありません。DebianでのGRUB2オプションの命名は、たとえば、 Ubuntu。

では、どうすればDebianとFreeBSDを最も信頼できる方法でデュアルブートできるでしょうか。

6
Fuyash Porchant

/etc/grub.d/40_customに以下を追加して、UUIDをgrub-probe -d /dev/sda2 -t fs_uuidで検出されたディスクのUUIDに置き換えます。

menuentry 'FreeBSD' {
   insmod ufs2
   insmod bsd

   search --fs-uuid --no-floppy --set=root UUID

   kfreebsd /boot/kernel/kernel
   kfreebsd_loadenv /boot/device.hints

   set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ufsid/UUID
   set kFreeBSD.vfs.root.mountfrom.options=rw
}

他のディストリビューションやGRUBバージョンの場合、kfreebsdをfreebsdだけに変更する必要があるかもしれないことに注意してください。

参照:

4
Fuyash Porchant

私は、UbuntuのGRUB 2、すべてEFIの下で)を使用してデュアルブートFreeBSD 11.0とUbuntu 16.04を探しているときに、これを偶然見つけました。

最終的に、ダイレクトブートで多くの問題が発生しましたが、FreeBSDのチェーンロードは成功しました。シンプルな chainloader +1はうまくいきませんでした。

menuentry "FreeBSD 11.0 chainload" {
    insmod part_gpt
    insmod fat
    root = hd0,7
    chainloader /efi/boot/bootx64.efi
}

update-grub。上記の答えがefiで機能するような単純なものを見逃した可能性があります。

0
stites

以前、kubuntuとubuntuでデュアルブートを試みているときにgrub2を使用しました。私はこのチュートリアルを使用しました: http://www.dedoimedo.com/computers/grub-2.html#mozTocId16468 。それは非常に役に立ち、非常に信頼できました。

"デュアルブート:GRUB 2の2つのオペレーティングシステム

これはおそらく最も単純なデュアルブート構成です。どちらのオペレーティングシステムもGRUB 2を使用しているため、相互に簡単にやり取りできます。2つのシステムはUbuntu9.10とKubuntu9.10で、どちらもExt4でフォーマットされています。」

これがこれを使おうとしている人に役立つことを願っています。

0
The Dark Knight