물리적 Ubuntu_18.04 시스템을 가상 시스템(vCenter 제어 하의 ESXi)으로 변환한 후 시작 시 다음 창이 나타났습니다.
"exit" 명령을 입력하면 시스템이 일반 메뉴를 로드한 다음 모든 것이 제대로 작동합니다.
명령줄로 이동하여 "exit"를 입력하지 않고 부트로더가 메뉴를 즉시 로드하도록 하려면 어떻게 해야 합니까?
추신: 구조 유틸리티를 실행해 보았더니 성공했다고 했지만 도움이 되지 않았습니다.
Bootorder를 0003으로 변경하면 sudo efibootmgr -o 0003,000A,0000,0001,0002,0004,0009,0005,0006,0007,0008 BootCurrent: 0003 BootOrder: 0003,000A,0000,0001,0002,0004, 009 ,0005,0006,0007,0008 전혀 로드되지 않습니다.
이것은 도움이 되지 않습니다.
답변1
lsblk -o +HCTL,PARTUUID
넓은 터미널 창에서 실행 해주세요 .
출력 efibootmgr -v
은 다음을 나타냅니다.
BootCurrent: 0003
이 줄을 사용하여 시스템이Boot0003
성공적으로 시작되었음을 나타냅니다.BootOrder
Boot0003
전체 부팅 순서에서 성공 순위가 5위임을 나타냅니다.- 이
Boot0003
줄은 디스크를 로 식별.../SCSI(3,0)
하므로 GRUB의 작동 버전이 있는 디스크를 식별하려면HCTL
위lsblk
명령의 필드를 살펴보고 HCTL 필드에 숫자 3이 포함된 디스크를 확인하세요. - BootOrder의 첫 번째 항목은
Boot000A
PARTUUID 값을 사용하여 부팅할 파티션을 지정합니다 . 출력 필드를75d67bdc-e92a-47f3-6816-e6f03bed26e9
보고 디스크를 식별합니다.PARTUUID
lsblk
0003
부팅 순서의 이전 부팅 항목 중 하나에 잘못된 GRUB 설치가 포함된 것 같습니다 . 아마도 이전 설치의 남은 부분이거나 /boot/grub
디렉터리를 찾는 데 사용하는 파일 시스템 UUID가 복제 프로세스 중에 변경되었을 수 있습니다. GRUB 인스턴스가 종료되면 펌웨어는 Boot0003
유효한 부트 로더에 대한 항목을 찾을 때까지 부팅 순서 목록을 진행합니다. 이는 대체/이동식 미디어 경로, 즉 EFI/BOOT/BOOTx64.efi
어떤 파티션에 있든 있을 수 있습니다.
/boot/efi/
"완벽한" 수정은 ESP 파티션(에 마운트되어야 함 ) 이 포함된 디스크의 Linux 장치 이름을 식별한 후 다음을 실행하는 것일 수 있습니다 .
sudo grub-install --target=x86_64-efi /dev/sdX
/dev/sdX
ESP 파티션이 포함된 전체 디스크 장치의 이름으로 바꿔야 합니다. 그러면 GRUB가 ESP 파티션에 자동으로 다시 작성되고 efibootmgr -v
활성 GRUB 인스턴스를 올바르게 가리키도록 목록이 업데이트됩니다 .
디스크가 인식되지 않으면 해결 방법으로 다음 명령을 사용할 수 있습니다.
sudo efibootmgr --bootorder 0003,000A,0000,0001,0002,0004,0005,0006,0007,0008,0009
이렇게 하면 작동하는 부팅 항목을 부팅 순서의 첫 번째 부팅 항목으로 배치하도록 펌웨어에 지시하므로 작동하지 않는 부팅 항목을 종료할 필요가 없습니다. 즉각적인 문제를 해결해야 하지만 나중에 커널이나 GRUB 업데이트를 설치하거나 활성화하면 문제가 발생할 수 있습니다. 시스템을 성공적으로 부팅한 GRUB 인스턴스가 패키지를 관리하기 위해 업데이트할 인스턴스와 동일한지 확인할 방법이 없기 때문입니다. 체계.