Month: February 2011

Windows 설치시 grub이 사라지는 현상

리눅스를 쬐금만 사용하다면 다들 깨달을 수 있는 주제다.

리눅스가 깔려있는 컴퓨터에 윈도우(어떤 버젼이든)를 설치할 시 grub이 사라지고 마이크로소프트만의 못생긴 부트로더-_-가 설치되면서 기존의 리눅스로 부팅을 할 수 없다는 문제가 발생한다.

이 문제에 대해 수많은 사람들이 나름 해결책을 제시해 놓았다. 사실, 구글로 ‘ubuntu windows grub’만 검색해도 수 가지의 major한 해결방법을 확인할 수 있다. 아쉬운 건 그 중에선 잘 되지 않는 것도 있고 하기엔 너무 복잡한 것도 있다는 것..

따라서, 그러한 여러 가지 방법들에 대한 본인의 경험담들을 나름 정리해 보았다.(참고로, 본인의 경우 Ubuntu 10.10을 사용합니다. 따라서, 시도해본 방법 모두 Grub 2.0에만 해당하는 방법입니당^^)

1. 외부 프로그램 사용하기

link : https://help.ubuntu.com/community/RecoveringUbuntuAfterInstallingWindows

Super Grub Disk 라는 프로그램을 다운 받은 뒤, 위 링크에서 설명한 Super Grub Disk 사용법을 차근차근 따라 윈도우에서 실행하면 된다.

Rescatux라는 프로그램도 있으며, CD에 구워서 사용하는 버젼이다. 중요한 건 다운받은 iso 파일을 그대로 CD에 구울 경우 cd부팅이 되지 않으며(아마 특정한 과정을 따라야 하는 것 같다) 또한 윈도우에서도 바로 실행할 수 없다.(실행파일이 exe가 아님)

EasyBSD라는 프로그램도 위 링크에서 소개하는데, 이 프로그램은 Windows 전용으로써 grub이 아닌 다른 부트로더를 사용한다. 단, 본인의 경우 이 프로그램이 정상적으로 작동하지 않았으며, 그 이유는 본인이 ubuntu를 설치할 때 /boot와 /의 partition을 다르게 잡았다는 사실과 이 경우에는 EasyBSD가 bootloader 설정을 제대로 못 해준다는 것이 복합적으로 작용했기 때문이라고 추측하고 있다.

2. Live CD 사용하기(*)

link : https://help.ubuntu.com/community/Grub2#Reinstalling%20GRUB%202

개인적으로 추천하는 방법이다. 기존에 설치한 /에도 접근할 수 있기에, 리눅스에 있던 데이터들을 백업하면서 grub을 고치는 일석이조의 효과를 얻을 수 있다.

중요한 점이라면, (사실 대부분의 사용자에겐 해당하지 않는 이야기이지만) 처음 linux를 설치했을 때 /와 /home, /boot 등을 (하나라도) 다른 파티션으로 설정했을 경우, 링크에서 mount 명령어를 입력할 시 이들을 모두 mount해줘야 한다는 것이다.

예를 들어,

/ 를 /dev/sda1로, /boot를 /dev/sda2로 해주었을 경우

sudo mount /dev/sda1 /mnt

sudo mount /dev/sda2 /mnt/boot

와 같이 두 개를 모두 마운트 해줘야 한다. /boot를 어느 파티션에 설치했는지 잊어먹었을 시에는, perfect한 방법은 모르겠고-_-; 본인의 경우 sudo fdisk -l명령어를 사용해 하드디스크의 파티션 속성/크기 목록을 확인한 뒤 어림짐작으로 때려맞췄다.(그리고 맞았다^^)

3. 다른 ubuntu wiki 사이트 사용하기

link 1 : https://help.ubuntu.com/community/RecoveringUbuntuAfterInstallingWindows

link 2 : https://help.ubuntu.com/community/WindowsDualBoot

ubuntu에서 제공하는, windows 설치시 grub이 사라지는 현상에 대한 해결 방법을 제시해 놓은 wiki page이다.

사실 많은 사람들이 위 페이지에도 들어가 보았을 것이다. 위 링크에 들어가보면 이 문제를 해결할 수 있는 많은 방법들이 소개되어 있다. 나의 경우도 위 두 페이지를 중점적으로 참조했다.

그런데 조심할 점은 위 페이지에 제시되어 있는 각각의 방법들은 모두 고유한 전제조건(-_-)이 있으며, 시간이 촉박한 사람들은 급한 마음에 이를 간과하기가 쉽다는 것이다. 공식적인 wiki page이므로, 과거 GRUB Legacy를 사용하는 옛버전 ubuntu용 해결방법도 모두 제시되어 있다. GRUB Legacy용 해결 방법은 GRUB 2.0에서 사용할 시 말그대로 ‘doesn’t work’ 혹은 좋지 않은 결과를 가져올 수 있다.