その3 応用編

 応用編のテーマは効率だ。ここで効率のよいマルチブートシステムの構成方法、ノウハウを解説する。ここまで理解できれば、ほとんどどんなマルチブートシステムでも自由自在に構築できるようになるだろう。なお、ここではWindows MeWindows 2000のデュアルブートシステムの場合を例として取り上げるが、基本的にはWindows Meの代わりにWindows 95 OSR2以降のWindows 9xを、またWidows 2000の代わりにWindows NT 4.0あるいはWindows XPを当てはめることができる。適宜読み替えていただきたい。

Part1 効率的なパーティション設計

 ハードディスクの速度を気にする人は多いが、1台のハードディスクをいかに効率よく利用するかまで気を使っている人は意外に少ない。一般的にハードディスクは外周と内周とで読み書きの速度がかなり違う。場合によっては2倍の差があることもある。回転数が一定なら外周ほど線速度が速いため、読み書きも高速に行うことができる。一方、ヘッドはハードディスクの中間位置で待機しているため、シークタイムは中間部が一番高速だ。このことから、ハードディスクの外周部は連続したデータの読み書きが速く、中間部はランダムアクセスが速いということになる。なお、ハードディスクは外周部から内周部に順にアドレスを付けるので、ハードディスクの最外周が論理的な先頭になる。

 マルチブートシステムでは、OSが無事にインストールできるかが最優先され、ハードディスクの効率まで気が回らないという場合が多いと思うが、マルチブートにある程度慣れてきたら、効率のよいパーティション配置について検討して欲しい。

 ここでは、Windows MeWindows 2000のデュアルブートシステムを例にして、効率のよいパーティション設計を行ってみよう。まず、作成するパーティションとしては、両方のOSのシステムをインストールするためのパーティションとして、FAT32 (Windows Me) NTFS (Windows 2000) の2つを用意する。次に両方のOSで共用するアプリケーションのために別のパーティションを用意する。このパーティションはWindows Meからもアクセスできなければならないため、NTFSにはできないのでFAT32にする。さらに両OSで使うデータ保存用のパーティションを用意する。これもやはりNTFSではなくFAT32にする。以上、合計4つのパーティションを作成することにする。

 次に、この4つのパーティションをどう配置するのがもっとも効率がよいかを考えてみよう。そのPCをどのように使うかで最適な配置が決まってくるので、すべての場合に適合する最適な配置は存在しないが、仮に次のような使い方をすると想定する。

     OSWindows 2000を通常使用し、Windows MeWindows 2000で動作しないアプリケーションを使う場合や、テストなどの用途で補助的に使用する。

     データは、動画や音楽データなど比較的大きなデータを扱う。


 この場合は、
Windows Meのシステムを格納するパーティションは速度的に一番不利なハードディスクの最内周部に配置しよう。アプリケーションは比較的ランダムアクセスが多いので、ハードディスクの中間部に配置する。データパーティションは動画データなどが高速に読み書きできるように最外周部に配置する。

 もう一つ、考慮しなければならないことがある。それは各パーティションを基本パーティションにするか論理パーティションにするかだ。OSの制約から、ブート用のファイル (IO.SYS) を置くパーティションとシステム (Windowsフォルダ) を置くパーティションを同じにする場合は、Windows Meをインストールするパーティションは基本パーティションにしなければならない。それ以外のパーティションは基本パーティションでも論理パーティションでもよいが、ドライブ名に違いが出てくる。

 Windows MeのパーティションはWindows Meから見た場合は必ずC:ドライブになる。アプリケーション用パーティションとデータ用パーティションはWindows Meから見てもWindows 2000から見ても同じドライブ名である方が使いやすいので、D:E:を割り当てることにする。ここで、どちらにD:ドライブ名を割り当てるかだが、(この辺は筆者の好みでしかないかもしれないが) アプリケーション用パーティションにD:ドライブを割り当てた方が使いやすいように思われる。となると、アプリケーション用パーティションは論理パーティションで、データ用パーティションは基本パーティションでなければならない (その理由は、「その1 理論編」の「ドライブレターの割り当て」を参照していただきたい)

 最後に残るのは、Windows 2000をインストールするパーティションをどうするかだが、これを論理パーティションにすると、Windows Meからは見えないので問題はないが、Windows 2000起動時にはE:ドライブとなり、データ用パーティションのドライブ名を奪ってしまうので、これは基本パーティションにするしかない。ドライブ名はインストール方法により、F:とすることもC:とすることも可能だ。もし将来Windows Meを使わなくなる可能性があるなら、C:にしておいた方がよいので、ここではC:ドライブにすることとしよう。C:ドライブがダブルことになるが、Windows MeからはWindows 2000NTFSパーティションが見えないので問題ない。またWindows 2000を起動したときは、Windows MeのパーティションはF:ドライブとなる。

 以上の設計によるパーティション構成を図示すると図1のようになる。

