[46542]   Windows98SEが起動しなくなりました
投稿者:TA さん   2003-09-25 22:28:35
V166でAドライブにWindows98SE、CドライブにWindows2000をインストールし、マルチブートを行っておりましたが、久々にWindows98SEを起動しようと、固定ディスク起動メニューにより98SEを選択しても、黒い画面のまま反応しません。スイッチを切るしか方法がありません。多分、Windows2000をSP-4にアップデートしてからだと思うのですが、解決方法がございましたらよろしく御教示くださいませ。
  1. けるべ さん   2003-09-25 23:27:19
    http://www.griffonworks.homeip.net/dorlog/2nddorcom/windows/thread08427.html
    kmastさんがお書きの方法にて復元可能だと思います。

    Win2k 上で、Win9x がインストールされているパーティションに対してスキャンディスクやデフラグを行うと、高い確率で Win9x が起動不可になるという現象が発生するようです。また、Win2k が異常終了して、次回起動時にシステムチェックが行われた場合も同様です。
  2. いーとん さん   2003-09-25 23:31:31
    PC-98 でのこの現象は有名だと思います。
    うちでも良く経験しますのでWin9x環境のバックアップは必須です。

    参考) http://www.cham-reo.com/logsearch/Log.aspx?c=windows&d=20000220T183037&id=2581
    ★他にも HDD内を直接いじって復帰させるログが有った気がしますが見つけられませんでした(汗
  3. まりも さん   2003-09-26 01:26:40
    ハードディスクの先頭パーティションがA:となるようにWindows2000がインストールされていると発生するみたいですね。
  4. かすが☆。 さん   2003-09-26 04:09:44
    ちょっと外れてますが、
    同じDISKのA:にwin2000(NTFS)、B:にwin98(FAT32)で入れる場合には
    Win2000にアップグレードする前にB:をスリープにすれば、
    B:のdos系のファイルが消えるのは回避できます。
    C:として新規で入れる場合にはどうかわかりませんが・・・。

    Win2000を入れた後に他のパーテーションからwin98が立ち上がらなくなった
    場合には、fdisk /mbrで復活できる事があります。。。
  5. METAFINE さん   2003-09-26 08:54:35
    いーとん さんの
    > ★他にも HDD内を直接いじって復帰
    は、これでしょうか。
    http://www.griffonworks.homeip.net/dorlog/2nddorcom/pc-98/thread44395.html

    ↑こちらの可能性もあるのでは。
  6. zaf さん   2003-09-26 21:31:44
    なんてタイムリーな(^^;)
    ハードディスクの先頭パーティションがA:となるようにWindows2000がインストールされている私、昨日 METAFINEさんの書かれてるコメントツリーの状況となりました。

    なんとなく、ファイルの削除エントリーがどうのこうのという曖昧な記憶だけが有ったので、起動不能パーテションのルートディレクトリに、適当にゴミファイルを数百個書き込んで再起動したらそのパーテションから起動できました。その後消すとダメになるかな〜と思いながらファイル消してみたところ正常に起動できるように..なにせ適当にやったので、本当にこれが原因で復旧できたのかわかりませんが...簡単に試せることなので、ものは試しでやってみてはいかがでしょうか。
  7. まりも さん   2003-09-26 22:19:15
    原因ですが、過去ログに、「ルートディレクトリ領域にある終端マーク00hが消されることが災いする」という趣旨の話があったかと思います。常時接続の方は検索して調べてください。検索ワードが難しそうですが。
  8. zaf さん   2003-09-26 22:22:50
    どもまりもさん。
    おそらくそれが RES.5で書き込んでいただいてる過去ログだと思います。
    私もなんとなく治ってからこのスレッドを見つけ、過去ログのスレッドをみて、なんであんな事で起動可能になったのか悩んでるとこなのです...
  9. まりも さん   2003-09-26 22:24:36
    zafさんの方法、つまりルートディレクトリにファイル作成をすることで、終端00hが書き直される可能性があり、それで復旧するのではないかと思います。
  10. zaf さん   2003-09-26 22:41:37
    なるほど。先の過去ログもいちど読み直してみてわかりました。この方法で「確実に書き直される」だと良いですが「可能性がある」、となると、復旧法としてはあまり推奨できるやり方とは言えないかもですね、お手軽ではありますが..
  11. まりも さん   2003-09-26 22:57:47
    ファイルを2個作って1個消せば確実なんじゃないでしょうか。まずはお試しを。
  12. Noggy さん   2003-09-27 01:41:09
    私もこの現象は半ば当たり前にしょうがないものとしてformat&コピーの書き戻しで修復してきたのですが、簡単な修復方法が確立できるとすごく嬉しいです ^^;
    ちなみに先頭パーティションがA:となる場合に起きるとありますが、私の場合は先頭パーティションがWin2000(C:)で次のパーティションがWin98(B:)の場合でも同じような現象が起きます。
  13. TA さん   2003-09-27 08:08:43
    皆様ありがとうございました。皆様の知識の豊富さには感心させられます。
    zafさんの方法で、起動不能パーテーションのルートディレクトリに、ゴミファイルを数百個書き込んで(ちなみに320個のテキストファイル)再起動したら、難なく起動しました。試しにゴミファイルを2個作ったときは起動しませんでした。ゴミファイルの数にも関係あるようです。難しいことはまったくわかりませんが、非常に簡単な方法で復旧できましたのでご報告いたしますとともに、あらためまして皆様にお礼申し上げます。
  14. zaf さん   2003-09-27 10:40:00
    2個作った場合は1個消すのがミソかもしれません。私も再度試して確認してみたいけど、簡単に再起動不可を作り出せないので(^^;) またなったらやってみようと思います。
  15. 今崎 さん   2003-09-27 11:19:57
    普段よりこのページを拝見している者です。
    当方の環境でも同じ現象が起きておりました(C…W2k D…W98se)が、Win2000上でCドライブから適当なファイルを700個程コピーし直後に削除、再起動後Win98を立ち上げたところ何事もなく起動しました。
    成功例として報告させていただきます。
  16. 98ネットゲーマー さん   2003-09-27 19:00:33
    いつも参考にさせていただいております
    当方も同じ現象が起きておりましたので(A:98SE B:2000)、Win2000上でテキストファイルを100個作り、Win98SEのルートにコピーし、直後に再起動でWin98を立ち上げたところ、無事に立ち上がりました
    ありがとうございます
    成功例として、ご報告させていただきます
  17. zaf さん   2003-09-27 22:21:17
    2個作り1個消しだとダメなんでしょうか? その方が簡単にできそうなんですが...
    何かの役にたつかもですので、とりあえず、私がその時ゴミ作成に使ったバッチファイルをちょっとだけマシにしてここに書いておきますね。使い方は makegomi [ドライブレター 例:b:]です。0byteのゴミファイルが $$$[連番].$$$ ってなファイル名で400個できます。
    =========start of makegomi.bat=======
    @echo off
    IF "%1"=="SUB1" GOTO SUB1
    IF "%1"=="SUB2" GOTO SUB2
    IF "%1"=="SUB3" GOTO SUB3
    IF "%1"=="" GOTO ERR
    IF NOT EXIST %1CON GOTO ERR
    FOR %%a IN (0 1 2 3) DO CALL MAKEGOMI SUB1 %1$$$%%a
    GOTO END
    :SUB1
    FOR %%b IN (0 1 2 3 4 5 6 7 8 9) DO CALL MAKEGOMI SUB2 %2%%b
    GOTO END
    :SUB2
    FOR %%c IN (0 1 2 3 4 5 6 7 8 9) DO CALL MAKEGOMI SUB3 %2%%c
    GOTO END
    :SUB3
    ECHO now make %2.$$$
    TYPE %2.$$$>%2.$$$
    GOTO END
    :ERR
    ECHO ERROR! MAKEGOMI [Drive] ex: makegomi b:
    :END
    =========end of makegomi.bat=======
    #バッチファイルの書き込みは大丈夫ですよね?まずい場合は自掲示板に移しますんでお*(. .)*
  18. まりも さん   2003-09-27 22:46:35
    終端マークが作成されればよいだけのことなので、なん百個もファイルを作成する必要はないはずなんです。そもそも何個作ればよいかという根拠もよくわからないし(^^;。この問題はNEC PC-9800版Windows2000固有問題とはいえ、WinFAQに掲載してもらうべき重大問題ですので、もうちょっと原因と最善の対処法を煮詰めたほうがよいかも。
  19. 今崎 さん   2003-09-27 23:56:50
    先の作業を行う前に、
    エクスプローラ上の右クリックで"D:"にテキストドキュメントを作成
     >そのファイルを開いて適当な文字を書く
      >エクスプローラ上のコピーで"D:"にコピーを作成
       >先に作った方のファイルを削除
    という方法を試しましたが、これでは起動出来ませんでした。
    同じDドライブのファイルをコピーしたのがまずかったのかも…。
  20. 98ネットゲーマー さん   2003-09-28 03:13:00
    こちらも、先にWin98SEのルートにテキストファイルを2個作り
    先に作った方を削除してみたのですが
    起動できませんでした
  21. 英(ひで) さん   2003-09-28 09:52:05
    実は、私のRv20改(Pen2ODP Dual)も、Win98とWin2000を別パーテーションにインストールしてありまして、Win2000側でNorton WinDoctorを動作(問題のスキャンのみ、修復はしていない)させたところ、Win98が起動しなくなっちゃいました。
    困ったときの「どるこむ」ですね、一番にこのスレを読んで、早速ゴミファイルの書き込み後削除を実行して、無事起動にこぎつけました。
    私の場合、Win2000からメモ帳でWin98のパーテーションのルートにテキストファイルファイルを1個書き込んで、あとはこのファイルを同じルートにコピー&ペースト、あとは右クリックでペーストを約40回繰り返して、すぐに削除、再起動したところ、Win98が無事立ち上がりました。
  22. くん さん   2003-09-28 13:21:57
    K.TakataさんのDDTXにお世話になってセクタ直接編集で復旧していましたが、
    よくよく考えてみたらこうやって復旧させればよかったのですね(^^;)
  23. K.Takata さん   2003-09-28 16:52:22
    幸い私はこの現象に遭遇した記憶はないのですが、気になったのでちょっと試してみました。
    FAT32 でルートディレクトリのクラスタを E5h で埋めてみたところ、確かに起動しなくなりました。
    次にルートディレクトリがちょうど埋まるように空ファイルを作成したところ、こちらの場合も起動しなくなりました。この状態で、もう1つ空ファイルを作成したところ、再び起動できるようになりました。ルートディレクトリの状態を確認すると、ルートディレクトリに割り当てられているクラスタが1つ増えていました。
    つまり、ルートディレクトリに多数のファイルを作成することで、ルートディレクトリ領域が拡張され、それにより新たに終端マークが付け加わったことで起動できるようになったということです。ファイルを2個作って1個消すだけでは E5h が2個できるだけで、終端マークは作成されないようです。

    なお、Win98 の GUI 上ではルートディレクトリがちょうど埋まることは無いようです。ちょうど埋まるようにファイルを作成しようとすると、途中に E5h が入り、ルートディレクトリ領域が拡張されました。

    空ファイルを作成する個数ですが、ディレクトリエントリのサイズは 32bytes ですから、1クラスタのサイズを 32 で割った数が必要になります。例えば 4KB クラスタなら 4096 / 32 = 128個 となります。ただし、次のクラスタまで E5h で埋まっていたりすると、さらにその倍の数が必要になりますが。

    一度ルートディレクトリ領域が拡張されてしまうと、元には戻らないという問題がありますが、まぁ大したことではないでしょう。(^^;;

    一応修復ツールも作ってみましたが、まだ十分にテストできていませんし、しばらく忙しいので公開はしばらく先になりそうです。
  24. zaf さん   2003-09-29 11:36:45
    >K.Takataさん
     検証どうもありがとうございます。ああ、なるほどって感じですっきりしました。
    ちなみに、W2K上でいったんファイルを多数作って、ルートディレクトリが拡張されてしまえば、作ったゴミファイルはすぐに消しても大丈夫ってことになるのかしら? そうすればゴミ作ってからすぐに最後で DEL $$$*.$$$ ってやってもOKですよね。
  25. K.Takata さん   2003-09-29 16:56:08
    > W2K上でいったんファイルを多数作って、ルートディレクトリが拡張されてしまえば、作ったゴミファイルはすぐに消しても大丈夫ってことになるのかしら?

    そういうことになると思います。本当にルートディレクトリが拡張されたかどうかの判断が難しいですが。

    Win2k でなくても FD 起動の Win98 DOS モードでも十分なわけですが、Win2k 上で長〜〜〜いファイル名を持つファイルを作成すれば、作成する個数は少なくて済みます。(ディレクトリエントリ1個あたり LFN が 13文字記録可能なので、256文字なら 21エントリ消費します。)
  26. くん さん   2003-09-29 23:12:44
    逆に現象を再現する(ルートディレクトリのFAT末端にE5hが来る)方法ですが、
    うちの場合Win2000上からFAT32のWin98SE領域をデフラグや
    ChkDsk /Rとかするとよく起動不能になります(^^;)
    # 大丈夫な時もあるので確実ではないですが
  27. K.Takata さん   2003-09-30 03:32:53
    思いっきり手抜きの 試作版 です。まだテストも十分とは言えません。
    http://member.nifty.ne.jp/k-takata/mysoft/fixr000.lzh
    ルートディレクトリの最終エントリが E5h になっている場合だけ修復可能です。最終エントリが、普通のファイルの場合は修復できませんので、そのときは、ゴミファイルを大量に作成する方法で修復してください。
    例によって怪しいソース付きです。
  28. けるべ さん   2003-09-30 15:03:00
    検証のために Win98 パーティションを起動不可にしようと何度も試しているのですが、故意にやろうとするとなかなか破壊できないですね。肝心なときにはよく発生するのに(^^;

    なお、過去に Win95a がインストールされたパーティション(FAT16)に対して Win2k からデフラグを行ったところ、Win95 の起動は可能だがシステムが不安定になるという現象が発生したことがあります。
  29. zaf さん   2003-10-03 21:05:14
    本日、めでたく再発しました。
    W2Kのシステムファイルをイジイジしてると起動不能となり..
    別パーテションのW98を起動しようとすると黒ダンマリとなりました。
    FIXROOTをさっそく実行してみたところ、8Kbクラスタで、Not fixed. その後の数値は失念(リダイレクトしてあるので職場まで行けばわかるんですが)という実行結果でした。こりゃダメかととりあえず先に書いたbatファイルで200個ゴミ作成後再起動。しかしやはりダメ。よくよく考えると8Kbクラスタだから、256個必要なんですね。で、300個ほどゴミ付くって無事起動となりました。
  30. K.Takata さん   2003-10-03 23:08:59
    > FIXROOTをさっそく実行してみたところ、8Kbクラスタで、Not fixed.

    おやおやダメでしたか。
    Not fixed. というメッセージが出たということは、(fixroot のバグでなければ)クラスタの最後のエントリが削除済みマークや終端マークではなく、通常のファイルまたはディレクトリだったということになります。もし、ディレクトリエントリがすべて埋まってそのような状態になっているのならば、ゴミファイルを1つだけ作成すればよいわけですが、そうでないのならば、最後に位置するファイルを一時的に他のディレクトリに移動して fixroot を実行すれば直るかもしれません。

    ただ、fixroot のバグという可能性も否定できないので調べてみます。
  31. zaf さん   2003-10-03 23:47:56
    該当のドライブには、ディレクトリとファイルがあわせて30個弱で&ルートにはテンポラリファイルなどを作成する設定にはしていないので、ディレクトリエントリの最後がファイルやディレクトリだったとはちょっと考えにくいように思えます。

    #FAT16ならNortonUT4.5でちゃんと確認できたんですが、fat32を見るツールは持ってないもので...
  32. K.Takata さん   2003-10-03 23:59:30
    fixroot を実行する前に K-Launcher (http://homepage1.nifty.com/toro/) で「ディレクトリエントリの書き込み(W)」を実行しておくと良いかもしれません・・・ってよくドキュメントを読むと、「削除ファイルの痕跡消去(Shift+W)」などという機能があるようですね。こちらの機能を使えば K-Launcher だけで修復可能かもしれません。

    作った意味無かったかも(爆
  33. zaf さん   2003-10-04 19:50:01
    >作った意味無かったかも(爆

     いや、私みたいにW2Kが起動しなくなって、W98で起動してデータレスキューしようかと思ったら、そっちも起動しない、なんてときはWinアプリではどうしようもないですから..意味ありますよ
  34. K.Takata さん   2003-10-04 20:02:55
    ん? K-Launcher は DOS アプリですけど。
  35. zaf さん   2003-10-04 20:23:05
    あう、そ、それは失礼しました。他のソフトと勘違いしてました。面目ないです。