内部にはMBRパーティションディスクを含むボックスがあります。
4つの基本パーティションがあります。これらは:
- Windows
- DragonFly BSD(UFS2を使用)
- Linux
- DragonFly BSD(HAMMERを使用)
UFS2用DragonFlyを使用してチェーンローディングが可能です。
GRUB 2はブートローダです。
HAMMERを使用してGRUBからDragonFlyをロードできませんでした。
には何を含めるべきですか/etc/grub.d/40_custom
?
答え1
DragonflyBSDは、デフォルトでスライス分割(BSD用語またはLinux用語でパーティションのサブパーティション)中にdisklabel32の代わりにdisklabel64を使用します。残念ながら、disklabel64はGRUBとGRUB2には表示されません。 GRUBに表示したいいくつかの議論と試みを見ましたが、実際に動作するかどうかはわかりません。また、HAMMER-fs は GRUB には表示されません。 (ただし、/boot
DFlyBSDはUFSのようです。)GNU / Linux用HAMMER-fsの読み取り専用FUSE実装を見たことがありますが(Google:「Hammerfs for Linux」)、まだ試していません。 Linuxカーネルは最初にdisklabel64-edスライスをチェックする必要があるからです。 HAMMERパーティションがあることを確認してください。したがって、HAMMER-FUSEを試すには、すべてのDragonflyBSDパーティションをdl64-sliceからdl32-sliceに移動するか、BSDラベルではなくMBRパーティション/ EBRパーティションに分割する必要があります。
したがって、最も簡単な方法はチェーンローディングです。
メニュー項目「トンボBSD x64@(HDX、はい)"{ ルート設定=(HDX、msdosはい) チェーンローダー+1 }
答え2
次の場所でGrub2モジュール「part_dfly」を見つけることができることがわかりました。 [ブートパーティション]/boot/grub/i386-pc. PCで使用されているカーネルモジュールのリストは、以下にあります。【あなたのトンボパーティション】/boot/loader.conf.ちょうど私の"kfreebsd_module_elf /kernel/を変更してください。.ko"をloader.confからあなたのものにインポートします。
Grub2はdfly-partition-shemeをロードし、UFS2(/ boot)パーティションからカーネルとRAMディスクイメージをロードし、DF-BSDはHammer-FS(ルート)をロードします。したがって、 "/boot"パーティションはGrub2とDF-BSDの両方で読み書き可能でなければなりません。この役割の唯一の候補はUFSとUFS2です。
Grub2は大文字と小文字を区別するため、「kfreebsd_module」は「小文字」を使用して作成する必要がありますが、「set kFreeBSD」は大文字と「小文字」の両方を使用して作成する必要があります。したがって、次のように試すことができます。
menuentry "Dragonfly BSD x64 @ (hdX,Y)" {
insmod part_msdos
insmod part_dfly
insmod ufs2
set root=(hdX,msdosY)
kfreebsd /kernel/kernel
kfreebsd_loadenv /boot/device.hints
kfreebsd_module /kernel/initrd.img type=md_image
kfreebsd_module_elf /kernel/acpi.ko
kfreebsd_module_elf /kernel/ahci.ko
kfreebsd_module_elf /kernel/ehci.ko
kfreebsd_module_elf /kernel/dm.ko
kfreebsd_module_elf /kernel/md.ko
kfreebsd_module_elf /kernel/dm_target_crypt.ko
kfreebsd_module_elf /kernel/wlan.ko
kfreebsd_module_elf /kernel/wlan_ccmp.ko
kfreebsd_module_elf /kernel/wlan_tkip.ko
kfreebsd_module_elf /kernel/ath_hal.ko
kfreebsd_module_elf /kernel/ath_rote.ko
kfreebsd_module_elf /kernel/if_ath.ko
kfreebsd_module_elf /kernel/sound.ko
kfreebsd_module_elf /kernel/snd_hda.ko
set kFreeBSD.vfs.root.mountfrom=ufs:md0s0
set kFreeBSD.vfs.root.realroot=crypt:hammer:\
/dev/serno/<your_partition_serno>:dragon
}
代わりに暗号化されていないハンマーパーティションを使用する場合:
set kFreeBSD.vfs.root.mountfrom=ufs:md0s0
set kFreeBSD.vfs.root.realroot=crypt:hammer:\
/dev/serno/<your_partiton_serno>:dragon
ちょうど使用:
set kFreeBSD.vfs.root.mountfrom=\
hammer:/dev/serno/<your_partition_serno>:dragon
頑張ってください!
答え3
Dragonfly オペレーティングシステムは boot0 ブートローダを使用します。したがって、
Dragonflyをインストールしてください。パーティションにboot0(「blocks smth」と呼ばれる)をインストールすることをお勧めします。どこでもインストールしてください。
次に、別のLinuxオペレーティングシステムをインストールします。
次に、次を追加してDragonflyをチェーンロードできます。
menuentry "ctu" {
insmod chain
chainloader (hd0,2)+1
}
到着する/etc/grub.d/40_custom
。 Dragoflyは2番目の部分にインストールされます。
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
これらすべてはcentosによって異なります。