- ベストアンサー
Kernal Stack Inpage Error
(専門的な方が多そうなのでこちらのカテです) Kernel Stack Inpage Error のエラーが出る仕組みをある程度具体的に教えて下さい。 HDDの物理障害が主に原因とのことですが、このエラーが出る過程をもう少し詳しく知りたいのです。 Kernel ・・・OSのカーネルのことか? Stack ・・・queueに対するstackのこと。プロトコルスタックとかのstack。 Inpage ・・・ページファイルのpageとかと同様の意味か? 、くらいの推測は出来るし、MS-DOSのファイルシステムならある程度知っています。 ・・・というレベルの人向けに解説をお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>Kernel ・・・OSのカーネルのことか? >Stack ・・・queueに対するstackのこと。プロトコルスタックとかのstack。 >Inpage ・・・ページファイルのpageとかと同様の意味か? だいたい合ってます。 Windows動作時、アプリケーションやOS本体(カーネル)はマルチタスクで動作しています。 マルチタスクを実行している際に、物理メモリが不足した場合は、使用頻度が低いメモリページをページファイルに書き出して、空いた物理メモリを他の目的で使用します。 そして、ページファイルに書き出した部分を使用する必要が出たら、ページファイルを物理メモリに読み直しします。 カーネルに帰属するページファイルを物理メモリに読み直しする際に、ハードドライブのエラー、ハードドライブのコントローラーのエラーで読み込みが正常に行えなかった場合、カーネルそのもの(Windowsそのもの)の動作が継続できなくなる為、ブルースクリーンで停止します。 Kernal Stack Inpage Error の他に Kernal Data Inpage Error と言うのもあります。 なお、これらは、ページファイルリソースを使い尽くした場合にも発生します。 簡単に言えば「ハードドライブに回復不能な致命的エラーが起きた場合に出る」と言う事です。 通常、ハードドライブは、書き込み時にエラーが起きると、書こうとしたセクタ(またはセグメント)に「不良」のマークを付け、代替セクタを使用します。 一方、読み込み時にエラーが起きると、何度かリトライし、リトライにより読めた場合は「不良」のマークを付けて、読んだデータを代替セクタに書き込んで、そこを使用します。 何度かリトライしても読めなかった場合は、本格的に「エラー」として報告され、読み込みに失敗します。 この「読み込みに失敗」が「回復不能な致命的エラー」です。 また、代替セクタを使おうとして予約されている代替セクタが尽きていた場合も「回復不能な致命的エラー」になります。 これが起きるのは「ハードドライブの寿命」か「停電等による物理破損」です。 因みに、通常のアプリケーションに帰属するページファイルが読めなかった場合は、アプリが異常終了するだけなのでブルースクリーンは出ませんが、ハードドライブが寿命に近いのは変わらないので、事態の深刻度は同じです。
その他の回答 (2)
- chie65536(@chie65535)
- ベストアンサー率44% (8741/19839)
>私が「発生した」と言ったのはKernel Stack Inpage Errorの事であって、「ページファイルの読み書き」のことではありません。 >ですから、もしかしたらページファイル関連のエラーではなくてもKernel Stack Inpage Errorが発生するのではありませんか?と疑問に思ったわけです。 はい。 私が言った「発生するのでしょう」も「ページファイル関連のエラーではなくてもKernel Stack Inpage Errorが発生するのでしょう」と言う意味です。 で「起きないと思われる場面でも起きる」のは前述の通り。 そして「Kernel Stack Inpage Errorではない致命的エラーがKernel Stack Inpage Errorとしてブルースクリーン表示される可能性」もゼロではありません。 つまり「ブルースクリーンが起きない致命的エラーが、副次的にKernel Stack Inpage Errorブルースクリーンを引き起こしている可能性」があります。 >>それは「推測」に過ぎません。 >システムリカバリのHDDイメージコピーは、まだWindowsが起動する前の話なので、マイクロソフトは関係ないのでは? システムリカバリが始まる前の段階は、Windowsの通常のGUIシェルは起動されていませんが、Windowsカーネルが起動済みです。 リカバリにより、ファイルを工場出荷状態に書き戻すには、NTFSファイルシステムが動いている必要があり、NTFSファイルシステムを動かすには、Windowsカーネルが動いている必要があります。 Windowsカーネルが動いていないと、NTFSのファイルを読む事も書く事も出来ませんから、リカバリそのものが出来ません。 従って、リカバリモードであってもWindowsカーネルが動作していますから、マイクロソフトは関係アリアリです。 というか「ブルースクリーンエラーそのものが、マイクロソフトが作った致命的エラー処理画面」なので、ブルースクリーンは「マイクロソフトが関わっているOSカーネルが動作している環境ででしか発生しない」ですよ。 Linuxなど、他のOSを動かした場合、マイクロソフトは関係無いのでブルースクリーンそのものが発生しません。
お礼
根掘り葉掘り質問攻めにしてすいませんでした。ご負担を掛けてしまったかも知れません。 素人に分かりやすく説明するのは大変ですものね。 なんか申し訳なかったです。 >というか「ブルースクリーンエラーそのものが、・・・ ・・・ほんと仰るとおりです。簡単なことに気づきませんでした。 こういう単純なことが気づかないレベルなのに、また疑問を投げかけて申し訳ないとは思うのですが、 「リカバリプログラムによるHDD内でのイメージコピーというのは、Windowsに依存しない独立したプログラムが動いているのかな、と思ったのです。 ファイルシステムの管理情報もまるごと含めてイメージ全体を単純コピーしてるのでは?と思ったのです。 ならば別にコピー内容のファイルシステムに依存していないのではないかな?と思ったわけです。」 ・・・けど、HDDの不良セクタを避けてコピーしたりするならイメージ内のファイルシステム情報も書き換えなければならないし、 だったらNTFSファイルシステムに則って動作しなければならないし、わざわざNTFSを読み書きするプログラムを独自に用意する手間を掛けることもないし、Windowsの昨日を利用したほうが理にかなってますよね。 ・・・ということに気づきました。 ともかく、いろいろありがとうございました。 大変お手数をお掛けしました。
- chie65536(@chie65535)
- ベストアンサー率44% (8741/19839)
>ただ、一点だけ疑問なのは、システムリカバリでHDD内部でのイメージコピーの最中にも当該のエラーが出たのですが、そういう状態でもページファイルへの読み書きが発生するものなんでしょうか? 「実際に発生した」のであれば、発生するのでしょう。 >まだpagefile.sysが存在しない状態ですし、HDD内でのイメージコピーをメモリスワップしながら行うことは有り得ないと思うのですが。 それは「推測」に過ぎません。 マイクロソフトのやる事ですから「有り得ないような事が平気で起きる」でしょう。 マイクロソフトが「有り得ないプログラムを平気でリリースしている」のは周知の事実ですし。 パソコンに詳しい人達の間では「普通じゃ有り得ない事」が起きても「マイクロソフトだから」の一言で片付けられてしまいます。 このような「あきらめ」が蔓延したのは、どんな不具合であってもマイクロソフトが「仕様です」の一言で片付けてしまうのが原因と言われています。
お礼
たびたびありがとうございます。 しつこいかもしれませんが、気になる点がありましたのでコメントさせて下さい。 >「実際に発生した」のであれば、発生するのでしょう。 私が「発生した」と言ったのはKernel Stack Inpage Errorの事であって、「ページファイルの読み書き」のことではありません。 ですから、もしかしたらページファイル関連のエラーではなくてもKernel Stack Inpage Errorが発生するのではありませんか?と疑問に思ったわけです。 【2】 >それは「推測」に過ぎません。 システムリカバリのHDDイメージコピーは、まだWindowsが起動する前の話なので、マイクロソフトは関係ないのでは? ほんとに純粋に疑問に思っているので、補足質問させて下さい。 よろしくお願いします
補足
お礼欄に補足質問的なものをさせて頂きました。ぜひよろしくお願いします
お礼
前回に続けて回答下さりありがとうございます。 けっこうわかり易かったです。 --- ただ、一点だけ疑問なのは、システムリカバリでHDD内部でのイメージコピーの最中にも当該のエラーが出たのですが、そういう状態でもページファイルへの読み書きが発生するものなんでしょうか? まだpagefile.sysが存在しない状態ですし、HDD内でのイメージコピーをメモリスワップしながら行うことは有り得ないと思うのですが。 --- ここだけ非常に気になったので、補足として再度新規質問させてもらいました。 もしご負担でなければ回答お願いします。