불규칙한 애벌레 행동. 듀얼부팅하고 리눅스 재설치!

불규칙한 애벌레 행동. 듀얼부팅하고 리눅스 재설치!

Ubuntu와 Windows 10을 듀얼 부팅했는데 훌륭하게 작동합니다. 내 컴퓨터의 Ubuntu 성능이 느려서 듀얼 부팅을 유지하면서 Elementary OS로 교체하고 싶습니다. E OS iso를 부팅하고 다른 것을 선택한 다음 우분투 파티션을 삭제하고 새 파티션을 만들고 그 위에 기본 요소를 설치했습니다. 이론적으로는 작동해야 합니다. 재부팅하면 바로 Windows 10으로 부팅됩니다. BIOS가 Windows를 Linux보다 높은 우선순위로 부팅하도록 설정할 수 있다는 것을 알고 있습니다. 그래서 BIOS에 들어가서 순서를 변경했습니다. 이제 나는 grub 프롬프트에 있습니다. 다음 명령을 사용하여 Elementary로 부팅합니다.

set prefix=(hd0,7)/boot/grub
set root=(hd0,7)
insmod normal
normal

나는 Elementary OS에 오신 것을 환영했습니다. 이제 다음을 실행합니다.

sudo update-grub

모든 것이 잘 진행되었습니다. 노트북을 다시 시작하고 제대로 작동한다고 생각했습니다! 다음으로 grub 프롬프트를 다시 입력했습니다. Elementary를 시작하기 위해 위의 명령을 입력하면 grub 메뉴가 나타납니다! 모든 항목에 대해 작동합니다(Windows 및 Elementary OS로 부팅할 수 있습니다).

Google 검색을 해보니 아직 실행하지 않았음을 알게 되었습니다 sudo grub-install /dev/sda. 그래서 나는 초등학교로 돌아가서 그것을 가지고 달렸습니다. "'bios boot'라고 표시된 GPT 파티션을 찾을 수 없습니다"라는 오류가 발생했습니다. 잠시 동안 다시 인터넷 검색을 한 후에 "bios_grub" 플래그를 사용하여 새 파티션을 만들어야 했습니다. (왜? 이런 일은 전혀 효과가 없었습니다.) 그랬습니다. 문제는 동일하게 유지됩니다. (계속 BIOS를 사용하여 Windows를 부팅하거나 grub 프롬프트에 명령을 입력하고 둘 중 하나로 부팅할 수 있습니다!)

편집 : 나는 보았다이 답변이 질문을 쓰면서 해보고 싶었어요. 그러나 /boot/grub 디렉토리에 grubx64.efi가 없습니다! EFI 모드에서 OS dmesg | grep "EFI v"를 설치하지 않고 [ 0.000000] efi: EFI v2.31 by American Megatrends.

답변1

이 플래그가 있는 파티션은 bios_grubGPT 파티션 디스크에서 레거시 MBR 스타일 부트 로더를 사용하려는 경우에만 적합합니다.

파일을 확인 하고 사용하려는 실제 디스크를 /boot/grub/device.map식별하는지 확인해야 합니다.(hd0) (hd0)Elementary OS를 시작할 때. GRUB의 UEFI 버전을 다시 설치하기 전에 이 작업을 수행하십시오(아래 참조).

UEFI 부트로더 파일의 이름은 반드시 지정되지는 않습니다 grubx64.efi. 그냥 grub.efi또는 기본적으로 everything.efi일 수 있습니다. efibootmgr -vUEFI GRUB 부트 로더를 로드하기 위해 UEFI에서 사용하는 정확한 경로 이름을 보려면 실행하세요 . 경로 이름은 EFI 시스템 파티션(ESP 파티션이라고도 함)의 루트에 상대적입니다. 이는 Windows 부트 로더도 포함하는 작은 FAT32 파티션입니다. 이 efibootmgr명령은 일반적으로 Unix/Linux 스타일 슬래시를 사용하는 대신 Windows 백슬래시 규칙을 사용하여 시작 파일 경로 이름을 표시합니다.

일부 Linux 배포판은 기본적으로 ESP 파티션을 전혀 마운트하지 않습니다. 부트로더를 다시 설치해야 할 때만 마운트합니다. 다른 배포판은 ESP 파티션을 /boot/efi. ESP 파티션이 마운트된 경우 Linux에서 표시되는 Windows UEFI 부트로더의 전체 경로 이름은 /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi.

/EFI/<vendor name>UEFI 표준에서는 부트로더가 ESP 파티션의 하위 디렉터리에 있어야 한다고 요구합니다 . 따라서 Elementary의 UEFI GRUB 부트로더는 /boot/efi/EFI/<something>/<something>.efi.

시스템의 명령은 grub-install적어도 기본적으로 전통적인 스타일의 GRUB 부트 로더를 설치하려고 시도하는 것 같습니다. (재)설치 중인 부트로더의 UEFI 버전을 명시적으로 지정하기 위해 --target유사한 옵션을 사용해야 할 수도 있습니까 ?sudo grub-install --target=x86_64-efi /dev/sda

관련 정보