「98オンボードIDEで使えない」ストレージデバイスを
IDE-BIOS-LBA-Patch で使うには
2025/4/12 まりも
■ どんなことか
最近のSSD,とくにM.2、mSATAのものは、PC-98オンボードIDEに対応できなくなりつつあります。もう少し具体的に言うと、98本体がSATAデバイスに要求するCHS変換のコマンドに対応していなかったり対応が不完全なものです。
容量が4351MB以下の場合やROMアプリケーションのDIV0ROMでハングアップを回避しただけの状態では、このようなデバイスでは、先頭のほう17セクタぶんは正しくアクセスできても、それ以降のアドレスが間違ったものとなって、正しくアクセスできません。これが98で「使えない」の理由です。中途半端に先頭だけアクセスできることから、IPLwareのインストールだけはできますが、アプリケーションをロードできません。そこにはまってしまいがちです。
IPLwareアプリケーションのIDE-BIOS-LBA-Patch はこの問題を解決できる素晴らしいものですが、IPLware本体がこのアプリをロードするとき、既に17セクタ番地以上にあるために、正しくロードできないのです。箱を開ける鍵が箱の中に入ったままのような状態です。
■ 一手間掛ける
2025年4月現在、この鍵を取り出して箱を開ける方法として、次のいずれかが考えられます。1.〜3.は、最初に実行するIPLwareのローダを、「使えないIDEデバイス」とは別のデバイスに置くようにするもので、つまりは別の箱に鍵をしまっておけばいいというわけです。
- IDEとSCSIの両方を使っているならSCSIからIPLwareを起動するようにする
- 「使える」IDEデバイスと「使えない」IDEデバイスの2台にする
- フロッピー版のOSFDIPLwareを起動するようにする(毎回起動時)
- 4351MB壁のない最後期の98本体を使い、容量は4352MB以上の物を使う
1.では「メモリスイッチ」を「保持する」設定にし、さらにブート装置をSCSIに設定します。そうしないとIDEのほうから先に起動してしまうためです。SCSIのほうにIPLwareとIDE-BIOS-LBA-Patchをインストールします。この方法は、バックアップバッテリ切れでメモリスイッチが保持できない場合は使えません。
2.も1.と似た方法ですが、IDEに2台以上物理的に接続できる機種であることが必要です。ノート機では困難かもしれません。さらに制約として、IDEの1台目には「使える」デバイスが必須です。そこにIPLwareとIDE-BIOS-LBA-Patchをインストールします。2台目のほうに「使えない」デバイスを接続し、主にそちらを使うようにします。IDE-BIOS-LBA-Patchインストール後には、BIOSが無視するスレーブ接続のドライブもアクセス可能になるので、仕様上対応していなくともスレーブに接続しておくという手もあります。機種によっては(第1世代から第3世代と呼ばれる機種では)、容量壁による起動時ハングアップの問題も自動的に解消されます。なぜなら当該機ではスレーブ側をBIOSが無視するからです。
★参考: 機種とIDE BIOSの世代分け
第1世代 PC-9821Ae,As,Ap,Ce、PC-9801BA,BX
第2世代 PC-9821Ap2,As2,Bp,Bs,Be,Bf,Cs2,Ce2、PC-9801BA2,BS2,BX2
第3世代 PC-9821Ap3,As3,Xn,Xp,Xs,Xe,Xa(初代),Xt,Xf、PC-9801BA3,BX3
第4世代 PCIバス搭載機種(初代Xa,Xt,Xf除く)、および PC-9821Xe10,PC-9801BX4
ノート機についてはNa7の頃以降は第4世代です。
1台目はほんの小容量でもよく、CFでも(あまりに容易にCFリセットを起こす物でなければ)よいでしょう。1台目にパーティションを作る必要は全くないためドライブレターが狂うということもありません。ただし新規のOSインストールでは1番目というかプライマリマスタ接続のIDEドライブに強制されることがある(とくにシステムインストールディスクからのリカバリ)ので、そこをどうするかです。そのときは次の3.を一旦は行えば解決できるはずです。
3.では正常に動作するFDDは必須です。2HDでフォーマット済みのフロッピーディスクを1枚用意し、OSFDIPLwareとIDE-BIOS-LBA-Patchをインストールします。IDE-BIOS-LBA-Patchはサイズが大きいですが、2025年4月現在では16KB程度なので収容可能です。OSFDIPLwareの実行後はブート選択画面が出ます。メニューに従って別のFD,IDE,SCSIなど好きなところから起動できます。
フロッピーからのロードが遅くて困るという人は、OSFDIPLwareと FIXIDECF を入れておくという手もあります。FIXIDECFをモード1(デフォルト)で実行後にはIDE デバイスへ正常にアクセスできるようになります。FIXIDECFは4KB程度なので、1トラックのシークだけのロード時間て済みます。その後(必ずFIXIDECFが実行された後の状態で)IDEのドライブにIPLwareとIDE-BIOS-LBA-Patchをインストールします。
いずれにしても毎回この順序(OSFDIPLwareでFD起動→IDE)で起動します。必ずこのフロッピーディスクから起動を行わねばならない点が面倒かもしれませんが、差し替えて別のFDを起動することもできるので、手間はともかく、運用上の困難はないはずです。
4.ということで98本体を別のものにすることが許されるなら、4351MB壁がない機種で、4352MB以上の容量のSSDを使うことです。その場合容量制限をする必要はありません。みかけ上は容量上限が8063MBになっていますが、IDE-BIOS-LBA-Patchを使うことで全容量を使い切れるようになります。なお8063MB以下に容量制限できるストレージデバイスならば、IDE-BIOS-LBA-Patchを使わずともその容量で問題なく使用できます。しかし「使えない」デバイスのほとんどは容量変更にも対応していない現実があります。
■ おわりに CHSが変化するということ
1.〜4.のどの方法をとる場合でも、IDE-BIOS-LBA-Patchを導入し、付属ツールのHS_PARA3で新たにHSパラメータを設定(推奨、ヘッド10h、セクタ3Fh)すると、全容量(推奨値では32255MB)使えるようにはなりますが、BIOSのHSパラメータが変動します。その場合、導入前にストレージデバイスにパーティションがあると、導入後にデータにアクセスできなくなります。ストレージのフォーマットやそれを伴うOSインストールは、IDE-BIOS-LBA-Patchと導入・HS_PARA3適用後に行う必要があります。詳しくはこちらも読んでおいてください。
【番外】IPLwareアプリなしで「使えない」ストレージデバイスを使うには?
ROMアプリケーション(ボード)のEXIDE5シリーズを導入してモード1(デフォルト)で運用するという手段もあります。容量の制約もありませんし、事前にストレージデバイスの容量制限を施す必要もありません。しかし1つ1つのプログラムは対応機種が細かく分かれていて使い回しができませんし、バグfixでの改版に頻繁につきあうのは大変です。関連するハードウェアを用意できない方々には絵に描いた餅かもしれません、、、