GRUB起動CDの作成
なんらかの原因でOSのブートローダーが起動しなくなったときのために、GRUB起動CDを作成しておきます。
※ CentOS5.2がインストールされていて、すでにGRUBの設定が済んでいるものとします。
まだ設定をしていない場合はコチラ。
■ ISOイメージの作成
作業ディレクトリの作成
[root@example ~]# mkdir -p /tmp/grub/iso作業ディレクトリに移動
[root@example ~]# cd /tmp/grub/1.44MBのファイルを作成(仮想フロッピー)
[root@example grub]# dd if=/dev/zero of=1440 bs=1k count=1440
1440+0 records in
1440+0 records out
1474560 bytes (1.5 MB) copied, 0.0622556 seconds, 23.7 MB/sGRUB起動に必要なイメージを作成
[root@example grub]# cat /boot/grub/stage1 /boot/grub/stage2 > grubimg仮想フロッピーと起動イメージを結合
[root@example grub]# cat grubimg 1440 > joinimg1.44MBにサイズ調整して、boot.imgを作成
[root@example grub]# dd if=joinimg of=iso/boot.img bs=1k count=1440
1440+0 records in
1440+0 records out
1474560 bytes (1.5 MB) copied, 0.0880181 seconds, 16.8 MB/sISOファイルを作成
[root@example grub]# mkisofs -b boot.img -o /tmp/grub.iso iso/
INFO: UTF-8 character encoding detected by locale settings.
Assuming UTF-8 encoded filenames on source filesystem,
use -input-charset to override.
Size of boot image is 2880 sectors -> Emulating a 1440 kB floppy
Total translation table size: 2048
Total rockridge attributes bytes: 0
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
896 extents written (1 MB)作業ディレクトリを削除
[root@example tmp]# rm -rf grub/grub.isoが作成されていることを確認
[root@example tmp]# ll
合計 1856
drwxrwxrwt 11 root root 4096 4月 26 23:56 .
drwxr-xr-x 23 root root 4096 4月 26 23:40 ..
- rw-r--r-- 1 root root 1835008 4月 26 23:53 grub.iso
作成したISOファイルを、ライティングソフトで焼いてBIOSをCD起動にすればGRUBが起動します。
■ GRUBコマンドでのCentOSの起動
BIOSのファーストブートをCDで起動するとGRUBコマンドラインが起動します。
コマンドラインでCentOSを起動してみます。
ここで指定するカーネルやSCSIデバイスは/boot/grub/grub.confで設定しているものと同じです。
メモしておきましょう。
なお、以下の構成でHDDにインストールされています。
HDDの1番目のパーティション:WindowsXP
HDDの2番目のパーティション:CentOS
ここでTAB押下で現在接続されているデバイスが表示されます
grub> root (デバイスを引数の一番目に記述した後にTAB押下でパーティションが表示されます
grub> root (hd0,カーネルがインストールされているパーティションを引数の2番目に記述して
Enter押下で選択されたデバイスのパーティションがマウントされます。
grub> root (hd0,1)カーネルを指定します。ここもTAB押下で補完が効きます。
grub> kernel /boot/vmlinuz-2.6.18-128.1.6.el5 ro root=LABEL=/SCSIデバイスを指定します。ここもTAB押下で補完が効きます。
grub> initrd /boot/initrd-2.6.18-128.1.6.el5.img起動します。
grub> boot
■ GRUBコマンドでのWindows XPの起動
# 1番目のHDDの1番目のパーティションをマウントします。
grub> root (hd0,0)# 最初の1セクタを読み込んで実行します。
grub> chainloader +1# 起動します。
grub> boot
パーティションをマウントした状態でEsc/Escを押下するとGUIでのブート画面を起動することもできます。
以下のコマンドでGRUBをHDDにインストールすることによって、なんらかの問題でGRUBが自動起動しなくなっている場合でも、再設定することができます。
# マウントされているデバイスを確認します。
[root@example /]# df# 確認したデバイスにGRUBをインストールします。
[root@example /]# grub-install /dev/sda# 再起動します。
[root@example /]# reboot
これでPC起動時にGRUBが起動するようになります。