図1 効率を考えて設計したパーティション構成


 なお、このパーティション構成の場合、8GBの起動制限のため、Windows Meの代わりにWindows 95 (無印) を使うことはできない。同様に、Windows 2000の代わりにWindows NT 4.0 SP3以前を使うこともできない。Windows NT 4.0 SP4以降の場合はインストールに工夫が必要になる (「その2 実践編」の「Part2 Windows NTWindows 2000のデュアルブートシステム」を参照)

変則的なパーティションの作成方法

 このような変則的なパーティション構成はWindows MeWindows 2000の標準機能では作成できない。Windows 2000が動作する別のPCにハードディスクを接続すれば作成可能だが、1台のPCだけでは不可能だ。しかしオンラインソフトを使えば可能だ。

 たとえばフリーのOSローダーソフトのMBM (http://elm-chan.org/fsw/mbm/mbm.html) を使って30GBのハードディスクで、15GB、8GB、4GB2.2GBの4パーティションを作成する場合を例示しよう。

1.        まずMBMをダウンロード・解凍してフロッピィにコピーしておく。Windows Meの起動ディスクも用意しておく。

2.        Windows Meの起動ディスクで起動し、FDISKコマンドを実行する。

3.        最初にデータ用のパーティションを基本MS-DOS領域として作成する (画面1)。サイズは15GBだ。

画面1 FDISKで最初に基本MS-DOS領域を作成する

4.      次にアプリケーション用のパーティションを作成するために、拡張MS-DOS領域を作成する。サイズは8GB

5.      さらに拡張MS-DOS領域の中に、作成できる最大容量 (GB) で論理MS-DOSドライブを作成する。

6.      FDISKを終了する。

7.      Windows Meの起動ディスクで起動し、MBMを入れたフロッピィに差し替え、「MBM EDIT」と入力してMBMの区画エディタを起動する (画面2)

画面2 MBM区画エディタの起動画面

8.      DOS FAT32X (512M..)」が反転していることを確認して、「PageUp」キーを何回か押し、「DOS FAT32X (hidden)」と表示されるようにする (画面3)。これはパーティションテーブルのシステムIDFAT32Xを示す「0C」から隠しパーティションの「1C」に変更するものだ。

画面3 PageUpキーを何回か押し、DOS FAT32X (hidden) と表示されるようにする

9.      F8」キーを押して変更をハードディスクに書き込み、「Esc」キーを押して区画エディタを終了する。
この処理により、一時的にデータ用パーティションがWindows Meから見えなくなり、この後の作業が可能になる。

10.  再度Windows Meの起動ディスクから起動し、FDISKを実行する。アクティブな領域が設定されていないというメッセージが表示されるが気にしなくてよい。

11.  基本MS-DOS領域の作成を選び、サイズを「4000MBと指定する (画面4)。これがWindows 2000のシステムをインストールするパーティションになる。
FDISK
では、基本的には複数の基本区画を作成することができないが、9.の操作でデータ用パーティションが隠しパーティションにされたので、領域1は「Non-DOS」と表示されている。このため、2つ目の基本MS-DOS領域の作成が可能になる。

画面4 4GBのサイズで基本MS-DOS領域を作成する

12.  Esc」キーでFDISKの初期画面に戻り、「2. アクティブな領域を設定」を選び、新たに作成した領域をアクティブにする (画面5)

画面5 Windows 2000をインストールするパーティションをアクティブにする

13.  FDISKを終了する。


 これで
Windows 2000をインストールするための準備が整った。
なお、MBMの区画エディタで、パーティションの作成もできるが、Windows 2000Windows Meでうまく認識できない場合があるので、ここはOSの機能に任せた方が確実だ。


Windows 2000Windows Meのインストール

1.      いよいよWindows 2000をインストールする。
インストール方法は通常と特に違いがないので省略するが、次の点だけ気をつけて欲しい。
Windows 2000をインストールするパーティションは最後に作成した4GBのパーティションにする。
●インストールパーティションはNTFSでフォーマットする。
●インストール中あるいはインストール後に「Missing operating system」のエラーが表示された場合は、Windows 2000のフロッピィまたはCD-ROMから起動し、回復コンソールを実行し、FIXMBRコマンドを実行することで、エラーを修復できる。

2.      次にWindows Meをインストールするための準備を行う。
まず、Windows Meの起動ディスクで起動し、FDISKを使ってハードディスクの残り容量全部で基本MS-DOS領域を作成する。
これは3つ目の基本区画だが、領域1が「Non-DOS」、領域3が「NTFS」なので、3つ目の基本区画が作成可能だ。
実は、筆者はこのとき画面6で「Y」と答え、最大サイズを割り当て、同時にそのパーティションをアクティブに設定したのだが、後でトラブルが起きた。これについては「参考」の「5 FDISKによるアクティブ設定の不具合」を参照していただきたいが、この画面では、決して「Y」と応答せずに「N」と答え、その後、最大サイズで基本MS-DOS領域を作成していただきたい。そしてアクティブ領域は決して変更しないようにする。

画面6 この画面でYと答えると、後でトラブルになる

3.      FDISKを終了する。

4.      Windows Meの起動ディスクで起動し、MBMのディスクに差し替え、「MBM EDIT」を実行する。

5.      カーソルを「DOS FAT32X (512M..)」に移動し、このパーティションをアクティブにするためにスペースキーを押す (画面7)

画面7 スペースキーを押してWindows Meをインストールするパーティションをアクティブにする

6.      F8」キーを押して変更をハードディスクに書き込み、「Esc」キーを押して区画エディタを終了する。
これでWindows Meをインストールするパーティションがアクティブになった。

7.      Windows Meの起動ディスクで起動し、C:ドライブが新規に作成された2.2GBのパーティションであることを確認してから、「FORMAT C:」を実行する。これで、Windows Meをインストールする準備が整った。

8.      Windows Meをインストールする。
インストールの方法は通常と同じなので、ここでは説明を省略する。注意点は、
●インストール先はデフォルトのままC:ドライブにする。
●インストール中あるいはインストール後に「Missing operating system」のエラーが表示された場合は、Windows 2000のフロッピィまたはCD-ROMから起動し、回復コンソールを実行し、FIXMBRコマンドを実行することで、エラーを修復できる。
●インストール中に画面8のハードディスクにNTFSパーティションがあるという警告メッセージが表示されるが無視してよい。

画面8 ハードディスクにNTFSパーティションがあるという警告メッセージ

デュアルブートの設定

 ここまでで、Windows 2000Windows Meがインストールできた。しかし、このままではWindows Meしか起動しない。Windows 2000Windows Meをメニューから選択起動できるようにするためには、OSセレクタを使ったデュアルブートの設定が必要だ。OSセレクタにはWindows 2000NTLDRを使う方法もある。ここでは、せっかくMBMを用意したのだから、OSセレクタとしてMBMを使う方法を紹介する。

1.      デュアルブートの設定をする前に、データ用パーティションの隠し属性を解除しておこう。
Windows Me
の起動ディスクで起動して、MBMのディスクに差し替え、「MBM EDIT」を実行する。

2.      DOS FAT32X (hidden)」が反転していることを確認して、「PageDown」キーを何回か押し、「DOS FAT32X (512M..)」と表示されるようにする (画面2、3を参照)

3.      F8」キーを押して変更をハードディスクに書き込み、「Esc」キーを押して区画エディタを終了する。
この処理により、データ用パーティションがWindows Meから見えるようになる。

4.      Windows Meの起動ディスクで起動し、D:ドライブ (アプリケーション用ドライブ) E:ドライブ (データ用ドライブ) をフォーマットする。

5.      MBMのディスクに差し替え、「MBM INSTALL」を実行してMBMをインストールする (画面9)

画面9 MBMをインストールする

6.      ハードディスクから再起動すると、MBMが起動し、画面10が表示される。

画面10 最初のMBMの起動画面

7.      この状態は、4つのパーティションが自動的に認識されているものの、デフォルトでデータ用パーティションから起動するようになっている。このままではうまくないので、これを修正する。

8.      まず、「3. HPFS/NTFS」にカーソルを移動し、「F1」キーまたはスペースキーを押す。これでHPFS/NTFSにアスタリスクが付き、Windows 2000がデフォルトで起動するようになる (画面11)

画面11 Windows 2000がデフォルトで起動するように設定

9.      F2」キーを押すと、メニューに表示するOS名をカスタマイズすることもできる。ここでは「Windows 2000 Pro」、「Windows Me」と変更した。また「F3」キーを押すとデフォルトのOSが起動するまでの時間を秒で指定できる。ここでは10秒に設定した (画面12)

画面12 メニューの表示を変更し、デフォルトのOSが起動するまでの時間を指定する

10.  さらにパーティション1および2はこのOS選択メニューに表示する必要がないのでメニューから消すようにしよう。そのためには、「F2」キーで名前を変更する際に、先頭にアスタリスク「*」を付ける。これでパーティション1、2はメニューに表示されなくなる。再起動して結果を確かめると、画面13のようになる。

画面13 MBMの変更を終えて再起動した画面

 なお、MBMのメニューから「3. Diskette」を選ぶとフロッピィから起動することができる。この機能は、BIOSでフロッピィから起動しないように設定しておいても有効なので、普段はフロッピィを検索しない分、ハードディスクからの起動時間を短縮できる。

 さらに、MBMのユニークな機能として、メニュー画面に好きな画像を張り付けてカスタムメニューを作ることができる点があげられる。サンプル画像が作者のWebサイトにあるので興味がある人はダウンロードするとよいだろう。

画面14 サンプル画像を使ったメニューの例

 これで、Windows 2000Windows Meのインストールおよびデュアルブートの設定が完了した。Windows 2000およびWindows Meが正常に起動できることを確認していただきたい。

 ついでに後のことを考えて、Windows 2000で起動したときのCD-ROMドライブやMOドライブなどのリムーバブルドライブ名をWindows Meでのドライブ名と同じにしておくとよい。具体的には、このテストマシンにはCD-ROM (DVD-ROM) ドライブとMOドライブが接続されていて、Windows MeではMOドライブがF:ドライブ、CD-ROMドライブがG:ドライブとなっている。一方、Windows 2000では、Windows MeのパーティションがF:ドライブになるため、MOドライブがG:CD-ROMドライブがH:となっている。これをWindows Meに合わせて、MOF:CD-ROMG:Windows MeのパーティションをH:に変更した。ドライブ名の変更は「コントロールパネル」「管理ツール」「コンピュータの管理」「ディスクの管理」で行う。

Part2 デュアルブートを安全に解除する方法


Windows 9xを削除してWindows NT/2000/XPだけにする

 Windows NT/2000/XPでは動作しない周辺機器やアプリケーションがあったために、やむなくWindows NT/2000/XPとWindows 9xのマルチブートシステムで運用してきたが、周辺機器やアプリケーションがWindows NT/2000/XPに対応できるようになったため、もはやWindows 9xが必要なくなった。そこで、Windows 9xを削除することで、ハードディスクを有効に活用したい、という場合もあることだろう。次に、このような場合に、安全にWindows 9xをハードディスクから削除する方法を紹介する。

1.      Windows 9xWindows NT/2000/XPがどちらもC:ドライブ (基本パーティション) としてインストールされている場合は、Windows 9xのパーティションをまるごと削除することができる。ただし、Windows 9xのパーティションがWindows NT/2000/XPのパーティションより前にあった場合で、削除したパーティションを空き領域のままにしておいたり、新たに論理パーティションを作成する場合は、「Boot.ini」を修正しないとWindows NT/2000/XPが起動できなくなる。例えば、Boot.ini

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Professional" /fastdetect

のようになっているなら、

[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="Microsoft Windows 2000 Professional" /fastdetect

に書き換える。
Windows 9x
のパーティションがWindows NT/2000/XPのパーティションより後にあった場合、あるいはWindows 9xのパーティションを削除した後、再度そこに基本パーティションを作成した場合は、この修正は必要ない。
また、Boot.iniに「C:\ = "Microsoft Windows"」というような記述がある場合はその行を削除する。
さらに、FDISKなどでWindows NT/2000/XPがインストールされているパーティションがアクティブになっているか確認し、もしアクティブになっていない場合はアクティブに設定する。

2.      Windows NT/2000/XPを論理パーティションにインストールした場合は、Windows 9xのパーティション (C:ドライブ) を削除することはできない。この場合は、C:ドライブにある「Windows」フォルダや、「Program Files」フォルダを削除することで、そのパーティションを別の用途に使うことができる。またルートにある「IO.sys」、「MSDOS.sys」、「Command.com」、「DOSIME.sys」、「Autoexec.bat」、「Config.sys」なども削除できる。さらにBoot.iniの「C:\ = "Microsoft Windows"」という行を削除することができる。

3.      Windows NT/2000/XPを基本パーティションにインストールしていて、Windows 9xのパーティション (C:ドライブ) にあるNTLDRWindows NT/2000/XPを起動している場合は2.と同様に処理するのがよい。ただし、どうしてもという場合は、Windows 9xのパーティションを削除することも可能だ。
この場合は、C:ドライブのルートにある「NTLDR」、「NTDETECT.COM」、「BOOTFONT.BIN」、「BOOT.INI」、「NTBOOTDD.SYS(もしあれば) Windows NT/2000/XPのパーティションにコピーしてから、Windows 9xのパーティションを削除する。
削除したWindows 9xのパーティションがWindows NT/2000/XPのパーティションより前にある場合で、削除したパーティションを空き領域のままにしておいたり、新たに論理パーティションを作成する場合は、1.と同様に「Boot.ini」を修正する。
Windows NT/2000
/XPのパーティションを作成する際に、Windows 9xでフォーマットしていた場合は、Windows 2000/XPの回復コンソールを起動して、DirコマンドでWindows NT/2000/XPがインストールされているドライブ名を確認してから、「FIXBOOT X:」を実行する (XWindows NT/2000/XPがインストールされているドライブ名)Windows NT/2000/XPのパーティションをWindows 2000/XPでフォーマットしていた場合は、この操作は必要ないが、念のために実行しておいてもよい。
また、FDISKなどでWindows NT/2000/XPがインストールされているパーティションをアクティブに設定する。

Windows NT/2000/XPを削除してWindows 9xだけにする

 あまり必要はないと思うが、Windows NT/2000/XPを削除してWindows 9xだけにしたい場合は、次の方法でWindows NT/2000/XPを削除できる。

1.      Windows NT/2000/XPをC:ドライブ、Windows 9xD:ドライブ以降にインストールしていた場合は、Windows NT/2000/XPのドライブを削除することはできない。ただし、C:ドライブの「WinNT (Windows XPの場合はWindows)」フォルダや「Program Files」フォルダ、ルートのWindows NT/2000/XP関係のファイルを削除することはできる。
また、Windows 9xの起動ディスクで起動して、Sys C:を実行する。

2.      上記のデュアルブートシステム以外の場合は、Windows NT/2000/XPのパーティションを削除できる。ここで、Windows NT/2000/XPのパーティションがFAT16/32の場合はFDISKで削除できる。またWindows NT/2000/XPのパーティションがNTFSの場合で、基本パーティションの場合も、FDISKの「Non-DOS」領域として削除できる。Windows NT/2000/XPのパーティションがNTFSで、かつ論理パーティションの場合は、FDISKでは削除できないが、Windows 2000/XPの回復コンソールから、DirコマンドでWindows NT/2000/XPのドライブ名を確認して、「Diskpart /delete X:」を実行する (XWindows NT/2000/XPがインストールされているドライブ名) ことで削除できる (引数なしで「Diskpart」と実行し、パーティションを指定することもできる)
その後、FDISKなどでWindows 9xのパーティションがアクティブになっているか確認し、アクティブになっていない場合はアクティブに設定する。
Windows 9x
のパーティションのNTLDRからOS選択メニューを起動していた場合は、Windows 9xの起動ディスクで起動して、Sys C:を実行する。
さらに、C:ドライブのルートにある、NTLDRなどのWindows NT/2000/XP関係のファイルを削除する。