自分のディスクにEndeavourをインストールしたマシンがあります。 Windowsを検出してgrubに追加できるようにOS検出器を設定しましたが、システムが見つかりましたが起動に失敗しました。関連情報:
sudo os-prober
[sudo] senha para vfbsilva:
/dev/nvme0n1p2:Manjaro Linux (23.1.0):ManjaroLinux:linux
/dev/sdd2@/efi/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi
その後、アイテムを更新します。
sudo grub-mkconfig -o /boot/grub/grub.cfg
Gerando o arquivo de configuração do grub...
Plano de fundo encontrado: /usr/share/endeavouros/splash.png
Imagem Linux encontrada: /boot/vmlinuz-linux
Imagem initrd encontrada: /boot/amd-ucode.img /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: amd-ucode.img initramfs-linux-fallback.img
Aviso: os-prober será executado para detectar outras partições de arranque.
A sua saída será usada para detectar binários de arranque nessas partições e criar novas entradas.
Encontrado Manjaro Linux (23.1.0) em /dev/nvme0n1p2
Encontrado Windows Boot Manager em /dev/sdd2@/efi/Microsoft/Boot/bootmgfw.efi
A adicionar entrada de menu para UEFI Firmware Settings ...
concluído
EndeavourとManjaroが起動しますが、Windowsは起動しないという問題があります。私はfastbootを使用していません。manjaros grubはWindowsのインストールにアクセスできます。グラップエラーは次のとおりです。
これはかなり明白な問題だったので、grubカスタムプログラムをインストールし、次のように試しました。
insmod part_gpt
insmod fat
set root='hd3,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd3,gpt2 --hint-efi=hd3,gpt2 --hint-baremetal=ahci3,gpt2 3E6D-7A34
else
search --no-floppy --fs-uuid --set=root 3E6D-7A34
fi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
For the windows loader. The manjaro loader has:
savedefault
insmod part_gpt
insmod fat
set root='hd3,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd3,gpt2 --hint-efi=hd3,gpt2 --hint-baremetal=ahci3,gpt2 3E6D-7A34
else
search --no-floppy --fs-uuid --set=root 3E6D-7A34
fi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
So they are equal hence I cannot grasp the problem.
I think it mighrt be related to:
ls /boot/efi/EFI/
boot/ endeavouros/
Microsoftのエントリはありません。ところで、なぜそうなのでしょうか?
答え1
GRUB構成では、WindowsのUEFIブートローダ/ブートマネージャが、ボリュームシリアル番号3E6D-7A34のFATファイルシステムにあると想定しています。
しかし、エラーメッセージは、これが真でない可能性があることを示しています。
lsblk -o +uuid
ファイルシステムとそのUUID(FATファイルシステムの場合は実際のUUIDがないため、ボリュームのシリアル番号)のリストを表示するには実行する必要があります。報告されたUUIDは何に使用されますか/dev/sdd2
? 3E6D-7A34でない場合は、search
Windowsブロックの内側の行に正しい値を配置する必要がありますgrub.cfg
。
EndeavourOSは別のディスクにあるため、独自のブートローダのみを含む独自のEFIシステムパーティション(ESP)があります。おそらく、os-prober
すべてのオペレーティングシステムが1つのESPを共有すると予想されるので、生成された設定は間違ったディスク/パーティションを参照しますか?