FreeBSDの初心者はここにあります。
私は240GB SSDにWindows 10、Debian Linux、最近FreeBSDをインストールし、ファイル保存専用の1TB HDDを使用しています。利用可能な手順に注意を払ったので、FreeBSDのインストールは非常に順調に進みましたが、GRUBを認識するのが難しいため、システムから起動できませんでした。
編集しました。/etc/grub.d/40_customGRUBを更新する前に、次のコードを追加しました。
menuentry "FreeBSD" {
insmod ufs2
set root=(hd0,gpt3)
kfreebsd /boot/loader
}
一つ作るグラップアップデート、端末は私に以下を出力します。
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Imagem Linux encontrada: /boot/vmlinuz-4.19.0-6-amd64
Imagem initrd encontrada: /boot/initrd.img-4.19.0-6-amd64
Imagem Linux encontrada: /boot/vmlinuz-4.19.0-5-amd64
Imagem initrd encontrada: /boot/initrd.img-4.19.0-5-amd64
Encontrado unknown Linux distribution em /dev/sda6
Encontrado Windows Boot Manager em /dev/sdb1@/efi/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for EFI firmware configuration
concluído
出力fdisk -l次のように:
Disco /dev/sda: 223,6 GiB, 240065183744 bytes, 468877312 setores
Modelo de disco: SanDisk SSD PLUS
Unidades: setor de 1 * 512 = 512 bytes
Tamanho de setor (lógico/físico): 512 bytes / 512 bytes
Tamanho E/S (mínimo/ótimo): 512 bytes / 512 bytes
Tipo de rótulo do disco: gpt
Identificador do disco: 51AF3127-339F-4F6D-A1D0-4A7E66BCEBDE
Dispositivo Início Fim Setores Tamanho Tipo
/dev/sda1 34 32767 32734 16M Microsoft reservado
/dev/sda2 32768 305035263 305002496 145,4G Microsoft dados básico
/dev/sda3 305035264 305036287 1024 512K FreeBSD inicialização
/dev/sda4 367949824 368158719 208896 102M Sistema EFI
/dev/sda5 368158720 468875263 100716544 48G Linux sistema de arquivos
/dev/sda6 305036288 367949823 62913536 30G FreeBSD UFS
設定してみましたルート=(hd0,gptX)3と6に移動して「gpt」を削除し、多くのことをしましたが、何も機能しませんでした。私の出力はまだ同じです。
error: disk 'hd0,gpt3' not found.
GRUBがどのようにこれらのパーティションを認識しないのかわかりません。たぶん私が間違って設定したかもしれません。 Windows 10とDebianは問題なく正常に起動します。
ベストアンサー1
(hd0)
GRUBラベルが何を指しているのか/dev/sda
?存在する場合は、/boot/grub/device.map
最小限sda
とそれがあるように見えるため、他のタグの順序を定義できますsdb
。
ちょっと待ってください...システムがデフォルトのUEFIスタイルで起動しても、BIOSスタイルのFreeBSD起動パーティションを作成したようです。これらのパーティションのブートコードは従来の16ビットコードであり、UEFIには最新の64ビットコードが必要なため、この方法は機能しない可能性があります。
従う必要があるガイドラインは、GPTパーティションがある場合でもシステムがレガシーBIOSモードで起動することを前提としています。デフォルトのUEFI Windowsブートローダ/dev/sdb1
と「EFIファームウェアを設定するための起動メニュー項目の追加」は、システムが現在この方法で動作するように設定されていないことを示します。
代わりに、FreeBSD の GRUB 構成を使用して、次のことができます。
menuentry "FreeBSD" {
insmod ufs2
search --file --set root --no-floppy /boot/loader.efi
chainloader /boot/loader.efi
}
Googleが検索する内容を正しく理解したら(最新のFreeBSDを使用していない)、デバイスでBSDローダーコードのUEFIバージョンを見つけて/dev/sda6
そこから直接ロードする必要があります。(hdN)
GRUBが割り当てられているかに関係なくです。どのラベルにsda
。
UEFIの「標準」方法は、/EFI/FreeBSD
EFIシステムパーティションにディレクトリを作成し(明らかに/dev/sda4
)FreeBSDを/boot/loader.efi
ここにコピーすることです。ただし、GRUBにはUFS2を直接読み取るモジュールがあるため、上記のコードも正しく機能します。
/dev/sda4
Debian が通常と同じように現在インストールしている場合は、/boot/efi
標準の UEFI スタイル FreeBSD ブートディレクトリを に作成する必要があります/boot/efi/EFI/FreeBSD
。
UEFIはすべてのブートローダをESPパーティションの通常のファイルとして簡単に処理できるため、独立したFreeBSDブートパーティションはまったく必要ありません。完全なFreeBSDブートコードをこのloader.efi
ファイルに含めることができます。