ESPが2つありますが、これは問題かもしれませんが、GRUB SETを使用して手動で起動できるため、解決できるようです。とにかく、私の設定は次のとおりです。別のコンピュータで再入力したときに発生する可能性のある一部のタイプミスは無視してください。
fdisk -l
/dev/sda1 Windows recovery
/dev/sda2 EFI system
/dev/sda3 Microsoft reserved
/dev/sda4 Microsoft basic data
/dev/sda5 Windows recovery
/dev/sda6 EFI System (linux)
/dev/sda7 Linux fs
Linux内部:
# grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
4C77-A2D0
# grub-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
--hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2
したがって、GRUBエントリでは次のように使用します。
insmod part-gpt
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 4C77-A2D0
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
これにより、Windowsから起動しようとすると、次のエラーが発生します。
error: unspecified search type
error: file '/EFI/Microsoft/Boot/bootmgfw.efi' not found.
だからGRUBコマンドラインを入力してください。
grub> set
...
cmdpath=(hd1,gpt6)/EFI/grub
...
grub> search.fs_uuid 4C77-A2D0
hd1,gpt2
私はhd0の代わりにhd1にいます。 grubはUUIDとして見つけることができます。検索のためにメニュー項目のプロンプト文字列を変更しようとしましたが、hd1,gpt2
まだ同じエラーが発生します。私もそれを試しましたdrivemap -s hd1
。まだパーティションが見つかりません。
私の質問は、GRUBが別のhd#を表示する理由です。パーティションを見つけるにはどうすればよいですか?
答え1
# grub-mkconfig -o /boot/grub/grub.cfg
編集してから忘れてしまいました/etc/grub.d/40_custom
…