インストールが完了したので、後は再起動してUSBのハードディスクからブートすればOK! かというと、そうはいきません。
次に、以下のような修正が必要となります。
これらの修正作業をLinuxマシン上で行います(注)。
関連リンク: | |
---|---|
⇒ | Linux Tips Index − @IT |
しかしながら、最初は手元にLinuxマシンがないはず(という前提)ですので、ここで先ほど作成した1CD-LinuxのKNOPPIXを用います。まず、KNOPPIXのISOイメージを書き込んだCD-RでKNOPPIXを起動します。
起動したところで、以下のように「su」コマンドを入力し、rootユーザーに変更します。
$ su -
それでは、1〜4までの修正作業を順番に解説していきます。
まず、Windowsが入っているハードディスクからブートローダを削除します。ハードディスクがどのデバイスファイルで認識されているか、KNOPPIXのデスクトップに表示されているアイコンで確認します(図1)。
デバイスファイル(今回の例では/dev/hda)が分かったところで、以下のコマンドを実行します。
# lilo -M /dev/hda
これでMBRが初期化されました(図2)。
次に、GRUBのブートローダが立ち上がるときに使用する設定ファイルを変更します。まず、Vine LinuxをインストールしたUSBのハードディスクを接続します。すると、KNOPPIXのデスクトップ上にアイコンが表示されますので、デバイスファイル名(今回の例では/dev/sda)を確認します(図3)。
その際に、追加されたデバイスをどうするのか聞かれますので、ここでは「何もしない」を選択します(図4)。
続いて、「mount」コマンドで以下のようにマウントします。
# mount /dev/sda1 /mnt/sda1 # mount /dev/sda2 /mnt/sda2
「/mnt/sda1/grub」のディレクトリの下にmenu.lstというファイルがあるので、以下のように書き換えます。
root (hd1,0)
root (hd0,0)
この変更は、USBのハードディスクがUSBブート時に1番目のハードディスクとして認識させるためのものです。変更が完了したmenu.lstの全容をリスト1に示します(注)。
# menu.lst generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd1,0) # kernel /vmlinuz-version ro root=/dev/sda2 # initrd /initrd-version.img #boot=/dev/hda default=0 timeout=5 title Vine Linux (Current kernel) root (hd0,0) kernel /vmlinuz ro root=LABEL=/ resume2=swap:/dev/sda3 vga=0x314 initrd /initrd.img title Vine Linux (Previous kernel) root (hd0,0) kernel /vmlinuz.old ro root=LABEL=/ resume2=swap:/dev/sda3 vga=0x314 initrd /initrd.old.img # title Other # rootnoverify (hd0,0) # chainloader +1
まず、以下のようにUSBのハードディスクをアンマウントします。
# umount /mnt/sda1 # umount /mnt/sda2
次に、「grub」コマンドを用いてブートローダをセットアップします(図5)。
# grub grub> root (hd1,0) grub> setup (hd1) grub> quit
この例では、
になっています。
ちなみに、上記のコマンドでroot(hd0,0)と入力すると、ファイルフォーマットが0x7(FATのファイルフォーマット)となっているので、hd0がWindowsの入ったハードディスクだということが確認できます。
Copyright © ITmedia, Inc. All Rights Reserved.