<!doctype linuxdoctr system>
<article>
<title>NT OS Loader + Linux mini-HOWTO</title>
<author>Bernd Reichert, &lt;reichert@dial.eunet.ch&gt;</author>
<date>v1.11, 2 September 1997
<trans>早川　仁 &lt;cz8cb01@linux.or.jp&gt;
<tdate>v0.00, 1999年 1月22日

<sect> 概要
<!-- Abstract -->
<p>
<!-- This document describes the use of the Windows NT boot loader to
start Linux.
This procedures have been tested with Windows NT 4.0 WS and Linux 2.0.
-->
このドキュメントは Linux を起動するための Windows NT ブートローダーの
使用方法について説明しています。テストは Windows NT4.0 Workstation 及び
Linux 2.0 で行いました。

<sect> NT OS ローダーはどのように動作するのか
<!-- How does the NT OS Loader work -->
<p>
<!-- The NT OS loader likes to have the boot sector from the other
operating systems available as a file. It reads this file and 
starts the operating system selected, i.e. either Windows NT in 
different Modes or any other OS.
-->
NT OS ローダは他の OS で一つのファイルとして作成したブートセクターを
読み込むことができます。ローダーはこのファイルを読み込み、選択された OS を
起動します。例えば Windows NT の VGA モードや他の OS などです。

<sect> Windows NT と Linux を同じマシン上にインストールする為の Tips
<!-- Tips on how to install Windows NT and Linux on the same System -->
<sect1> Windows NT のインストール
<!-- Windows NT installation -->
<p>
<!-- Try to install Windows NT first. If you want to use NTFS for your Windows 
NT-partition, keep in mind, that the todays production version of Linux
cannot access NTFS partitions. 
An alpha driver that can read NTFS-Partitions is available at 
<tt>http://www.informatik.hu-berlin.de/~loewis/ntfs</tt>.
You may create a separate FAT-Partition for data exchange 
or you have to use DOS-formatted floppies.
-->
Linux よりも先に Windows NT をインストールするようにしてください。
パーティションを NTFS として使用したい場合、現バージョンの Linux は
NTFS パーティションにアクセスできないという事を覚えておいてください。
NTFS パーティションを読めるα版のドライバは
<tt>http://www.informatik.hu-berlin.de/~loewis/ntfs</tt> で入手できます。
データ交換用として別の FAT パーティションを作成しても問題ありません。
NTFS のみで使用する場合は DOS フォーマットのフロッピーが必要になります。

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

<sect1> パーティションを切る
<!-- Partitioning -->
<p>
<!-- Another Mini-howto recommends not to use NTs "Disk Administartor" 
to create the Linux swap- and root-partitions. It is sufficient to 
see the free space there. I also recommend to use linux's fdisk later.
-->
他の Mini-howto では、Linux の swap/root パーティションを作成するために
NT の"ディスクアドミニストレータ"を使わない事を推奨していますが、
空き容量の確認の為であれば特に問題はありません。その場合、
後で Linux の fdisk を使用して再確認する事をお勧めします。

<sect1> Linux のインストール
<!-- Linux installation -->
<p>
<!-- Now boot linux from diskettes, create the swap and root-partition.
Fdisk assumes the ntfs-partition to be a HPFS-partition. 
This is normal.
Boot again from diskettes and install Linux as you like.
-->
Linux をフロッピーから起動して、swap と root のパーティションを作成して
ください。Fdisk は NTFS パーティションを HPFS パーティションだと表示しますが、
これは通常の状態です。フロッピーから再起動して、お好きな方法で Linux を
インストールしてください。

<p>
<!-- Just in case the installation procedure suggests that you could mount 
the HPFS partition which it has found: Ignore it. 
-->
念のために書いておきますが、インストーラーは見つけた HPFS パーティション
（実際は NTFS パーティション）をマウントできると表示しますが、
これは無視してください。

<sect1> Lilo
<p>
<!-- When you come to the Lilo-Section, specify your Linux-root-partition 
as your boot device because the Master Boot Record (MBR) of your
harddisk is owned by Windows NT. This means that the root-entry and
the boot-entry in your <tt>/etc/lilo.conf</tt> have the same value.
If you have a IDE-harddisk and your Linux-partition is is the second 
partition, your boot-entry in <tt>/etc/lilo.conf</tt> looks like:
-->
Lilo の設定では、Linux の root パーティションをブートデバイスとして指定
してください。理由としては、ハードディスクのマスターブートレコード(MBR)は
Windows NT が使用しているからです。これは <tt>/etc/lilo.conf</tt> のルートエントリーと
ブートエントリーが同じ値を持つ事を意味します。あなたのハードディスクが
IDE で Linux が二番目のパーティションに入っている場合、<tt>/etc/lilo.conf</tt> の
boot エントリーはこのようになります。

