Loadlinを使って、安全にデュアルブートする方法

0.まえがき
こんなんわざわざ書く必要も無いと思うんですが、
一部繊細な作業なので、気をつけてやって下さい。
失敗しても自分でなんとかしてね(^^;

1.目的
Vine Linux2.0なんかをインストールすると自動的に、
LILOを使ったWindowsとLinuxのデュアルブートにしてくれたりするんですが、
これって、どっちかがイカレて再インストールしたくなったときに、
もう片方も道連れ〜(T_T)ってなことになりかねない、非常に危険な構成だったりしますよね?

そうじゃなくても、やっぱりWindowsだけの構成にしたいとか思ったり、
LILOをインストールした途端、なんかBIOSがウイルスが入ったとか騒いだり(本当にあった(^^;)
やっぱり、LILOによるデュアルブートはリスキーだと言わざるを得ません。

そこで、LILOを使わないでブートする方法の一つに、
FDからブートする。
という方法があるのですが、これだとFDの抜き差しが面倒ですね。
似たような方法に、HDマウンターとかいうのを使う方法もあるみたいですが、
同様の欠点が指摘できると思います。(消耗しそうだし)

えー前置きが長くなりましたが、結局何を使うかというと、
loadlinを使う。
という結論に達するわけです。

これなら、FD(やHDマウンター)を抜き差しする手間も無いし、
LILOをインストールするわけじゃないから、ソフト的にも安全だし、
ブート時にかかる手間もさほどではないということで、
おすすめ出来る方法だったりします。

2.用意するべきもの

以上の三点です。

3.やるタイミング
LILOが入る前、インストール直後のLinuxが起動している状態が望ましい。
FDブートしている場合なら、いつでも出来ると思う。

4.やるべきこと

  1. Linux起動後、DOSパーティションをマウントします。
    普通は(?)、mount -t vfat /dev/hda1 /mnt
    のようにします。
    (/dev/hda1は、Cドライブに相当するパーティション)

  2. Linuxパーティション上の「/」とか「/boot」にある、
    vmlinuzとか、その類のカーネルイメージをコピーします。
    cp /vmlinuz /mnt/windows/temp
    * * カーネルイメージの取得完了。 * *

  3. 再起動 → Windowsを起動後、C:\Windows\tempに、loadlin.exeをコピーする。
    * * loadlin.exeのコピー完了。 * *

  4. 再起動 → Windowsのロゴマークが出る前にF8キーを押しておく。
    5.Command Prompt Onlyを選んで、DOSを起ち上げ、以下のコマンドを実行する。
    us (←これ、ものすごーく重要)
    c:
    cd \windows\temp
    loadlin vmlinuz root=/dev/hdb1

    (/dev/hdb1は、Linuxがインストールされているパーティションに読み替える。)
    * * loadlinによる起動確認完了。 * *

  5. 無事起動したら、バッチファイル化して、C:\辺りに置いておく。
    @ECHO OFF
    rem Change current code page to United States and execute %1 if specified.
    CHCP 437
    %1 %2 %3 %4 %5 %6 %7 %8 %9

    cd windows\temp

    loadlin vmlinuz root=/dev/hdb1
    * * 運用準備完了。 * *

  6. LILOが残っていれば、消しておく。(但し、うまくいくとは限らないから注意!)
    fdisk /mbr
    (5.Command Prompt Onlyから実行)

5.実際の運用
Linuxを使う時は、Windowsが起動する前にF8をキーを押して、
5.Command Prompt OnlyよりDOSを起動し、作ったバッチを走らせることにより、
LoadlinでLinuxを起動するという形になる。