FreeBSD(98)のブートセレクタをDOSで試す

まりも(DOSsoft)

2020年2月27日 作成

■ 固定ディスク起動メニュー

 太古の昔の「標準フォーマット」はとっくに標準ではなく、「拡張フォーマット」が長いことPC-98の普通のフォーマット形式でした。これにつきものが「固定ディスク起動メニュー」です。古いDOSに付属のフォーマッタではバージョン1.00〜1.06が、新しいDOSのフォーマッタ(たぶん4.xx以上)ではバージョン2.00〜2.70までのがあります。Windows 95に対応しているのは2.70以降であり、それ以前のバージョンは大容量ブートに失敗するなどの問題を抱えています。したがって可能な限り2.70にしておくべきです。

■ Free環境でなんとかしたい

 フォーマットをするにも正規のMS-DOSまたはWindows、その他のOSが必要となります。フォーマッタ自体はなんとかフリーソフトでまかなうことはできますが、ブートに必要なIPLと起動メニューは、ほとんど古文書化しているといってもまだNECの著作権の及ぶモノです。勝手に二次的に配布してよいとはいえません。2019〜2020年現在、フリーなDOSであるFreeDOS(98)の98への細かい移植も進められており、IPLとブートセレクタもfreesoftを使ってみたいところですが、IPLはともかく固定ディスク起動メニューを解析して同等のものを違うコードで作るとなると大変です。

 しかし98には1990年代末頃からFreeBSD(98)が存在しており、そのためのIPLとブートセレクタは存在していました。その作者さんのサイトはこちらになります。
http://www.nendai.nagoya-u.ac.jp/~kato/FreeBSD/index.html
http://www.nendai.nagoya-u.ac.jp/~kato/FreeBSD/98bs/index.html

2007年にはバージョン1.2としてIPLwareに対応したことがGitHubでも公開されています。
https://github.com/freebsd/freebsd/commit/5b2161e51b74d960f1d95724c0753ecf4a35b483

 ブートセレクタもBSDライセンスということが明記されています。

■ DOSでも使いたい

 このほどリウさんという方が、ブートセレクタの著作者KATO Takenoriさんの許諾を得て、バイナリの形で公開されることになりました。 このGoogle driveにある「pc98_boot_selector.7z」がそれです(2020-4-4文末に追記あり)。公開に至った経緯など詳細はダウンロードしてreadme.txtお読みください。

 ダウンロードしたものを解凍すると FreeBSD.MBRというバイナリファイルが得られます。これは現在稼働しているFreeBSD(98)のディスクドライブ(セクタ長512バイト)のMBRから9216バイトを抜き出したものです。先頭1セクタ(512バイト)はブートセクタのIPL、次の1セクタはダミーのパーティションテーブル、その次からがブートセレクタです(さらにディスク署名まで付いています)。これの有効なデータがある部分をハードディスクにコピーすれば、固定ディスク起動メニューと置き換えて使用することは可能ですが、パーティションテーブルや署名はコピーしてはいけません。

 そこで、固定ディスク起動メニューを後から書き込むツールである IPL_MENU をこのブートセレクタのバイナリデータにも対応させました。これにより、DOS上でFreeBSD(98)のブートセレクタへの置き換えができるようになりました。IPL_MENUはおそらくFreeDOSでも実行できるはずです。またこのブートセレクタからFreeDOS(98)が起動できることは既に確認されています。

■ 固定ディスク起動メニューより使いやすい

 NECの固定ディスク起動メニューでは、デバイスを選択しただけではそのデバイスにどんなパーティションがあるかわからず、右矢印→キーを操作しないとパーティションリストが表れませんが、FreeBSD(98)のブートセレクタはデバイスを選択するとすぐに右側にパーティション名が表示されるので、目的のパーティションがどのデバイスにあるか忘れているようなとき、誤った操作をしにくいと言えるでしょう。わずかな違いといえば「ブート不可」のパーティションをスキップせず選択できることです。それでもいきなり起動ではなく、本当にブートするのかという再確認の問いが出ます。ブート可否はこの時点で決められるというのは隠れた利点でしょう。

 Free環境で98のブートまでが構築できることはすばらしいです。あとは完璧なフォーマッタがあればというところでしょう。

■ 2020-4-4 追記

 多数のデバイスを繋いだとき、ブートセレクタのスライス表示に問題があったようですが、そのパッチも当てられたものが後に公開されています。確かに問題は解消されていました。

■ 2021-4-4 追記

 リウさんにより、ブートセレクタpc98_boot_selector.7z は さらに改良されました。フロッピーからのブート、CD-ROMからのブートが追加されています。

     2020-2-27,2021-4-4  まりも(DOSsoft)

[戻る]