質問: windows xp以降のバージョンでbsodを発生させる方法は? プログラムでwindows xp以降のバージョンでbsodを発生させる方法はありますか?ところで、明確にするために、これは悪意のある目的のためではありません。クライアントは、この方法でlan上の端末をシャットダウン/再起動できるように要求しました。理由を尋ねると、通常の再起動よりも速いので、彼らは言った... :)(「プログラム的に」どの部分が、誰がこれをスーパーユーザーに移行したのかわからないのか興味があります。
回答: bsodはカーネルパニックです。これはカーネルの一部を意味し、オペレーティングシステムのコアそのものが本当に悪いことをしました。それはおそらくメモリを走り書きし、それが持つべきではないコードを実行したのかもしれません。プログラム的には、カーネルスペースでコードを取得し、それをオンデマンドでトリガーする必要があります。製品サーバーにとっては少し危険です。通常のwindowsマシンには、プロセスとカーネルに多くの状態があります。状態を一定に保つために必要なクリーンアップが何であれ、それを短絡させただけです。具体的には、bsodは(通常)カーネル(またはドライバー)のバグであり、カーネルは悪い状態にあるため、クリーンアップできないと感じて再起動し、そうでないという理由だけで良い状態を失います。何が良くて何が悪いかを知っています。バッファをディスクにフラッシュできませんでした。次に、再起動時にクリーンアップを試みますが、シャットダウン/パニックで多くのコンテキストが失われるため、パニックからの良い残りと悪い残りの両方を選択する必要がある、保守的なクリーンアップになります。したがって、シャットダウン時の利点の一部は起動時に失われます。これは、脚が下から切り取られた場所を把握する必要があるためです。 chkdskを実行し、部分的な書き込み状態にあったディスクブロックをクリーンアップする必要があります。 usbディスクはたくさんキャッシュします。キャッシュをオフにすると、クラッシュ時にデータが失われる可能性が低くなりますが、キャッシュしないと速度が低下します。どのファイルを失っても構わないと思いますか?要するに、これは悪い考えです。これが発生した本番マシンは、クリーンアップ後も不安定な状態になる可能性があります。これは悪いです。シャットダウンして再起動するだけだと思います。サーバーが起動しないか、プログラムを起動できないため、サーバーを最初に再構築する必要があるときに得られると思われる時間の節約が失われます。