2011년 1월 6일 목요일

MacBook에 Ubuntu 설치후 Grub2 문제 해결

MacBook에 Ubuntu를 설치한 후에 가끔씩 grub2가 문제를 일으켜서 부팅이 되지 않는 문제가 생겼습니다.

제 경우는 apt-get update;apt-get upgrade 명령으로 업그레이드를 할 때, kernel이 업그레이가 된 후에 문제가 발생을 했습니다.
커널이 업그레이드가 되면, grub2 에서 새로 업그레이된 커널로 부팅을 하기 위해서 정보를 업데이트를 하는 데, 그때 에러가 발생해서 grub2가 제대로 갱신이 안되어서 부팅이 불가능하게 되는 문제였습니다.

일단, grub2 > 프롬프트가 뜨면... 아래와 같이 부팅을 해서 들어갑니다.
제 경우에는 첫번째 하드의 4번째 파티션이 우분투의 root 파티션이었습니다.
set root=(hd0,4)
linux  /boot/vmlinuz-2.6.35-22-generic root=/dev/sda4 
initrd   /boot/initrd.img-2.6.35-22-generic
boot


제 경우는, sudo update-grub 을 하면 아래와 같은 문제 발생을 했습니다.
sudo apt-get upgrade 로 인해서 kernel 버젼이 올라가면 자동으로 update-grub이 실행되면서 문제가 발생하는 경우로, 마지막 에러 메세지는 아래와 같습니다.

Found Mac OS X on /dev/sda2
*** glibc detected *** grub-probe: malloc(): memory corruption: 0x000000000225e3c0 *** 
======= Backtrace: =========

우분투의 grub2 관련 페이지를 읽어본 후에... 
/etc/default/grub 에 아래를 추가함. 
# by Young-June Woo 
GRUB_DISABLE_OS_PROBER=true

다른 OS에 대한 탐색등을 중지하는 것임. (/etc/grub.d/30_os-prober 의 동작을 중지 시키는 것입니다.)

Grub2 관련해서 참고할 사이트는 아래와 같습니다.


아래는 제 맥북의 파티션 테이블 정보로, Snow Leopard와 Window7 이 설치되어서 3개의 OS로 부팅을 하면서 살고 있습니다.

파일시스템           1K-블럭 사용됨 사용가능 사용% 마운트 됨
/dev/sda4             20157308   7777776  11355584  41% /
none                   2002232       296   2001936   1% /dev
none                   2011872       468   2011404   1% /dev/shm
none                   2011872       440   2011432   1% /var/run
none                   2011872         0   2011872   0% /var/lock
none                  20157308   7777776  11355584  41% /var/lib/ureadahead/debugfs
/dev/sda5             60475476  33211488  24191988  58% /home
/dev/sda2            163577856  88592816  74985040  55% /media/MacintoshHD
/dev/sda3             61440588  29142676  32297912  48% /media/BOOTCAMP




댓글 없음:

댓글 쓰기