Grub을 복원하는 데 문제가 있습니다.

Grub을 복원하는 데 문제가 있습니다.

저는 RHEL 7.6을 사용하고 있으며 방금 "grub2" 디렉터리 이름을 변경했습니다.

그리고 시스템을 다시 시작하세요.

그다음에 이런 화면을 봤는데 여기에 이미지 설명을 입력하세요.

여기에 이미지 설명을 입력하세요.

이 문제를 어떻게 해결하나요?

답변1

이전 prefix설정은 입니다 . 이는 이전 접두사가 언급되지 않았으므로 파티션 에 별도의 파일 시스템이 있음을 prefix=(hd0,msdos1)/grub2나타냅니다 ./boot(hd0,msdos1)/boot그건 효과가 있었어당신이 변화를 만들 때까지.

(hd0,msdos1)GRUB는 한 번에 하나의 파일 시스템에만 액세스합니다. 즉, 일반적으로 Linux에 설치된 파일 시스템을 모르거나 신경 쓰지 않습니다 /boot. GRUB는 /boot필요에 따라 이를 루트 디렉터리 로 효과적으로 처리하므로 실제로 파일 시스템에 속하는 경로 이름 부분만 필요합니다 . 이것이 변수의 root=hd0,msdos1의미입니다. 이것이 바로 접두사가 붙은 이전 경로 이름이 /grub2가 아닌 just 인 이유이기도 합니다 /boot/grub2.

새 접두사를 로 지정하면 GRUB에 Linux에 있는 내용을 (hd0,msdos1)/boot/grub2보도록 효과적으로 지시할 수 있습니다 ./boot/boot/grub2

비슷한 작업을 수행한 경우 mv /boot/grub2 /boot/newname이제 set prefix=(hd0,msdos1)/newname접두사를 사용하여 grub2디렉터리의 새 이름을 반영해야 합니다.

GRUB에는 디렉토리에 액세스하기 위해 코어 이미지에 최소한의 모듈만 설치되어 있으므로 디렉토리를 파일 시스템 grub2밖으로 이동 하면 더 큰 문제가 발생합니다 . 새 위치가 LVM 볼륨에 있거나 다른 파일 시스템 유형을 갖는 경우 당신의 파일 시스템 유형보다 GRUB는 그것을 읽을 수 없을 가능성이 높습니다. 이 작업을 수행한 경우 RHEL 7.6 설치 미디어에서 복구 모드로 부팅한 다음 GRUB를 사용하여 다시 설치하여 새 위치에 완전히 적용해야 합니다 . 먼저 필요한 모듈을 선택하고 올바른 모듈이 포함된 새 GRUB을 생성하기 위해 실행됩니다. 모듈 그런 다음 코어 이미지 파일이 MBR에 포함되고 MBR과 첫 번째 파티션의 시작 부분 사이의 디스크 블록이 포함됩니다./bootgrub2/bootgrub-installgrub-mkimage

GRUB 구조에 대한 자세한 배경 정보는 다음을 참조하세요.GRUB에 대해 이전에 쓴 답변.

관련 정보