
現在、マイコンピュータにはWindows 7とUbuntu 11.04(Natty)がインストールされています。また、FreeBSD liveUSB(またはインストーラ、わからない。.imgdd
をUSBスティックで編集する)を作成し、ブートローダをインストールせずにインストールしました(GRUB 2を台無しにしたくなく、GRUB 2があるべきだと思うからです) 。ほとんどのことを始めることができます)。 FreeBSDには独自のパーティションがあり、内部にはインストーラによって自動的に割り当てられるFreeBSDパーティションがあります(スライスといいますか?)。私は実行してみましたが、update-grub
不明なLinuxと出てきて、それにエントリを追加しません。
したがって、2つの質問があります。
- Ubuntuツールや私が持っているUSBインストールスティックの使用についてGrubに知りたいパーティションをどのように見つけますか?
- パーティションを見つけたら、その中に何を入れるべきですか
/etc/grub.d/40_custom
?
答え1
3つのオプションがあります。 GrubにFreeBSDが不明なオペレーティングシステムで処理され、FreeBSDの1段階ブートローダをチェーンロードするようにするか、GrubにFreeBSDの2段階ブートローダをロードさせるか、GrubにFreeBSDの2段階ブートローダをロードさせるあります。
チェーンローディング
これは最も簡単で信頼できる方法です。必要なのは、独自のスライスにFreeBSDブートローダをインストールするだけです(*BSDのスライスは、LinuxとWindowsでパーティションと呼ばれるものです)。その後、/etc/grub.d/30_os-prober
Grubは実行時に自動的に(経由で)それを見つけなければなりませんupdate-grub
。の項目は/boot/grub/grub.cfg
次のとおりです(FreeBSDが/dev/sda2
akaにある場合/dev/wd0s2
)。
menuentry "FreeBSD" {
set root=(hd0,2)
chainloader +1
}
FreeBSDブートローダまたはカーネルロード
GRUB2現在サポートされていますすべての主要なBSDカーネル(コンピュータがBIOSから起動すると仮定)インストールスクリプト(少なくともUbuntu 10.04に付属のスクリプト、11.04はチェックされていません)がないので、このパスを選択した場合/etc/grub.d/40_Custom
。
以下はサンプル項目です。FreeBSDフォーラムのDavid Marecによって書かれました。まだテストしていませんが、合理的に見えます。最良の方法はFreeBSD 2段階ブートローダをロードするようです。 FreeBSDのインストール場所をディスク番号、スライス番号、パーティションとして指定できますa
。
menuentry "FreeBSD (/boot/loader)" {
insmod ufs2
set root=(hd0,1,a)
kfreebsd /boot/loader
}
または経由探す特定のUUID、ファイル、またはラベルを持つファイルシステム:
menuentry "FreeBSD (/boot/loader)" {
insmod ufs2
search --no-floppy --file /boot/loader
kfreebsd /boot/loader
}
答え2
特定のUUID、ファイル、またはラベルを使用してファイルシステムを検索します。
menuentry "FreeBSD (/boot/loader)" {
insmod ufs2
search --no-floppy --file --set=root /boot/loader
kfreebsd /boot/loader
}
または:
menuentry "FreeBSD (/boot/loader)" {
insmod ufs2
search --no-floppy --file /boot/loader --set=root /boot/loader
kfreebsd /boot/loader
}
答え3
ランニングを検討したことがありますかupdate-grub
?これにより、GRUBシステムとそのプロジェクトのリストが自動的に更新されます。