CentOS 마스터 부트 레코드를 덮어썼습니다.

CentOS 마스터 부트 레코드를 덮어썼습니다.

CentOS 7.7상자에 다른 드라이브를 설치하고 설치했는데 AlmaLinux 9그때 문제가 발생했습니다. BIOS로드할 OS를 선택하는 데 사용할 수 있을 것 같습니다 . 상황이 보이는 것과 같지 않습니까?마스터 부트 레코드는 가려져있어.

grub을 다시 설치했습니다.

/sbin/grub2-install /dev/sda

이제 시작하면 프롬프트가 표시됩니다 grub. 볼륨을 잡고 /etc/fstab로드 할 것이라고 생각했습니다.

grub>

어떻게 다시 작동하게 할 수 있나요? OS를 로드하기 위해 무엇을 변경해야 하는지에 대한 제안을 찾지 못했습니다.

어떤 통찰력이라도 감사하겠습니다. 건배

추가 정보/피드백:

나는 이것이 잘못된 방향이라고 생각한다. 내가하고 싶은 것은 Alma지금은 그것을 완전히 피하는 것입니다. 이 옵션을 설치하면 문제가 발생할 수 있다는 것을 알았더라면 설치를 하지 않았을 것입니다. 이 서버를 원래 상태로 복원하고 싶습니다. CentOS7시스템에서 아무것도 변경하지 않았기 때문에 무슨 일이 일어나고 있는지 전혀 모릅니다 .

그럼 Alma사진에서 잠시 쉬어가겠습니다. 앞으로는 그곳으로 이사할 수도 있어요.

SSD동일한 버전의 .USBCentOS 7.7 v2003

답변1

편집: 아래에 설명된 내용은 CentOS 7에서 100% 동일합니다. alma 루트 파티션 대신 centos 루트 파티션을 찾으세요.


UEFI를 사용하여 부팅한다고 말씀하셨기 때문에

  1. UEFI는 MBR을 무시합니다. 그러니 그건 문제가 되지 않습니다! 문제는 UEFI에서 GRUB로 부팅하는 중인데 어떻게든 이를 깨뜨린 것 같습니다.
  2. Almalinux 커널을 체인 로드할 수 있도록 GRUB를 수정할 수 있습니다.
  3. 이렇게 하려면 부팅할 수 없는 Alma에서 작업을 수행할 수 있는 라이브 USB 스틱이 필요합니다. 방금 페도라 라이브 USB 이미지를 다운로드했는데, almalinux 설치 프로그램 USB 이미지도 잘 작동할 것 같아요.
  4. 이 스틱으로 부팅해야 합니다.
  • 부팅 후 Almalinux 루트 볼륨/파티션을 식별합니다. 방금 실행해서 sudo blivet-gui그래픽으로 살펴봤습니다. 파티션 이름이 /dev/sdx2라고 가정합니다.
  • sudo -s루트 셸( )에서 다음을 수행 하려고 합니다 .
mkdir -p /alma
mount /dev/sdx2 /alma
mount -o bind /dev /alma/dev
mount -t proc proc /alma/proc
mount -t sysfs sys /alma/sys
mount -t devpts pts /alma/dev/pts
chroot /alma

축하해요! 이제 (부팅할 수 없는) Alma Linux에 루트 쉘이 생겼습니다. 좋아요 우리는 “내부로부터” 구조하러 올 수 있습니다. 먼저 모든 파일 시스템, 특히 /boot/EFI 시스템을 마운트합니다.

# (in the chroot shell we opened above)
mount -a
mount # check if the output of this lists /boot/EFI
mv /etc/resolv.conf /etc/resolv.conf.bak
echo "nameserver 8.8.8.8" > /etc/resolv.conf # resolv.conf is usually dynamically generated, we need to trick a bit here.
dnf reinstall grub2-efi grub2-pc grub2-pc-modules grub2-tools-efi grub2-tools-extra shim-x64
rm /etc/resolv.conf
mv /etc/resolv.conf.bak /etc/resolv.conf
exit
# if the above looks like it worked:
systemctl reboot

관련 정보