FreeDOS の fdisk(の ビルトイン MBR)がかなり古いPCだとうまく動かないかもしれない件
タイトル長いよもう。
というかまあこのへんのことです。調べとこうかと思っていっつも忘れちゃうんですよね。
かなり古い、というのは「ディスク BIOS が LBA モードのリードライト未対応」ということなんですが、FreeDOS fdisk の MBR だとこの場合、起動区画の先頭4セクタを(もちろん旧来の CHS モードで)読んでまして、ここでエラーが出ると事実上ハングアップ。
ちなみにその他の DOS(MS と DR しか確認してませんが)の fdisk が設定する MBR だと「起動区画の先頭1セクタを読み、エラーが発生したときはディスクをリセットしてリトライ」という感じになっています。したがって FreeDOS のだとダメで DR のならオッケーだった、という場合、
- 4セクタ一気読みがマズかった
- エラー時にディスク初期化してリトライしないのがマズかった
のどちらか一方、あるいは両方の可能性が高いわけです。
しかし古めの実機がないと調べようがないなあ。まあ何ちゅうかこう、レガシーな OS だからってレガシーな環境への対応に問題がないわけじゃないということで(環境が再現できないし)。