윈도 10 레드스톤 업데이트 하다가 재부팅되더니 grub rescue가 떴다...
아마도 업데이트 도중에 MBR을 건드리는데 그게 문제가 된 듯 싶다.
예전에 잘 모를때는 grub rescue 뜨면 무조건 윈도/리눅스 부팅 usb 만들어서 복구했는데, 조금만 검색해보니 그럴 필요가 없었다!
grub rescue> ls
(hd0) (hd0,msdos4) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)
노트북에 윈도10, archlinux가 설치되어 있었는데, ls로 접근해보니 아마도 (hd0,msdos4)가 리눅스가 설치되어 있는 파티션인 듯 싶었다.
grub rescue> ls (hd0,msdos1)
error: unknown filesystem
grub rescue> ls (hd0,msdos4)
(hd0,msdos4): filesystem is ext2
다음과 같은 방법으로 임시로 grub을 살릴 수 있다.
grub rescue> set root=(hd0,msdos4)
grub rescue> set prefix=(hd0,msdos4)/boot/grub
grub rescue> insmod /boot/grub/i386-pc/normal.mod
grub rescue> normal
아마도, 리눅스 파일시스템에 grub을 설치하면 normal.mod라는 모듈이 자동으로 저장되는데, 이거를 수동으로 읽어들이는 것 같다.(사실 뭔지 잘 모르겠다)
archlinux는 i386-pc 폴더에 들어가야 하는데, 우분투 같은 경우는 grub 디렉토리 안에 normal.mod가 들어있다는 것 같다.
이제 재부팅이 되고 grub이 동작하지만 이건 임시적인 해결책으로, 나중에 재부팅하면 위의 과정을 다시 반복해야한다.
해결하려면 grub을 다시 설치해 줘야 한다.
오랜만에 리눅스로 부팅해서 pacman 동기화? 부터하고 진행했다.
sudo pacman -Syu
...
sudo pacman -S grub
sudo grub-install --target=i386-pc /dev/sda
sudo grub-mkconfig -o /boot/grub/grub.cfg
그러면 windows10이 설치되어 있는걸 감지했다고 알림이 뜬다.
(os-prober가 설치되어 있다면!)
참고.
https://wiki.archlinux.org/index.php/GRUB
끝!