최근에 시스템을 UEFI 부팅으로 마이그레이션했습니다.
시스템은 SATA 하드 드라이브가 장착된 HP EliteBook 840 G1입니다. 우분투는 유일한 운영 체제입니다.
디스크를 GPT로 변환하고, 필요한 파티션을 추가하고, 마운트하고 grub-efi-amd64
, 실행했습니다 grub-install --target=x86_64-efi /dev/sda
. (내 bash 기록에 따르면 이것은 얼마 전에 수행되었습니다.)
시스템을 재부팅하면 Ubuntu로 직접 부팅되었습니다.
그러나 첫 번째 콜드 부팅 후 시스템이 제대로 부팅되지 않았습니다. 먼저 LAN에서 부팅을 시도한 다음 운영 체제가 설치되지 않았다는 메시지가 나타나고 시스템 진단을 위해 F2를 누르라는 메시지가 나타났습니다. 이렇게 하고 진단 도구를 종료하자 Ubuntu가 나타났습니다.
BIOS 설정에서 부팅 순서를 조작해 보았습니다. SATA 디스크에서 부팅하는 옵션은 없습니다(그러나 설치된 경우 M.2 SSD에서 부팅하는 옵션은 있습니다). 그래서 OS 부팅 관리자를 맨 위로 옮겼지만 소용이 없었습니다. 여전히 같은 오류가 발생합니다.
무엇을 제공합니까?
답변1
GParted의 다른 시스템과 파티션 테이블을 비교한 후 EFI 시스템 파티션에 잘못된 플래그가 설정되어 있음을 발견했습니다. 즉, msftdata
설정 시 설정되었지만 boot
누락 esp
되었습니다.
그 외에는 이전 해결 방법 시도를 취소하고 OS 부트로더를 부팅 순서의 맨 위로 옮겼습니다.
이제 시스템은 여러 번 중단되었으며 더 이상 매번 수동 개입이 필요하지 않습니다.
이전 방법(아래 참조)은 한동안 작동하는 것처럼 보였지만 다음 시도에서는 이전 동작이 다시 발생했습니다.
다음 경로를 사용하여 사용자 정의 시작 항목을 추가하여 문제를 해결했습니다.
\EFI\ubuntu\grubx64.efi
귀하의 시스템에서는 상황이 다를 수 있습니다. /boot/efi
EFI 파티션을 찾아보고 .efi
거기에서 파일을 찾으십시오. 첫 번째 문자를 제거하고 /boot/efi
(예: /boot/efi/EFI/ubuntu/grubx64.efi
로 변경 \EFI\ubuntu\grubx64.efi
) 이를 사용자 정의 시작 항목으로 구성합니다.
사용자 정의 시작 항목이 목록의 맨 위에 있는지 확인하십시오(그러면 시스템이 실수로 의도한 것과 다른 항목에서 실행을 시도하지 않도록).
이제 시스템은 콜드 부팅 후에도 Ubuntu로 직접 부팅됩니다.
참고: 내 시스템에는 또 다른 항목이 있습니다 \EFI\BOOT\BOOTX64.EFI
. 이것이 grub 항목과 다른지 확실하지 않습니다.