Cドライブ以外からブートできないの?

私はパソコン歴6年めのユーザーです。4年間はPC-98x1機を使っていました。PC-98x1では,すべてのドライブからシステム起動が行え,WindowsとDOSが共存できます。それが便利なので,現在もPC-98x1を使っていますが,私のAT互換機ではCドライブからしかシステムを起動できません。どうしてAT互換機ではCドライブ以外からシステム起動できないのですか?


現在のAT互換機の祖先,IBM PCがHDDをサポートしたのはIBM PC/XTという機種からです。そのさいに,PCの起動をつかさどるBIOSで,2基のFDDをA,Bとし,以降をHDDに割り当てていく現在の形がとられました。
 一方,ご指摘のように一時は日本のスタンダードパソコンであったPC-98x1シリーズは,やや異なる形がとられています。HDDを装備した場合,HDD優先で順にA,B...と割り当てられ,複数のHDDがある場合,あるいはHDDに複数のパーティションがある場合は,ブート時に起動するパーティションを選択する機能を持っていました。
 そのため,PC-98x1上で動く日本語MS-DOSやWindowsシリーズは,起動ドライブがどのドライブであっても問題が起こらないように作成されていますし,ソフトウェアベンダーも起動ドライブが変化するという前提でソフトを作成していました。
 一方,IBM PC系も現在はシステムを起動するドライブを変更できるBIOSを装備しているものもありますし,Cドライブのマスターブートレコード(BIOSが起動直後に読み取って実行するHDDの先頭領域)などを利用して,ブートするドライブを切り替える仕組み(SYSTEM COMMANDERもその一例です)を実現できます。
 しかし,IBM PC系統ではHDDを装備していれば必ずCドライブが起動ドライブになるということがなかば常識になっていたため,異なるドライブからブートすると不具合を起こすソフトウェアやOSが一部に存在しています。そのためSYSTEM COMMANDERなどのブートセレクタでは,ちょっとしたトリックでソフトウェアをだます方法がとられているわけです。
 もっとも,起動ドライブ固定はDOS,Windows系統に限られます。UNIX系OSはブートするドライブやパーティションをまったく限定していないので,どのドライブから起動しても問題ありません。
 ところで,DOS/Vが登場した当時,質問にあるのと同じようなIBM PC系統とNEC PC-98x1系統のHDDの扱いほうの違いが話題になったことがあります。優劣の判断は人それぞれだと思いますが,HDDの扱いに限ればPC-98x1のほうが勝っていたように思います。PC-98x1の手法は日本のデファクトスタンダードになり,国産のほかのアーキテクチャ(例えばシャープX680x0シリーズなど)でも似たような形に作られていました。
 やや細かい話になりますが,IBM PC系では比較的早い時期にHDDインタフェースをサポートしました。IBM PCがビジネス分野で広く普及し,HDDの需要が高まったためです。その結果,当時の制約されたHDDの周辺事情をシステムBIOSに実装してしまい,その制約が現在のPCにも引き継がれているというわけです。
 質問にあるブートドライブの制限は典型的な制約の一つでしょうし,8GBの壁(現在は拡張BIOSで解決済みだが,Windows NTには今でも8GBの壁がある)も古色蒼然たるBIOSからくる制約です。HDDの標準サポートは,当時としては先見の明がある判断かもしれませんが,それが災いしたともいえるのです。
 一方,PC-98x1シリーズのシステムBIOSは当初HDDをサポートしませんでした。パーソナルユースでHDDが使われることなどあり得ないと当時は判断したのかもしれません。いずれにしても,結果的にHDD専用のBIOSをHDDインタフェース側に装備する形になり,IBM PC系より柔軟にHDDの拡張に対応できた面があります。
(米田 聡)



画面1 ソフトボートの「SYSTEM COMMANDER4」。任意のパーティションからOSを起動できるユーティリティだ
    (価格1万2800円,URL http://www.softboat.co.jp/