SSブログ

PC-9821のデュアルブートが無効になった(8) [  PC-98x1(補完計画)]

PC-9821のデュアルブートを修復するために、簡単に出来ることは今までに試し尽くしたと思う。それで、いよいよFDISK /MBRを試す時が来た。FDISK /MBRについては、ネット上の複数のサイトに記述がある。たとえば

http://8thway.cool.coocan.jp/os/osjn210.htm
「MBRのブートコードを修復するには、fdisk /mbrとして実行します。」


今日は電気屋が4年に一度の定期検査に来るので、検査の時点で漏電テストをしてまたPC-9821の停電お知らせLEDがチカチカしてしまうかもしれない。だからPC-9821を起動するのは電気屋が帰った後だ。電気屋を待っている間に私はネット上の記事を読み直した。すると、気になる記述を見つけた。

http://infoseek_rip.g.ribbon.to/ultraforce.hp.infoseek.co.jp/hdd_data/format/fdisk_mbr.htm
「FDISKコマンドの制限
MS-DOSやWindowsのFDISKコマンドには、パーティション作成に幾つかの制限があります。
(中略)
1.一台のハードディスクに作成できる基本領域の数は1つだけ 
2.アクティブに設定できるのは基本領域だけ(拡張・論理領域は不可) 
3.アクティブ領域は一台目のハードディスクに一箇所だけ 
3.の1台目のハードディスクとは、起動時にBIOSがドライブサーチを行なった際に最初に認識されたハードディスクのことです。※ドライブ認識順参照
以上を考え合わせると、FDISKコマンドだけでアクティブ領域を設定したとき、普通はプライマリマスターに接続されたハードディスクの唯一の基本領域が起動ドライブ(C:)として固定されます。MS-DOSやWindows単独でマルチブートの環境が作りにくいのは、多分にこの制限があるためだと言えます。」


この記述から考えるに、FDISK /MBRを実行するということは、私のPC-9821を内臓ハードディスクのWindows95から起動するように固定してしまうことではないのか?

なぜ昔外付けハードディスクのWindows98を起動できたかというと、私の想像ではSCSIボードを取り付けた時点で何らかの変更がなされてMBRからSCSIボード付属のソフトへ処理が移るようになり、そこでデュアルブートが可能になったのではないか。(電源投入後の外付けハードディスクやMOドライブのチェックをNECでなくMELCOのソフトが行っているので、そう思う。)もしもFDISK /MBRを実行したら、MBRからSCSIボード付属のソフトへ処理が移らなくなるかもしれない。そうなったら大変だ。

いつ電気屋が来るかわからないので、この記事はひとまずここまででUPしておく。



追伸
あれから1時間が経った。電気屋は来た。意外なことに電気は止まらず、PC-9821の停電お知らせLEDは点かなかった。でもここまで来たら何かしなくては。ただしFDISK /MBRには大きな不安が生じたので、他を試す。HDDのブート領域以外では、Win98のシステムファイルまたはそのシステムが初期に読み込むファイルの破損が怪しい。つまり、Win98を起動しようとして出来なかったから内蔵ハードディスクのWin95に切り替えた可能性がある。もしもDOSからWin98の起動を試せれば、Win98の起動不可が原因かどうかがわかる。ネット上の情報によると、まずio.sysがメモリに読みまれるらしい。DOSでWin98のio.sysのあるディレクトリに移動し、io.sysとタイプしてEnterキーを押したら何が起きるだろう。無知な私の考えることゆえにかなり危ないが試してみた。結果は、ファイルが見つからなかった。隠しファイルか。見えていないと、io.sysとタイプしても無効だった。もともとかなり危ないことを試しているのだから、この辺で休憩して頭を冷やすのが賢明だ。



(個人的記録)
今後私が何を試すかが後日わからなくならないように、今日すでに試したことをここに記しておく。
外付HDD内のWin98のmsdos.sysの中身を確認した。windowsのmsdos.sysはテキストファイルなのでメモ帳で読める。(もちろん起動不可であるWin98のメモ帳は使えないが、内蔵HDD内のWin95から読んだ。)起動にかんするいくつかのドライブレターが変になっているから起動できないのではと気になっていたが、Bなので、きっとこれで良いのだと思う。(内蔵HDDのWin95はA。)ただしその時に気になることがひとつあった。windowsのmsdos.sysは情報としては少ないバイト数で事足りるが、その後に何行もダミーらしきデータが入っている。これはmsdos.sysのファイルサイズを何か既定のものにするために必要らしい。そこまでは良いが、Win95のmsdos.sysはダミー文字で終わっているのにたいして、Win98のmsdos.sysはダミー文字のさらに後に数行、意味のありそうな行があった。msdos.sysのファイルサイズもWin95のものより大きかった。これは正しいのか? ひょっとして、はるか昔に私自身が何かを実現する目的でmsdos.sysを改変したということは、ないのか? それともこれで正しいのか。もうひとつmsdos.sysがあれば、さらに比較して、ファイルサイズが同じ必要があるかどうかを推測できるのに。そう思ってWin10のmsdos.sysを見ようとしたら、Win10にはmsdos.sysがない。いや、ひょっとすると隠しているだけで存在するかもしれない。以前にそんなことに遭遇した記憶がある。(Win10のルートディレクトリに置いた特定のファイルは見えなくなる、のではなかったか。)試しにコマンドプロンプトからdir /a:hとしてみたが、hiberfil.sysやpagefile.sysは出てきたがio.sysやmsdos.sysはなかった。Win10には本当にio.sysもmsdos.sysもないのか? とにかく、起動できないWin98のmsdos.sysのファイルサイズは気になる。次回の実験では、Win98のmsdos.sysをWin95のmsdos.sysと同じファイルサイズにしてみようか。
その他にやるべきことは、PC-98のハードディスクのブート領域について私が学ぶことと、そのブート領域を読み取って確認できるフリーソフトはないか探すこと。私は今まで、外付けを含む各ハードディスクの先頭領域にブート関係の情報があると思い込んでいた。でもネット上の記述を読むうちに、最初に認識されるハードディスク(私の場合は内蔵ハードディスクのほう)にだけ先頭にブート関係の情報が書き込まれている気がしてきた。PC/AT互換機ではハードディスク領域の先頭に「最初に実行すべきプログラムを読み込むためのコード」があり、それに続いて最大4つまでのパーティションの情報があるらしい。(私は当該ハードディスク内のパーティションの情報だけがあるのだと思っていたが、MBRがただひとつのハードディスクにあるのなら、外付けを含む全てのハードディスクのパーティション情報が書き込まれることになる。実際には、どうなんだ?)そして大事なのは、これがPC/AT互換機の仕様でありPC-98シリーズ上のWindowsが同じとは限らないということだ。ああ、ややこしい。PC-98がすでに過去のものとなった今、正確な情報を得ることは果たして可能なのだろうか。

コメント(0) 

コメント 0

コメントの受付は締め切りました