<tscreen><verb>
boot=/dev/hda2
</verb></tscreen>

<!-- If you have two disks and your Linux resides on the first partition
of your second disk, your boot-entry in <tt>/etc/lilo.conf</tt> looks like:
-->
ハードディスクが二台あり、Linux が二台目のディスクの一番目の
パーティションにインストールされている場合、/<tt>etc/lilo.conf</tt> の
boot エントリーはこのようになります。

<tscreen><verb>
boot=/dev/hdb1
</verb></tscreen>

<!-- Run lilo with a kernel that matches your system. 
Check the kernel by booting from diskette first if you are not sure.
-->
あなたのシステムにあったカーネルで lilo を実行してください。
どのカーネルが正しいかどうか分からないときは、まずフロッピーから起動して
カーネルをチェックしてください。

<p>
<!-- If you cannot boot Windows NT now, you have a problem.
I hope you have created a repair-disk recently.
-->
もしもこの段階で Windows NT を起動できない場合は・・・困りました。
あなたが最近作成した修復ディスクを持っている事を願います。

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

<sect> Bootpart プログラム
<!-- Bootpart -->
<!-- <p>
There is a NT-programm called bootpart written by G. Vollant that can do
the jobs from the next two points for you. Bootpart is available at 
<tt>http://ourworld.compuserve.com/homepages/gvollant/bootpart.htm</tt>.
-->

<p>
<!-- If you want to know how things are working together, use the procedures 
described in point 5 and 6.
-->
G. Vollant によって書かれた bootpart というNTのプログラムがあります。
これは次の、ポイント５と６で行う Linux と NT 上で行う作業と同じ事を
してくれます。bootpartは、
<tt>http://ourworld.compuserve.com/homepages/gvollant/bootpart.htm</tt> から
入手できますが、どのように作業が行われるのかを知りたければ、ポイント
５、６で説明されている方法を参照してください。

<sect>Linux 上での作業
<!-- The Linux part of the work-->
<p>
<!-- You have to boot from diskettes until the NT-part is fixed.
-->
NT 上での作業が終わるまでは、フロッピーから起動するようにしてください。

<p>
<!-- Now you have to peel the bootsector from your Linux-root-Partition.
With /dev/hda2 as your linux-partition, the dd-command is:
-->
まず root パーティションのブートセクタをファイルへ落とします。
Linux パーティションを /dev/hda2 とすると、dd コマンドはこのようになります。

<tscreen><verb>
# dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1
</verb></tscreen>

<!-- There is something wrong if your bootsect.lnx has more 
than 512 bytes.
-->
ブートセクタはちょうど１セクタ分（512バイト）なので、作られた 
bootsect.lnx が512バイトよりも大きかった場合、何か間違いがあります。

<!-- Now copy the file bootsect.lnx to a DOS-formated floppy if this is 
your way to transfer files to the NTFS-Windows-partition.
-->
NTFS パーティションへファイルをコピーするのに、いつも DOS フォーマットの
フロッピーを使用して行っているのでしたら、bootsect.lnx をフロッピーへ
コピーしてください。

<!-- You can copy it with -->
フロッピーへのコピー方法はこのように行うか、

<tscreen><verb>
# mcopy /bootsect.lnx a:
</verb></tscreen>

<!-- or with -->
または以下のように行います。

<tscreen><verb>
# mount -t msdos /dev/fd0 /mnt
# cp /bootsect.lnx /mnt
# umount /mnt
</verb></tscreen>


<sect>Windows NT での作業
<!-- The Windows NT part of the work -->
<p>
<!-- Copy the file from the diskette to <tt>C:\\bootsect.lnx</tt>. I don't tell you
how to do that.
-->
フロッピーから先程の bootsect.lnx をＣドライブのルートへコピーしてください。
どのような方法でも構いませんが
<tt>copy a:&bsol;bootsect.lnx c:&bsol;</tt>
が、簡単でしょう。

<!-- What lilo.conf is for linux is <tt>c:\\boot.ini</tt> for Windows NT.
Remove the, system- and the read-only-attribute before you 
can modify it with:
-->
Windows NT で、Linux でいう lilo.conf と同じ働きをするのが <tt>c:\\boot.ini</tt> です。
作業を始める前に以下のようにしてシステム／リードオンリーの属性を外して

<tscreen><verb>
C:\attrib -s -r c:\boot.ini 
</verb></tscreen>

<!-- Now change the file boot.ini with an editor, notepad for example, as follows: -->
boot.ini をエディター（例えばメモ帳）で以下のように編集してください。

