09 February 2007

Linuxブートローダ (lilo, grub) メモ

lilo

lilo の設定 (LinuxをインストールしたパーティションのPBRにインストールする場合)

/etc/lilo.conf

prompt
timeout=50
default=Windows
boot=/dev/hda11 ← hda11 のPBRにインストール
map=/boot/map
install=menu
message=/boot/message
delay = 50

image=/boot/vmlinuz-2.4.31-0vl1.8
label=VineLinux32
initrd=/boot/initrd-2.4.31-0vl1.8.img
read-only
root=/dev/hda11
append="resume2=swap:/dev/hda13"

other=/dev/hda1
optional
label=Windows

other = /dev/hda12
label = FedraCore5

liloの設定(MBRにインストールする場合)

/etc/lilo.conf

prompt
timeout=50
default=Windows
boot=/dev/hda ← hda のMBRにインストール
map=/boot/map
install=menu
message=/boot/message
delay = 50

〜 以下 略 〜

LILOのインストール(MBR or PBRへの書き込み)

-L スイッチで32bit LBA対応、-v スイッチで詳細表示を指定


[root@localhost root]# /sbin/lilo -L -v
LILO version 22.5.8, Copyright (C) 1992-1998 Werner Almesberger
Development beyond version 21 Copyright (C) 1999-2003 John Coffman
Released 10-Oct-2003, and compiled at 19:43:30 on Nov 18 2003

Reading boot sector from /dev/hda11
Using GRAPHIC secondary loader
Calling map_insert_data
Mapping message file /boot/message
Calling map_insert_file

Boot image: /boot/vmlinuz-2.4.31-0vl1.8
Mapping RAM disk /boot/initrd-2.4.31-0vl1.8.img
Added VineLinux32

Boot other: /dev/hda1, on /dev/hda, loader CHAIN
Added Windows *

Boot other: /dev/hda12, loader CHAIN
Pseudo partition start: 192539088
Added FedraCore5

Writing boot sector.
/boot/boot.030B exists - no boot sector backup copy made.
[root@localhost root]#

grub

grub の設定

/etc/grub.conf

#boot=/dev/sda12

default=0 ← 1つめのエントリ(0,1,2,3 ... と数える)を標準起動
timeout=5
splashimage=(hd0,11)/boot/grub/splash.xpm.gz
#hiddenmenu ← 最初から、全ての選択項目を表示するかどうか

title Fedora Core (2.6.18-1.2257.fc5)
root (hd0,11)
kernel /boot/vmlinuz-2.6.18-1.2257.fc5 ro root=LABEL=/1 rhgb quiet
initrd /boot/initrd-2.6.18-1.2257.fc5.img

title Fedora Core (2.6.18-1.2257.fc5) ACPI=OFF
root (hd0,11)
kernel /boot/vmlinuz-2.6.18-1.2257.fc5 ro root=LABEL=/1 rhgb quiet acpi=off
initrd /boot/initrd-2.6.18-1.2257.fc5.img

title Fedora Core (2.6.18-1.2239.fc5)
root (hd0,11)
kernel /boot/vmlinuz-2.6.18-1.2239.fc5 ro root=LABEL=/1 rhgb quiet
initrd /boot/initrd-2.6.18-1.2239.fc5.img

title Vine Linux 3.2
root (hd0,10)
kernel /boot/vmlinuz-2.4.31-0vl1.8 ro root=/dev/hda11 resume2=swap:/dev/hda13
initrd /boot/initrd-2.4.31-0vl1.8.img

title Vine Linux 3.2 lilo boot loader
rootnoverify (hd0,10)
chainloader +1

title Windows Vista boot loader
rootnoverify (hd0,0)
chainloader +1

grubのインストール(LinuxがインストールされたパーティションのPBRへ)


[root@localhost root]# grub

GNU GRUB version 0.97 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]

grub> root (hd0,11)
Filesystem type is ext2fs, partition type 0x83

grub> setup (hd0,11)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0,11)"... failed (this is not fatal
)
Running "embed /boot/grub/e2fs_stage1_5 (hd0,11)"... failed (this is not fatal
)
Running "install /boot/grub/stage1 (hd0,11) /boot/grub/stage2 p /boot/grub/gru
b.conf "... succeeded
Done.

grub>quit

[root@localhost root]#

※grubによるコマンドの補完
たとえば、"root (" と入力したところで、[TAB]キーを押すと、その時に取得るパラメーターを一覧表示することが出来る。

grubのインストール(MBRへ)


[root@localhost root]# grub

GNU GRUB version 0.97 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]

grub> root (hd0,11)
Filesystem type is ext2fs, partition type 0x83

grub> setup (hd0)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,11)/boot/grub/stage2
/boot/grub/grub.conf"... succeeded
Done.

grub> quit

[root@localhost root]#

MBR, PBRのバックアップ

MBR をバックアップする時の例


[root@localhost root]# dd if=/dev/sda of=./mbr-backup.dat bs=512 count=3
3+0 records in
3+0 records out
1536 bytes (1.5 kB) copied, 0.636426 seconds, 2.4 kB/s

[root@localhost root]#

元のMBRに戻すときは、dd if=./mbr-backup.dat of=/dev/sda bs=512 count=3 と、バックアップ時の if とof を入れ換えて実行すればOK。

PBRをバックアップするときは、 if=/dev/sda11 などと、そのパーティションを指定する。

count=3としているのは、ブートローダが1セクタに収まっていない時を考えて、念のため3セクタ分をバックアップしている。1セクタしか使わないブートローダ(NT boot loader, lilo等)の場合は、count=1でもOK
grubの場合は、インストール時に表示されるメッセージを読んで分かるとおり、先頭から15セクタまで利用しているので、バックアップする場合はこの範囲を全てバックアップする必要性がある。