• 이번 글에서는 일부러 고장낸 다음에, 상황을 확인하고 복구해보는 과정을 연습해 볼거임 (CentOS 7.9 기준)
  • 테스트 하기 전, 데이터 꼭 백업하기!
  • 여기는 하다가 오류 생기면 점점 추가할 예정임

증상 1. 바이오스 창에서부터 오류가 뜸

부팅 문제 상황

  • 펑펑 터짐 아주

  • 입력도 뭐도 안됨

  • 자세히 보면 shim (인증서 관련 툴) 자체는 작동했는데 그 뒤에 갑자기 syntax error가 뜬걸 볼 수 있음

  • shim 다음에 불리는게 grub이기 때문에 grub으로 문제 추정해봄

  • 이거 말고 그냥 검정 화면에 입력표시줄만 나오고 아무것도 입력 안되고 하는 증상도 있음. 근데 같은 이유임

원인

  • grub.cfg 파일이 고장나서 GRUB 불러오는데 문제 생겨서 그럼

도대체 어떻게 고장냈었는가?

  • /boot/efi/EFI/centos/grub.cfg 파일에 의도적으로 오타를 냈음

  • fi 에서 i 를 지워버림 구문 오류

복구 방법

1. ISO USB 꼽기

  • iso 꼽고 오류 창 뜨기 전에 최대한 빠르게 ESC 눌러서 바이오스 설정 들어감
  • 아까 꼽은 iso 들어있는 USB 디스크로 부팅함
  • TroubleShooting Rescue a CentOS System 선택
  • 조금 기다리면 알아서 이것저것 올라감

  • 번역 :

    • 복구 환경이 이제 리눅스가 설치되어있는 부분을 찾아다가 /mnt/sysimage 밑에 마운트할거고, 거기서 필요한걸 바꿀 수 있음.
    • 1번 누르면 그대로 진행
    • 2번 누르면 읽기전용으로만 마운트
    • 필요없으면 3번
    • 끌꺼면 4번 쓰시오
  • 1번 선택

  • 번역 :
    • /mnt/sysimage 안에 원래 시스템 마운트됐음
    • 그 마운트된걸 루트로 쓰고싶으면 chroot /mnt/sysimage 쓰셈

2. 내 시스템 다시 킨 것 처럼 사용하기

chroot /mnt/sysimage

3. grub.cfg 다시 만들기

grub2-mkconfig -o <>
  • 예시
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

4. 재부팅

exit # chroot 했던거 나가는 작업 하나 필요함
reboot
  • 다시 야무지게 부팅됨

증상 2. dracut으로 켜짐

부팅 문제 상황

  • 갑자기 dracut으로 켜지고 끄려고 exit 하면 You might want to regenerate your initramfs 라고 뜸

도대체 어떻게 고장냈었는가?

  • GRUB 커널 파라미터에 오타냈음 (OS 선택할때 e 눌러서)

복구 방법

  • 껐다키면 그냥 되는 경우도 있는듯 (그렇게 됐음)
  • 안되면 커널 파라미터 확인해 봐야함

증상 3. /dev/mapper/어쩌구 does not exist

부팅 문제 상황

Warning: /dev/mapper/xxx does not exist
Dropping to a shell!
(initramfs) _

복구 방법

  • initramfs에서 문제가 일어난 상황임
  • LVM 기반 루트 구성인것을 /dev/mapper/ 를 보고 알 수 있음
  • dracut으로 initramfs 재구성하기