Windows 2000 / XP のブートドライブのファイル
不要なファイルを削除するときの参考にしてください。なお、Windows2000 のブートローダで Windows XP を起動できません。逆は可能です。 また、Windows XP Home のブートローダで Windows XP Professional は起動可能です。
● Windows 2000 日本語版のブートローダ関連ファイル
ファイル名 | 説明 |
---|---|
ARCLDR.EXE | |
ARCSETUP.EXE | |
BOOTFONT.BIN | 日本語フォント(起動メニューで日本語が必要な場合) |
BOOT.INI | 設定ファイル(NTLDRから呼び出されるテキストファイル) |
CMLDR | 回復コンソール(回復コンソールをインストールした場合のみ) |
NTLDR | ブートローダ |
NTDETECT.COM | ハードウエア情報収集(NTLDRから呼び出される) |
● Windows XP 日本語版のブートローダ関連ファイル
ファイル名 | 説明 |
---|---|
BOOTFONT.BIN | 日本語フォント(起動メニューで日本語が必要な場合) |
BOOT.INI | 設定ファイル(NTLDRから呼び出されるテキストファイル) |
CMLDR | 回復コンソール(回復コンソールをインストールした場合のみ) |
NTLDR | ブートローダ |
NTDETECT.COM | ハードウエア情報収集(NTLDRから呼び出される) |
Windows 2000,XP のブートFDを作成する
ブートセクタ
Windows98でフォーマットしたフロッピーディスクでは、NTLDRを起動できません。
フロッピーディスクのブートセクターは次のようになっています。
Windows2000 でフォーマットしたディスク
起動時に読み込まれるのは、NTLDR
Windows98でフォーマットしたディスク
起動時に読み込まれるのは、 IO.SYSと MSDOS.SYS
Windows 2000,XPのブートFDを作成するときは、必ず「そのOS」でFDをフォーマットします。
ブートFDに必要なファイルのコピー
標準で起動するハードディスク(通常はCドライブ)から次のファイルをコピーします。
- NTLDR
- NTDETECT.COM
- BOOT.INI
そして、BOOT.INIを起動するパーティションの状況に合わせて修正します。
[boot loader] timeout=10 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /FASTDETECT /NOEXECUTE=OPTIN
参考資料
- Microsoft KB311073 : NTFS または FAT パーティションに対するブート ディスクを作成する
- Microsoft KB170756 : Boot.iniファイルで使用できるスイッチ オプションについて
- Microsoft KB833721 : Windows XP および Windows Server 2003 の Boot.ini ファイルで使用可能なスイッチ オプション
- @IT : フロッピー・ディスクからWindows OSを起動する
NTLDRでLinuxを起動する
Linuxのブートローダ(LILOやGRUB)を、Linuxパーティションのブートセクタ(PBR)にインストールすれば、NTLDRからチェーンロードすることが出来る。
なお、48bit FATに対応していないBIOSの場合は、128GBytesを超えるところにあるパーティションから起動することは出来ない。/bootパーティションだけでも128GBytes以下のところに持ってこなくてはならない。
Linuxでブートローダを抽出する場合
CD起動のLinux(Live CD)を用いて抽出するのが手っ取り早いです。
Live CDが起動したら、シェルを実行して、ファイル書き込み権限を得るためにルートユーザになる。(ディストリビューションによっては、最初からファイル書き込み権限がある場合もある)
Knoppix@Microknoppix:~$ su root@Microknoppix:~#
fdisk で Linux のインストールされているパーティションを確認して、dd コマンドでブートセクタをファイルに書き出す。
root@linux ~# fdisk /dev/hda このディスクのシリンダ数は 19929 に設定されています。 間違いではないのですが、1024 を超えているため、以下の場合 に問題を生じうる事を確認しましょう: 1) ブート時に実行するソフトウェア (例. バージョンが古い LILO) 2) 別の OS のブートやパーティション作成ソフト (例. DOS FDISK, OS/2 FDISK) コマンド (m でヘルプ): p Disk /dev/hda: 163.9 GB, 163928604672 bytes 255 heads, 63 sectors/track, 19929 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス ブート 始点 終点 ブロック ID システム /dev/hda1 1 255 2048256 1b 隠し Win95 FAT32 /dev/hda2 256 510 2048287+ 1b 隠し Win95 FAT32 /dev/hda3 * 511 765 2048287+ b Win95 FAT32 /dev/hda4 766 19929 153934830 f Win95 拡張領域 (LBA) ... 中略 ... /dev/hda14 13261 15810 20482843+ 7 HPFS/NTFS /dev/hda15 15811 15938 1028128+ 82 Linux スワップ /dev/hda16 15939 16320 3068383+ 83 Linux コマンド (m でヘルプ): q root@linux ~# dd if=/dev/hda16 of=./linux-pbr.bin bs=512 count=1
作成された linux-pbr.bin を、NTLDR のインストールされた起動ドライブにコピーして、boot.ini にエントリーを追加する。
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /FASTDETECT /NOEXECUTE=OPTIN
c:\linux-pbr.bin="Ubuntu 9.10"
参考資料
@IT : Windows XPとLinuxを共存させるには(LILO編)
Windows XPとLinuxを共存させるには(GRUB編)
Windows VistaとLinuxを共存させるには(Windows Vista編)