Ubuntu는 어느시점에선가 부터 grub가 아닌 grub2가 사용된다.
grub설정파일은 /boot/grub.cfg이고 해당 파일은 수정하지 않기를 강력히 권고하고 있다.
/etc/default/grub 파일을 수정하여 update-grub명령을 통해 변경된 내용을 grub.cfg에 적용 되도록 권고한다.
나는 그 경고를 무시하고 /boot/grub/grub.cfg파일을 수정하여 부팅 순서와 부팅 시간을 변경 하던 중 파일을 날렸다..
마침 그때에는 update-grub를 사용할 수 없는 CentOS로 작업을 하던 상태이다. 진즉에 백업을 했어야 되는데...
암튼 grub2 복구를 찾아보던 중 올바른 참조 Site를 찾게되어 문제를 해결 할 수 있게 되었다.
아래 사항은 /boot/grub/grub.cfg파일이 손상되어 복구하는 방법을 제공한다.
작업 환경은 Windows7 - CentOS - Ubuntu 이 세가지 OS가 설치되었고 Ubuntu의 grub2이 BootLoader로 사용된다.
1. Ubuntu Desktop으로 Live-CD Booting을 진행한다.
2. sudo fdisk -l 을 통해 파티션 상황을 Check
3. 파티션에서 Ubuntu의 /가 설치된 파티션을 /mnt에 mount한다. sudo mount /dev/sda2 /mnt
boot파티션을 다른 파티션으로 나누었다면 /mnt에 같이 mount sudo mount /dev/sda1 /mnt/boot
( 기타 다른 파티션들도 위처럼 /mnt를 /로 보고 같이 mount한다. grub2의 주인인 Ubuntu만을 Mount한다. )
4. LiveCD에서 HDD로 dev 드라이버를 바인딩한다. sudo mount --bind /dev /mnt/dev
LiveCD에서 HDD로 proc 드라이버를 바인딩한다. sudo mount --bind /proc /mnt/proc
5. grub.cfg파일을 만들기 위해 chroot를 사용하여 최상위 Root를 변경한다. sudo chroot /mnt
6. grub.cfg를 생성한다. sudo update-grub
( 위 과정에서 에러가 발생한다. Ubuntu 외의 OS는 Grub2가 인식하지 못한다. 일단 Local Ubuntu로 Boot )
7. 재부팅을 하면 Ubuntu는 grub2에서 잡아주게 된다. 일단 Ubuntu로 Boot 후 sudo update-grub 를 통해
완벽한 /boot/grub/grub.cfg파일을 복구한다.
교훈 : 중요하다고 생각되는 파일은 제발 백업좀 해놓자.....
참조 : http://blog.foxb.kr/89
http://ubuntu.or.kr/viewtopic.php?p=59221
http://tigrisian.tistory.com/34
'Programming > Linux' 카테고리의 다른 글
[Mount] ntfs usb Mount (0) | 2012.07.02 |
---|---|
[FTP] FTP 부가설명 (0) | 2012.06.30 |
[FTP] vsftpd source Install - 한글패치 (0) | 2012.06.28 |
[FTP] vsftp 설정 - yum install 기준 (0) | 2012.06.23 |
[Setup] Multi Operating System #4 (0) | 2012.06.18 |