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セクタまで利用しているので、バックアップする場合はこの範囲を全てバックアップする必要性がある。