- ベストアンサー
DOSのSCANDISKのクラスタスキャンのエラー
先日、WidowsのエクスプローラでC:ドライブアイコンのプロパティから「ツール」→「チェックする(完全修復ON)」でスキャンディスクを実施しました。 「エラーがあったが修復された」のMSGが出ました。 しかし、完全に修復等を行うためにはDOSプロンプトで実施した方がよいとのアドバイスをもらい、実施しました(C:\windows>scandisk c:)。 クラスタスキャン実施の所で不良セクタ(赤字のB)がありましたが、修復されて終了しました(C:ドライブ)。 しかし、ついでにとD:ドライブも実行したところ、クラスタスキャンの所で次のエラーが出て、実行できませんでした。 <<クラスタスキャンを実行するには空きコンベンショナルメモリが足りません。 CONFIG.SYSのデバイスドライバをREMするか、CONFIG.SYSにEMM386.EXEドライバを読み込んで、DEVICEHIGH=ステートメントを使って、 他のデバイスドライバを上位メモリに読込む必要があるかもしれません。>> 先日、成功したC:ドライブを本日もう一度SCANDISKしようとしたのですが、今度は上と同じMSGが出て実行できませんでした。 DOSの本を読むと、上のMSGの内容は、コンベンショナルメモリは640kBしかなく、ここからデバイスドライバを上位エリアに移し、 640kBをSCANDISK用に有効に使おうというような意味のようですが、これはともかく、なぜ1回目は実行でき、 2回目以降は実行できないのでしょうか。 またどうしたら実行できるようになりますか。 systemは98SE,800MHz,384MB,60GBHDDです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>この赤字のBも黄色のBに変わるのですが、これで修復されているのでしょうか。 修復されています。Bという表示は、そのクラスタが不良クラスタとしてマークされたという事を表しています。今後、このクラスタは使用される事はありません。(フォーマット等で不良クラスタの情報を消した場合は別です。) なお、元々このクラスタに記憶されていた情報は、別の正常なクラスタに移動されているはずです。 #1で書きそびれたのですが、DOS(DOS窓、DOSモード、etc)でのメモリ使用状況はMEMコマンドで確認できます。「mem /c /p」とすれば、各プログラムがどのメモリ領域をどれだけ消費しているかが確認できます。(詳細は「mem /?」で。) 手元のPCで確認したところ、「command prompt only」が一番コンベンショナルメモリを消費しないようでした。気になるようであれば確認してみてください。
その他の回答 (3)
- Horus
- ベストアンサー率14% (78/528)
1.「Windowsの終了からDOSモードで再起動する」、 これは、プロパティの詳細設定から、Autoexec.bat と config.sys をこれ用に書きかえられます。しかし、ウィンドウズのために何かしらメモリを取られます。形式上はメモリを確保できるのですが、ウィンドウズの状態に左右されるらしいです。それが、場合によって起動できなかった理由だと思います。 2.「safe mode command prompt only」で起動、 セーフモード用にメモリを幾分か確保するのでしょう。 3.「command prompt only」で起動、 多分ウィンドウズを検出しないと思います。 しかし、2と3は普通意識するほどの違いはないと思いますので、やはりautoexec.bat, config.sys の設定に問題があると思われます。場合によっては、command prompt only での scandisk の実行にも十分なメモリが与えられなかった可能性があります。 起動ディスクから立ち上げて、scandisk を実行してみてください。もしうまくいったら、起動ディスクの autoexec.bat, config.sys と c:¥のものを見比べて、必要に応じて書き換えてください。勿論バックアップは取っておいてください。
補足
大変よく分かりました。 「command prompt only」で起動し、実行できました。 ただ、Windowsで実行したときには、「エラーを修復しました」のMSGがでましたが、prompt onlyでは修復の文字はなく、「問題点はありませんでした」と出るのみです。これで修復できているのでしょうか. また、Scandisk(クラスタスキャン)の初めに赤字にBの不良クラスタの表示が出て,完了後、再度のScandiskでもまた初めに赤字のBの不良クラスタの表示がでます。一度完了したら、次回からは不良クラスタの表示は消えてもよいと思うのですが.これが不安で何度もやってしまいます。 この辺の意味合いについて教えていただければ幸いです。 >3.「command prompt only」で起動、 >多分ウィンドウズを検出しないと思います。 の「ウィンドウズを検出しない」とはどういう意味でしょうか。
- Horus
- ベストアンサー率14% (78/528)
DOSプロンプトのコンベンショナルメモリは普通「自動」に設定されています。つまりそのときのウィンドウズの状態によってDOSプロンプトのコンベンショナルメモリは変動します。したがって、常にDOSプログラムのためにコンベンショナルメモリを確保したければ、DOSプロンプトのメモリタブでこれを最大の640にするかあるいは適当な値に固定します。 しかし、実際にはセーフモードのDOSプロンプトオンリーから起動した方が、はるかに安定した動作が期待できますので、gimmick さんのアドバイスをお試しください。なお、セーフモードは機種によって、F8キーの場合があります。
補足
gimmickさん、Horusさんありがとうございました。ここにまとめて補足させていただきます。 gimmickさんの言われるとおりDOSモードであり、さらに「Windowsの終了」から「DOSモードで再起動する」を選んでいました。 これをスタートアップメニューから「command prompt only」で起動すると正常に実行できました。 「safe mode command prompt only」で実行すると少し違うエラーが出て失敗しました。 エラー内容は「拡張メモリがないためScandiskはドライブをチェックできない。Himem.sysがあることを確認し、 コマンドプロンプトのみのオプション(Safeモードは使用しないこと)で再起動せよ・・・・・」 結局、 「Windowsの終了からDOSモードで再起動する」、 「command prompt only」で起動、 「safe mode command prompt only」で起動、 の3種類の起動方法があるが、全て異なることがわかりました。 実行した結果ですが、 ディレクトリ構造、FAT、ファイルシステム、クラスタスキャンと実行していき、クラスタスキャンのとき、 格子状の絵が出てクラスタの升目1つだけに赤字のB(つまり不良セクタ)があり、処理が進むにつれて黄色で塗りこまれて行き、 この赤字のBも黄色のBに変わるのですが、これで修復されているのでしょうか。 結果ログには全てのチェック項目に「問題は見つかりませんでした」と出るのですが、再度クラスタスキャンを表示すると、 やはり赤字のB(つまり不良セクタ)が表示されます。
- gimmick
- ベストアンサー率49% (134/270)
自信はありませんが、わかる範囲で回答します。 >しかし、完全に修復等を行うためにはDOSプロンプトで実施した方がよいとのアドバイスをもらい、実施しました(C:\windows>scandisk c:)。 これってDOSプロンプトではなく、DOSモードですよね? >クラスタスキャンを実行するには空きコンベンショナルメモリが足りません。 質問の文にあるように、config.sysを直接編集するか、msconfigを起動して編集するしかありません。config.sysは、通常Cドライブのルートディレクトリにあります。 ここからはアドバイスです。 まずは「command prompt only」で起動してからscandiskを実行してみてはどうでしょうか。Windows起動時にCTRLキーを押しているとスタートアップメニューた表示されるので、その中から「command prompt only」を選択して下さい。「Windowsの終了」から「MS-DOSモードで再起動する」を選んだ時よりも、コンベンショナルメモリの空き容量が増える可能性があります。 #Windows上のスキャンディスクで修復できたのであれば、DOSでのスキャンディスクにこだわらなくてもよいような気がします。
お礼
gimmickさん、Horusさん大変ありがとうございました。 非常によくわかりました。 なぜこんなにScandiskにこだわるかというと、HDDのバックアップをしているときにエラーで異常終了してしまい、これはHDDに不良セクタがあり、 読込みエラーのため失敗する。Scandiskで修復すれば正常にバックアップできるとBHA社に回答されたからです。 ただ修復後もバックアップは失敗しているのですが。 別の質問「B's GoldでHDDバックアップ」を書きました. またよろしくお願いいたします。 本当にありがとうございました。