GRUB Rescue - 부팅 및 접두사를 반복해서 설정

GRUB Rescue - 부팅 및 접두사를 반복해서 설정

저는 우분투 코딩에 대해 거의 아는 바가 없습니다. 저는 현재 우분투 16.04 LTS와 Windows 10을 듀얼 부팅하고 있습니다. 모든 것이 괜찮았습니다. 그런데 오늘 오류가 발생했습니다.

"파일 시스템을 찾을 수 없습니다"

그리고 grub구조가 시작됩니다. 얼마 동안 검색한 후 다음을 수행하라는 솔루션을 찾았습니다.

ls
set prefix=(hd0,msdos5)/boot/grub
insmod normal
normal

나는 그것이 ls하드 드라이브 파티션을 나열하고 있다는 것을 알고 있습니다(내가 틀렸다면 알려주세요). 그런 다음(에서 set prefix) 파티션을 선택해야 합니다. msdos5를 선택할 때 오류가 발생했습니다. 몇 번의 시도 끝에 msdos6을 선택했습니다. 그런 다음 실행되었습니다. 하지만 문제는 이 문제에 대한 다른 솔루션에서 다음 코드를 작성했다는 것입니다.

set boot=(hd0,msdos6)

내가 엉망으로 만든 것 같아요. 아마도 하드 디스크의 어느 파티션이 부팅되는지와 관련이 있을 것입니다. 이제 이 코드를 작성한 후 내 노트북이 실행되고 있으며 노트북을 켤 때마다 부팅이 시작 부분에서 멈춰 동일한 오류가 표시되며 매번 코드를 작성해야 합니다. 노트북을 실행해야 할 시간입니다. 이 문제를 어떻게 해결할 수 있나요? 아마도 부팅 중인 파티션(msdos*)도 알아야 하는데 그것을 찾는 방법을 모르겠습니다.

답변1

grub rescue>부팅 시 메시지가 표시되고 다음과 같은 코드를 작성해야 하는 경우 이러한 유형의 문제에 대한 해결책이 있습니다 .

grub rescue> ls
grub rescue> set boot=(hd0,msdos*)
grub rescue> set prefix=(hd0,msdos*)/boot/grub
grub rescue> insmod normal
grub rescue> normal

부팅 후 Linux/Ubuntu 기반 OS가 로드된 후 터미널을 열고 다음 명령을 작성합니다.

useranf@ ~ $ sudo update-grub

그런 다음 다음 명령을 입력하십시오.

useranf@ ~ $ sudo grub-install /dev/sda

이 작업이 끝나면 마지막으로 시스템을 재부팅하십시오.

답변2

deepak bundela의 위 답변에서 다음 줄을 수정해야 한다고 생각합니다.

grub rescue> set boot=(hd0,msdos*)

에게:

grub rescue> set root=(hd0,msdos*)

(실제 문제를 방해하지 않기 위해 번델라가 말한 대로 *를 반복하고 있습니다)

boot라는 grub 환경 변수를 찾을 수 없었고 제가 기억하는 한 항상 그랬습니다.set root=()

나는 그것이 그들의 배포판에서 작동했다고 말한 모든 논평자들에 의해 다소 혼란스러워졌습니다. 그 사람들이 set boota를 했나요 set root?

프롬프트 에서 grub rescue>입력만 하면 set설정된 모든 환경 변수가 나열됩니다. 모든 그럽 구출 모험에서 나는 bootenv 변수가 나열되는 것을 본 적이 없습니다.

관련 정보