얼마 전 집에 있는 컴퓨터에 우분투
8.04.1 하디헤론(Ubuntu8.04.1 LTS Hardy Heron)을 설치하였다.(관련 글) 당시에는 각 운영 체제, 즉 기존에 사용하던 Microsoft Windows XP, Microsoft Windows Vista와 새로 설치한 우분투를 각각의 하드디스크에 설치하고 해당 하드디스크에 각각의 부트로더
를 설치하여 BIOS
에서 부팅할 하드디스크를 선택하는 방법으로 각각의 운영 체제를 사용하였다. 당시에는 부트로더에 대한 개념도 부족했을 뿐더러, 윈도를 재설치할 때 GRUB
가 삭제되어 멀티 부팅이 불가능해졌기 때문이다 - 개인적으로 윈도를 자주 재설치하는 편이다. 물론 GRUB만 다시 설치할 수도 있겠지만 아직 해보지 않았다.
사실 대학원 시절에는 리눅스를 거의 사용할 일이 없어 위와 같은 방식으로 설치해도 그렇게 불편함을 느끼지 못하였다. 하지만 최근 우분투에 대해 관심을 두게 되면서 매번 운영 체제를 변경할 때마다 BIOS 설정을 변경하는 과정이 번거로웠다. 그렇지 않아도 우분투에서 설정을 잘못 건드려 상태가 좋지 않았는데 잘 됐다 싶어서 우분투를 다시 설치하기로 했다. 우분투 8.10 인트레핏 아이벡스(Intrepid Ibex) 베타도 나와 있지만 나중에 업그레이드할 수 있다는 이야기를 듣고는 다시 8.04.1 하디헤론을 설치하였다.
우분투를 설치한 하드에 GRUB를 설치하고 부팅하니 아래와 같은 화면이 나타났다.
GRUB의 운영 체제 선택 메시지
Ubuntu 8.04.1, kernel 2.6.24-19-generic
Ubuntu 8.04.1, kernel 2.6.24-19-generic (recovery mode)
Ubuntu 8.04.1, memtest86+
Other operating systems:
Microsoft Windows XP Professional
Windows Vista/Longhorn (loader)
Use the ↑ and ↓ keys to select which entry is highlighted.
Press enter to boot the selected OS, 'e' to edit the
commands before booting, or 'c' for a command-line.
새로 설치한 우분투로 부팅하기 위해 'Ubuntu 8.04.1, kernel 2.6.24-19-generic'을 선택하고 엔터를 눌렀다. 하지만 얼마 전 우분투를 처음 설치했을 때와 마찬가지로 아래와 같은 화면이 나타났다.
부팅 때 화면에 나타나는 에러 메시지
Error 17: Cannot mount selected partition
Press any key to continue...
우분투 설치 과정에서 자동으로 설정된 파티션을 마운트할 수 없다니…. 지난번에도 같은 에러 때문에 결국 다른 하드디스크를 모두 연결 해제하고서 우분투를 다시 설치하였지만 그게 불편해 다시 설치하기로 한 것 아닌가. 내용을 수정해 보려고 'e'를 눌러보자 아래와 같은 메시지가 화면에 출력됐다.
Ubuntu 8.04.1, kernel 2.6.24-19-generic 설정
root (hd3,0)
kernel /boot/vmlinuz-2.6.24-19-generic root=UUID=6e78d2b8-7194-4668-→
initrd /boot/initrd.img-2.6.24-19-generic
quiet
어떻게 해야 뭐가 문제인지 알 수 있을까. 파티션을 마운트할 수 없다고 하니 (hd3,0)가 미심쩍었다. 우선 내 하드디스크 구성은 아래와 같다.
HDD2 [160GB]: Data
HDD3 [200GB]: Windows Vista & Data
HDD4 [500GB]: Windows XP & Data
root가 (hd3,0)로 되어있다. 정확히는 모르지만 (hd0,0) 아닐까? 혹시나하는 마음에 (hd0,0)으로 수정 후 부팅을 시도해보니 결과는 성공이었고 드디어 반가운 우분투 로고가 화면에 나타났다.
운 좋게 찍어서(?) 문제를 쉽게 해결했지만 뭔가 제대로 알아낼 수 있는 방법은 없을까? 구글링 결과 디바이스맵은 아래와 같은 방법으로 알아낼 수 있다 - 우분투 /boot 파티션의 위치를 알아야 한다. 1번은 GRUB 상태에서 바로 가능하고, 2번은 부팅 후 일반 터미널 창에서, 3번 역시 부팅 후 관리자 권한을 얻은 다음에 실행 가능하다.
1. find /boot/grub/stage1 in GRUB
grub> find /boot/grub/stage1
(hd0,0)
2. cat /boot/grub/device.map
$ cat /boot/grub/device.map
(hd0) /dev/sda
(hd1) /dev/sdb
(hd2) /dev/sdc
(hd3) /dev/sdd
(hd4) /dev/sdi
3. fdisk -l
$ sudo fdisk -l
[sudo] password for jaesung:
Disk /dev/sda: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xa5be9a2c
Device Boot Start End Blocks Id System
/dev/sda1 * 1 4660 37431418+ 83 Linux
/dev/sda2 4661 4865 1646662+ 5 Extended
/dev/sda5 4661 4865 1646631 82 Linux swap / Solaris
Disk /dev/sdb: 160.0 GB, 160041885696 bytes
...
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 19457 156288321 7 HPFS/NTFS
Disk /dev/sdc: 200.0 GB, 200049647616 bytes
...
Device Boot Start End Blocks Id System
/dev/sdc1 * 1 4739 38065986 7 HPFS/NTFS
/dev/sdc2 4740 24321 157292415 7 HPFS/NTFS
Disk /dev/sdd: 500.1 GB, 500107862016 bytes
...
Device Boot Start End Blocks Id System
/dev/sdd1 * 1 6528 52436128+ 7 HPFS/NTFS
/dev/sdd2 6529 49607 346032067+ 7 HPFS/NTFS
/dev/sdd3 49608 60801 89915805 7 HPFS/NTFS
아마도 우분투를 설치하는 과정 마지막 부분에서 '고급'을 클릭하여 부트로더를 설치할 위치를 설정했던 것 같은데, 이 때 디바이스 번호를 잘 기억해두어야 같은 문제가 발생하였을 때 손쉽게 문제를 해결할 수 있을 것으로 생각된다. (물론 위 1번으로도 쉽게 해결할 수 있을 것 같다. 하지만 문제를 해결한 후 확인을 한 것이기 때문에 정상적으로 부팅이 된 후 저장된 설정인지에 대해서는 확실하지 않다.)
GRUB의 설정은 /boot/grub/menu.lst 파일에서도 변경 및 저장할 수 있다. 아래 이미지에서 보듯이, default 항목에서 기본 부팅 운영 체제를 선택할 수 있고, timeout 항목에서 운영 체제 선택을 기다리는 시간을 설정할 수 있다. 그 외에도 운영 체제의 이름, 마운트 위치, 커널 등을 설정할 수 있다.
기존 menu.lst 파일 백업 및 편집하기
$ sudo cp /boot/grub/menu.lst /boot/grub/menu.lst.backup
$ sudo gedit /boot/grub/menu.lst
위 menu.lst 파일에서의 설정을 좀 더 편리(?)하게 설정을 하려면 StartUp-Manager(부팅메뉴 관리자)를 사용하면 된다.
터미널에서 부팅메뉴 관리자 설치하기
$ sudo apt-get install startupmanager
설치 후 상단 패널에서 시스템 > 관리 > 부팅메뉴 관리자(혹은 StartUp Manager)를 선택하면 아래 이미지와 같이 관리자가 실행된다.
ⓒ 2008 by 방형준(才誠)
Posted by 재성才誠