<tscreen><verb>
[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"
</verb></tscreen>

<!-- Only the last line has been added in this example.
Restore the attributes after you have saved <tt>boot.ini</tt> with: 
-->
この例で追加したのは最終行のみです。<tt>boot.ini</tt> をセーブした後は
このようにして属性を元に戻してください。

<tscreen><verb>
C:\attrib +s +r c:\boot.ini 
</verb></tscreen>

<!-- After a shutdown of your Windows NT and a restart your should
see the following:
-->
Windows NT をシャットダウンして再起動すると、以下のように
表示されるはずです。

<!--
<tscreen><verb>
  OS Loader V4.00
  オペレーティング システムの選択
 
  Please select the operating system to start:

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

  Select Linux and see

  LILO loading zImage ....
</verb></tscreen>
-->

<tscreen><verb>
  オペレーティング システムの選択
 
  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 ....
</verb></tscreen>



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

<p>
<!-- A new copy of bootsect.lnx must be transfererd to <tt>C:&bsol;BOOTSECT.LNX</tt>
evry time the bootsector of your linux-partition has been modified.
This happens for example when you install a new kernel with lilo.   
As you can see such a system in not ideal for testing experimental 
kernels.
-->
新しいカーネルを lilo でインストールした時など、linux パーティションの
ブートセクタが変更された場合は、<tt>C:&bsol;BOOTSECT.LNX</tt> を新しい物に
更新する必要があります。ですから、このようなシステムは開発版のカーネルを
テストするには向きません。

<sect> トラブルシューティング
<!-- Troubleshooting -->
<p>
<!-- If things do not work as expected, check bootability with a floppy disk.
With <tt>/dev/hdb1</tt> as your Linux-partition, your <tt>/etc/lilo.conf</tt> 
has the following entries:
-->
期待通りに進まなかった場合、フロッピーディスクを使用してブート可能か
どうか調べてください。<tt>/dev/hdb1</tt> を Linux パーティションだとすると
<tt>/etc/lilo.conf</tt> は次のようなエントリーを持っています。

<tscreen><verb>
root=/dev/hdb1
boot=/dev/fd0
</verb></tscreen>

<!-- Run lilo with a diskette inserted. Now try to boot from the diskette. 
If your Linux on <tt>/dev/hdb1</tt> can't be 
started, the NT OS loader will also fail to start it.  
If you see a lot of <tt>01 01 01 01</tt>, your root-disk is not accessible.
Check whether all your disks are known by the bios.
-->
フロッピーを入れて lilo を起動してください。するとフロッピーから起動
します。もしも <tt>/dev/hdb1</tt> の Linux を起動できなかった場合、NT OS
ローダーからの起動にも失敗します。もしも多くの <tt>01 01 01 01</tt> が表示された
場合、あなたの root ディスクはアクセス不能になっています。ディスクが
bios から見えるかどうかチェックしてください。

<p>
<!-- If the floppy boots your Linux partition, you can peel of your 
boot-sector for the NT OS loader with: 
-->
フロッピーから Linux パーティションをブートできた場合、NT OS ローダー用
のブートセクタはこのようにして準備できます。

<tscreen><verb>
# dd if=/dev/fd0 of=/bootsect.lnx bs=512 count=1
</verb></tscreen>

<p>
<!-- You can keep this diskette as your rescue-diskette just in case
your Windows NT installation breaks.
-->
このフロッピーは Windows NT の環境が壊れた時に緊急用ディスクとして
使用する事ができます。

<sect> 参考文献
<!-- References -->
<p>
<itemize>
  <item>The Linux+WindowsNT mini-HOWTO
  <item>The FAQ for FreeBSD 2.X
</itemize>

<sect> 謝辞
<!-- Acknowledgements -->
<p>
<itemize>
<!--   <item>Thanks to Xiaoming Yi &lt;z3c20@ttacs.ttu.edu&gt; for the tip that
    the procedures work also with other disks than the first one.
  <item>Thanks to Frank Dennler &lt;Frank.Dennler@zkb.ch&gt; for the
    diskette-trick.
-->
<item>Xiaoming Yi &lt;z3c20@ttacs.ttu.edu&gt; には、一番目以外の HDD から
起動する方法の tip について感謝します。
<item>Frank Dennler &lt;Frank.Dennler@zkb.ch&gt; のフロッピーのトリックに
感謝します。
</itemize>

<sect> フィードバック
<!-- Feedback -->
<p>
<!-- Any comments are welcome.-->
どんなコメントも歓迎します。

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

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

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

日本語訳：早川　仁<newline>
校正　　：長谷川　靖 <htmlurl url="mailto:yaz-hase@qb3.so-net.ne.jp"
                                   name = "yaz-hase@qb3.so-net.ne.jp">

1999年 1月22日
</article>
