  NT OS Loader + Linux mini-HOWTO
  Bernd Reichert, <reichert@dial.eunet.ch>
  v1.11, 2 September 1997
  早川 仁 <cz8cb01@linux.or.jp>
  v0.00, 1999年 1月22日

  1.  概要

  このドキュメントは Linux を起動するための Windows NT ブートローダーの
  使用方法について説明しています。テストは Windows NT4.0 Workstation 及
  び Linux 2.0 で行いました。

  2.  NT OS ローダーはどのように動作するのか

  NT OS ローダは他の OS で一つのファイルとして作成したブートセクターを読
  み込むことができます。ローダーはこのファイルを読み込み、選択された OS
  を起動します。例えば Windows NT の VGA モードや他の OS などです。

  3.  Windows NT と Linux を同じマシン上にインストールする為の Tips

  3.1.  Windows NT のインストール

  Linux よりも先に Windows NT をインストールするようにしてください。パー
  ティションを NTFS として使用したい場合、現バージョンの Linux は NTFS
  パーティションにアクセスできないという事を覚えておいてください。 NTFS
  パーティションを読めるα版のドライバは http://www.informatik.hu-
  berlin.de/~loewis/ntfs で入手できます。データ交換用として別の FAT パー
  ティションを作成しても問題ありません。 NTFS のみで使用する場合は DOS
  フォーマットのフロッピーが必要になります。

  （訳注：Linux で lilo のインストール時などに MBRを 誤って上書きしてし
  まった時の為にインストール中、もしくは起動後に rdisk.exe コマンドで修
  復ディスクを作成しておくことをお勧めします。また最近の 2.1 系、 2.2系
  のカーネルでは NTFS を使用できるという情報を頂きました）

  3.2.  パーティションを切る

  他の Mini-howto では、Linux の swap/root パーティションを作成するため
  に NT の"ディスクアドミニストレータ"を使わない事を推奨していますが、空
  き容量の確認の為であれば特に問題はありません。その場合、後で Linux の
  fdisk を使用して再確認する事をお勧めします。

  3.3.  Linux のインストール

  Linux をフロッピーから起動して、swap と root のパーティションを作成し
  てください。Fdisk は NTFS パーティションを HPFS パーティションだと表示
  しますが、これは通常の状態です。フロッピーから再起動して、お好きな方法
  で Linux をインストールしてください。

  念のために書いておきますが、インストーラーは見つけた HPFS パーティショ
  ン（実際は NTFS パーティション）をマウントできると表示しますが、これは
  無視してください。

  3.4.  Lilo

  Lilo の設定では、Linux の root パーティションをブートデバイスとして指
  定してください。理由としては、ハードディスクのマスターブートレコー
  ド(MBR)は Windows NT が使用しているからです。これは /etc/lilo.conf の
  ルートエントリーとブートエントリーが同じ値を持つ事を意味します。あなた
  のハードディスクが IDE で Linux が二番目のパーティションに入っている場
  合、/etc/lilo.conf の boot エントリーはこのようになります。

       boot=/dev/hda2

  ハードディスクが二台あり、Linux が二台目のディスクの一番目のパーティ
  ションにインストールされている場合、/etc/lilo.conf の boot エントリー
  はこのようになります。

       boot=/dev/hdb1

  あなたのシステムにあったカーネルで lilo を実行してください。どのカーネ
  ルが正しいかどうか分からないときは、まずフロッピーから起動してカーネル
  をチェックしてください。

  もしもこの段階で Windows NT を起動できない場合は・・・困りました。あな
  たが最近作成した修復ディスクを持っている事を願います。

  （訳注：もしも作成していなかった場合はNTに付属している３枚のＮＴインス
  トール用起動用ディスクから起動後、修復セットアップを選択すれば MBR を
  修復できます）

  4.  Bootpart プログラム

  G. Vollant によって書かれた bootpart というNTのプログラムがあります。
  これは次の、ポイント５と６で行う Linux と NT 上で行う作業と同じ事をし
  てくれます。bootpartは、
  http://ourworld.compuserve.com/homepages/gvollant/bootpart.htm から入
  手できますが、どのように作業が行われるのかを知りたければ、ポイント５、
  ６で説明されている方法を参照してください。

  5.  Linux 上での作業

  NT 上での作業が終わるまでは、フロッピーから起動するようにしてくださ
  い。

  まず root パーティションのブートセクタをファイルへ落とします。 Linux
  パーティションを /dev/hda2 とすると、dd コマンドはこのようになります。

       # dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1

  ブートセクタはちょうど１セクタ分（512バイト）なので、作られた
  bootsect.lnx が512バイトよりも大きかった場合、何か間違いがあります。

  NTFS パーティションへファイルをコピーするのに、いつも DOS フォーマット
  のフロッピーを使用して行っているのでしたら、bootsect.lnx をフロッピー
  へコピーしてください。

  フロッピーへのコピー方法はこのように行うか、

       # mcopy /bootsect.lnx a:

  または以下のように行います。

       # mount -t msdos /dev/fd0 /mnt
       # cp /bootsect.lnx /mnt
       # umount /mnt

  6.  Windows NT での作業

  フロッピーから先程の bootsect.lnx をＣドライブのルートへコピーしてくだ
  さい。どのような方法でも構いませんが copy a:\bootsect.lnx c:\ が、簡単
  でしょう。

  Windows NT で、Linux でいう lilo.conf と同じ働きをするのが
  c:\\boot.ini です。作業を始める前に以下のようにしてシステム／リードオ
  ンリーの属性を外して

       C:\attrib -s -r c:\boot.ini

  boot.ini をエディター（例えばメモ帳）で以下のように編集してください。

       [boot loader]
       timeout=30
       default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
       [operating systems]
       multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation ...
       multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation ...
       C:\BOOTSECT.LNX="Linux"

  この例で追加したのは最終行のみです。boot.ini をセーブした後はこのよう
  にして属性を元に戻してください。

       C:\attrib +s +r c:\boot.ini

  Windows NT をシャットダウンして再起動すると、以下のように表示されるは
  ずです。
         オペレーティング システムの選択

         Please select the operating system to start:

         Windows NT Workstation Version 4.0
         Windows NT Workstation Version 4.0 [VGA mode]
         Linux

       Linux を選択するとこのように表示されます。

         LILO loading zImage ....

  7.  Play it again Sam／ボギー！俺も男だ （訳注：米'72 映画のタイトル）

  新しいカーネルを lilo でインストールした時など、linux パーティションの
  ブートセクタが変更された場合は、C:\BOOTSECT.LNX を新しい物に更新する必
  要があります。ですから、このようなシステムは開発版のカーネルをテストす
  るには向きません。

  8.  トラブルシューティング

  期待通りに進まなかった場合、フロッピーディスクを使用してブート可能かど
  うか調べてください。/dev/hdb1 を Linux パーティションだとすると
  /etc/lilo.conf は次のようなエントリーを持っています。

       root=/dev/hdb1
       boot=/dev/fd0

  フロッピーを入れて lilo を起動してください。するとフロッピーから起動し
  ます。もしも /dev/hdb1 の Linux を起動できなかった場合、NT OS ローダー
  からの起動にも失敗します。もしも多くの 01 01 01 01 が表示された場合、
  あなたの root ディスクはアクセス不能になっています。ディスクが bios か
  ら見えるかどうかチェックしてください。

  フロッピーから Linux パーティションをブートできた場合、NT OS ローダー
  用のブートセクタはこのようにして準備できます。

       # dd if=/dev/fd0 of=/bootsect.lnx bs=512 count=1

  このフロッピーは Windows NT の環境が壊れた時に緊急用ディスクとして使用
  する事ができます。

  9.  参考文献

  o  The Linux+WindowsNT mini-HOWTO

  o  The FAQ for FreeBSD 2.X

  10.  謝辞

  o  Xiaoming Yi <z3c20@ttacs.ttu.edu> には、一番目以外の HDD から起動す
     る方法の tip について感謝します。

  o  Frank Dennler <Frank.Dennler@zkb.ch> のフロッピーのトリックに感謝し
     ます。

  11.  フィードバック

  どんなコメントも歓迎します。

  （訳注：（特にWindowsサイドの）さらなる情報を知りたい場合、以下のサイ
  トが非常に役立ちます。
  http://hp.vector.co.jp/authors/VA001240/article/ntldr.html Windows
  NTのOSローダーによるマルチOSブートの試み）

  12.  訳者あとがき

  日本語訳は Linux-JF プロジェクトの方々から多くのご助言を頂きました。あ
  りがとうございます。

  また「Windows NTのOSローダーによるマルチOSブートの試み」へのリンクを快
  諾して頂いた伊藤 隆幸<yuki@dayo.ne.jp>（敬称略）にも感謝致します。

  日本語訳：早川 仁
  校正  ：長谷川 靖 yaz-hase@qb3.so-net.ne.jp

  1999年 1月22日

