
ブート シーケンス中に傷のついた光学メディアや非標準の光学メディアを挿入すると、Windows XP SP3 マシンがフリーズします。
システムは CD から何らかのデータをプリロードしようとしているようですが、失敗すると、単にハングアップしてしまいます。
このような動作を防ぐ方法はありますか? 自動起動のことではありません。これはまったく別のことです。自動起動がオフになっている場合でも、XP は起動時にコンピューターに挿入されるすべての光学メディアから何らかのデータを必要とするようです。これを防ぐ方法はありますか?
答え1
短い回答: 傷や損傷のあるメディアは使用しないでください。
より詳細な長い回答: 起動中、Windows はまだマルチスレッド環境に切り替わっていません。いずれかの部分が非同期で実行しないことにした場合、起動プロセス全体が停止し、A) プロセスが完了するか、B) Windows がプロセスを強制終了することを決定します。CD-ROM ドライブの場合... 他のデバイスと同様にドライバーを持つデバイスとして扱われ、そのドライバーがロードされると、最初にドライブの内容が照会されます。残念ながら、これは非同期プロセスではありません。CD-ROM ドライブは、ドライブの内容に関する情報が返されるのを待ち、起動プロセス中の他のすべてのコード実行をブロックします。幸い、Windows はそれを強制終了することはできません (そうしないと、BSOD になります)。むしろ、ドライバーには、一定時間後にドライブの内容の問い合わせを停止するための巧妙なロジスティックスが組み込まれています (その時間が正確に何であるかはわかりません)。Windows の起動が完了すると、マルチスレッド環境に切り替わります。そのため、CD-ROM は結果が返されるのを待っている間にマシン全体をロックしません。
さらに、実際の「Windows ブート」の前に、BIOS に何らかのファームウェア回復機能があり、CD-ROM にアクセスしようとする可能性がありますが、CD-ROM もマルチスレッド環境で実行されておらず、同じ「ドライブからの応答を待つ」タイプの問題が発生します。
答え2
BIOS で光学ドライブからの起動を無効にしてみてください。
答え3
これに対する私の直感的な反応は、「ブート時に破損したメディアや標準外のメディアを挿入しないでください」です。多くの OS を実行しているコンピューターは、ブート時に光学ドライブから読み取ろうとします。これは、光学ドライブからブートしようとしている場合に備えてです。(これは、破損した OS を修復しようとしている場合などに非常に便利な機能です。)
そうは言っても、それが選択肢ではないと思われる場合は、何を達成しようとしているのかを説明していただけますか? そうすることで、より適切な回答が得られるかもしれません。