리눅스

우분투 리눅스 grub 부트로더 복구 (다시 깔기)

맑은돌 2021. 7. 24. 12:55

리눅스와 윈도 멀티 부팅을 사용하던 컴퓨터에서 윈도 부트로더를 설치하는 바람에 리눅스로 부팅할 수 없고, 윈도로만 부팅될 때 참 난감합니다. 이전에는 USB Live CD 등으로 부팅해서 해결했던 기억이 있는데 인터넷에서 찾아보니 boot-repair를 설치해서 해결하라고 나와있습니다.

옛날에 했던 방법으로 간단히 우분투 USB 메모리만으로 grub 부트로더를 다시 설치하는 방법입니다.


1. 우분투 리눅스 USB 미디어로 부팅
한국어 선택하고, 우분투 설치하지 않고 경험하기로 부팅

USB 미디어 체크 중 Ctrl+C를 눌러서 통과

2. 우분투 경험하기로 부팅 후 터미널(Ctrl+Alt+T)을 열어서 가장 먼저 root로 바꿉니다. # 뒤는 설명입니다.
sudo -i # 이렇게 하면 루트 권한

fdisk -l # 리눅스 파티션 찾기
# 저의 경우 sda는 윈도, sdb는 리눅스이고 그중 sdb5가 리눅스 시스템이군요. 여러분에 맞게 sdxX를 수정합니다.
파티션이 많아서 잘 모르겠으면 마운트 후 내용을 보고 언마운트 하시면 됩니다.


mount /dev/sdb5 /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt

update-grub # 윈도 부트 파티션 정보를 추가합니다.
grub-install /dev/sda # grub 부트로더를 깔아 줍니다.
exit

umount /mnt/dev /mnt/proc /mnt/sys /mnt
reboot

Please remove the installation medium, then press ENTER: # 우분투 리눅스 USB 미디어를 빼고 재시동 합니다.
grub 부트 로더가 뜹니다! 오예!

필요한 경우 바이오스 셋업에서 부팅 순서 등을 수정합니다.

그밖에
grub를 설치할 때 아래와 같은 경고가 나오는 경우

 

grub-install: 경고섹터 32는 이미 프로그램 `FlexNet'에 의해 사용 중이며; 이를 회피합니다. 이 소프트웨어는 나중에 부트나 다른 문제를 발생시킬 수 있습니다. 이 프로그램의 저자에게 부트 트랙에 데이터를 저장하지 말도록 요청하십시오.


FlexNet 너는 누구냐?
# 부트 섹터 32번을 0으로 지우기
sudo dd if=/dev/zero of=/dev/sda bs=512 count=1 seek=32

grub를 설치할 때 더 이상 경고가 나오지 않습니다.

 

우분투 20.04.2 LTS 버전에서 확인하였습니다.