![GRUB이 Windows ESP를 찾을 수 없습니다.](https://linux55.com/image/110111/GRUB%EC%9D%B4%20Windows%20ESP%EB%A5%BC%20%EC%B0%BE%EC%9D%84%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
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
리눅스 내부:
# 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
...