OS/Linux

[ubuntu] 우분투 10.04 grub 복구

아르비스 2010. 5. 4. 00:34
우분투 9.10에서 10.04 LTS 로 update 하는 과정에서 Grub이 날라갔다.
ㅠㅠ. 이런 덴장..
XP와 우분투를 멀티 부팅 시키는 것이 아니었는데..
재부팅하겠다고 멀쩡히 설치하더니...

재부팅 하다 말고.
grub rescue>      <-이상태로 멈춰버렸다.
아무런 command도 먹지 않고.. 휴
장작 3시간동안의 구글링과 테스트를 통해..복구 성공~
그 수정한 결과를 정리한다.

구굴링하다 보면 예전꺼만 있는데.
다 안된다..ㅠㅠ

1) 우선 ubunto CD를 넣고 부팅한다.
 선택 옵션에서 CD로 부팅 선택(설치가 아님)

2)터미널을 띄운다.
  ~$ sudo fdisk -l
이렇게 입력한다.

 Disk /dev/sda: 61.5 GB, 61492838400 bytes
255 heads, 63 sectors/track, 7476 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xde84ff1b

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        7475    60042906    7  HPFS/NTFS

Disk /dev/sdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa27324f4

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        9729    78148161   42  SFS

Disk /dev/sdc: 200.0 GB, 200049647616 bytes
255 heads, 63 sectors/track, 24321 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2d02d53d

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1       23947   192354246   83  Linux
/dev/sdc2           23948       24321     3004155    5  Extended
/dev/sdc5           23948       24321     3004123+  82  Linux swap / Solaris

내 컴퓨터의 경우는 이렇게 출력되었다.

3) 여기에서 우분투가 인스톨되어 있는 /dev/sdc1 를 마운트시키려 한다.
(linux가 설치되어 있는 drive를 mount한다. 대개의 경우 sda 로 설정된다)
~$ sudo mount /dev/sdc1 /mnt
~$ sudo mount --bind /dev /mnt/dev
~$  sudo mount --bind /proc /mnt/proc

4)  resolv.conf 라는 파일을 복사한다.

 ~$ sudo cp /etc/resolv.conf /mnt/etc/resolv.conf

5)루트(root)로 바꾼다.
 ~$ sudo chroot /mnt

6)이제 GRUB를 복구한다.
 ~# grub-install /dev/sdc1

만약 설치가 안되고 에러가 나면
 ~# grub-install --recheck /dev/sdc1

7)마운트된 볼륨들을 해제하고 종료한다.

~# exit
~$ sudo umount /mnt/dev
~$ sudo umount /mnt/proc
~$ sudo umount /mnt


8) 재부팅을 한다.
 ~$ sudo reboot


이렇게 했는데 만일 윈도우가 grub 메뉴에 보이지 않는다면..

1. sudo apt-get install grub-pc
2. sudo upgrade-from-grub-legacy (로 grub을 업그레이드 실시.)
3. grub-install -v를 통해 현재 설치된 grub의 버전을 확인한다.

 grub-install (GNU GRUB 1.98-1ubuntu5)
  라고 나오면 성공한것이다.
4. 만약 grub이 설치되어있는 운영체제를 제대로 인식하지 못한다면 sudo update-grub 명령을 통해 grub을 갱신한다.
5. 재부팅 한다.

이상입니다.
저는 성공을 했는데..
부디 힘들어 하시는 다른 분들도 성공하시길~
 Good luck.