PC-98 MS-DOSの「入れ方」

運用技術記事

Copyright(C) 2024 まりも

【この文書の目的】

 2024年現在、PC-98およびMS-DOSを使っているのは、昔から使っていた人だけと思っていましたが、そうでもないようです。いまからレトロなPC-98環境に触れる人向けに、「DOSの入れ方」について書いてみました。「入れる」場所とは、(1)HDD,SSD,CF,SDなどのハードディスク相当のメディアと、(2)フロッピー相当のメディアです。以下ではメディアがHDD,SSD,CF,SDどれであっても「ハードディスク」という語で説明します。なお、おそらく必要となるツール類・情報源へのリンクをまず示しておきます。
IPLware(自サイト)
OSFDIPLware(自サイト)
LBA_IDEの作者リウさんのサイトのIDE-BIOSのLBA化
壁超えSCSIの作者リウさんのサイトの壁ごえSCSI(年月日)
DIV0ROM(自サイト)
FDSK98(自サイト)
FORMATX(自サイト)
MCtek(えむして)さんのX

 昔の98ノウハウの情報がインターネットからは少なくなっている上に、あたりまえとされていたためわざわざ書かれていないことが多いですが、予備知識として次のことも知っておいてください。

【普通にフロッピーにDOSを入れる】

 DOS入手時点でオリジナルFD#1〜#3に入っており、INSTDOSコマンドで別のメディアにインストールできますが、基本的には

が正しい位置に書かれているFDなら、最小限のDOSが起動できます。INSTDOSを使わずとも、FDメディアをFORMATコマンドでフォーマットするときに /S オプションをつければ上記全てが揃ったFDが作られます。いずれかのファイルを削除してしまった場合や別の手段でフォーマットした場合でも、SYSコマンドで転送すればOKです。なおSYSコマンドでブートセクタ作成が可能なのは、FDで起動したときだけです。ハードディスクから起動したときは、SYSコマンドではFDに正しいブートセクタが作られません(フォーマット時のみ)。

 FD作成のついでに、上記のリンクにあるツール類のファイルも入れておきましょう。今後のフロッピーフォーマットのためにはFORMAT.EXE(DOS7.xではFORMAT.COM)とSYS.COMも入れておきます。

【普通にハードディスクにDOSを入れる】

 このときも最初はFDからDOSを起動し、FORMAT /H コマンドで、装置初期化、さらには領域確保を行います(DOS 7.xではFDISK実行,再起動後 FORMATの順)。しかし後述のように容量が大きすぎるハードディスクに対してはNEC/Microsoft純正のフォーマッタは無効ですので、FDSK98を使って頂く必要があります。

 FORMAT /H での領域確保の際に「システムを転送する」にしておけば、上記4項目の入ったパーティション(領域)が作られます。次回からはFDを抜いてハードディスクから起動し、ハードディスクのいくつかある領域のうち先頭のものからドライブレターはA:〜が割り当てられます。

【HSパラメータを変更しつつハードディスクにDOSを入れる】

 「HSパラメータを変更」とは、具体的には、

など場合が2024年現在では想定されます。(1)または(2)は(3)と併用することが通常は必須ですが、実質の容量を変更するつもりがなければ、(1)のみ、(2)のみで構いません。いろいろ知らなければならないことが増えると面倒だという人は、それでもよいのです。

 既に述べたように、まずDOSはFDから起動しなければなりませんが、この時点でハードディスクのHSパラメータが正しいものに確定していなければなりません。(1)だけ、(2)だけではそうならないので(3)が必要なわけです。しかしハードディスクに何も入っていない状況です。そこでまず起動FDに「OSFDIPLware」を使って(3)をFDに導入しておきます。するとこのFDから起動した時点でハードディスクのHSパラメータは変更されます。この状態でFDSK98によりハードディスクのフォーマット(*)を行います。

 この順番を逆にして、(3)が動作していない段階でフォーマットしてはいけません。容量が拡張されない状態のHSパラメータで確保されてしまい、容量が増えないどころか、(3)を後から入れると認識できなくなってしまいます。なのでどのような場合でもFDから起動したときに(3)が動作済みとなるよう、OSFDIPLwareを入れたFDを作っておくとよいのです。

 (*)手順は、「ボリウム管理」→「フォーマット初期化」→「NEC PC-98形式フォーマット」を実施、一旦戻って「領域確保」→「FAT16で領域確保」を実施

 最後に、ハードディスクから起動したときにも(3)が使えるように、IPLwareと(3)をハードディスクに組み込みます。

【注意点】

 フォーマッタとしてFDSK98を推奨している理由は、(1)大容量の(HSパラメータの積の値が過大の)ときに純正のFORMAT, FDISKが機能しなくなることと、(2)既にIPLwareが登録されている場合に純正のフォーマッタを使うと消されてしまうためです。FDSK98はIPLwareを検出するとそれを温存します。ですからFDSK98を使ってください。

 FDSK98は必ず初期設定SETFDSK を適用してから使ってください。その際にDISKINITまたはFORMAT.EXEが必要となりますが、これらはIPLコード抽出のために必要であるだけです。これらを実行することは意味ありません。DISKINITでの装置初期化など、時間がかかるだけで何の意味もありません。初期設定後にはFDSK98が作るIPLコードは純正のものと同じとなるわけですから、互換性において何の心配もありません。

 既に書いたように、HSパラメータを変更してからの領域確保にFDSK98は使用してください。逆の順序ではFDSK98のもつ脆弱性が問題となります。最終シリンダ位置以降にBIOSから見て使える容量がある状態だとFDSK98は誤動作します(ちなみにWindowsNT,2000のディスク管理でも同じ誤動作)。これは通常想定しない状態なのでFDSK98のバグとはしませんが、DIV0ROMやそれに相当するSD-IDEを使用した場合には起こりえます。既に述べた(3)を実行済みであれば起こりません。

 DOSを起動するフロッピーディスクは必ずバックアップとして作成したものを使ってください。原本のフロッピーディスクにOSIPLwareを適用しないようにしてください。適用後に完全なバックアップが作れなくなるからです。

まりも(連絡先メールアドレスはwebページ上で)

【改版履歴】


年月日   版  内容
2024. 9.22  1.00  新規作成

[トップに戻る]