
Мой компьютер с Windows XP SP3 зависает, если во время загрузки вставить поцарапанный или нестандартный оптический носитель.
Похоже, система пытается предварительно загрузить какие-то данные с компакт-диска, а когда это не удается, она просто зависает.
Есть ли способ предотвратить такое поведение? Я не имею в виду автозапуск. Это совсем другое. Кажется, даже когда автозапуск отключен, XP хочет получить какие-то данные с каждого оптического носителя, вставленного в компьютер во время загрузки. Есть ли способ предотвратить это?
решение1
Короткий ответ: Не используйте поцарапанные/поврежденные носители.
Длинный ответ с более подробной информацией: Во время загрузки Windows еще не переключилась на многопотоковую среду. Если какая-либо часть решит не работать асинхронно, весь процесс загрузки остановится, пока либо A) процесс не завершится, либо B) Windows не решит завершить процесс. В случае с приводом CD-ROM... он рассматривается как устройство, как и любое другое с драйвером, и когда этот драйвер загружается, первое, что он делает, это запрашивает, что находится в приводе. К сожалению, это не асинхронный процесс. Привод CD-ROM ждет, пока привод вернет некоторую информацию о том, что находится внутри, блокируя все остальное выполнение кода во время процесса загрузки. К счастью, Windows не может его завершить (иначе вы бы получили BSOD), но вместо этого драйвер имеет некоторую элегантную логистику, чтобы перестать спрашивать, что находится в приводе, через некоторое время. (не уверен, сколько это времени) После завершения загрузки Windows переключается в многопоточную среду, поэтому CD-ROM не блокирует всю машину, ожидая результатов.
Кроме того... до фактической «загрузки Windows» в вашем BIOS может быть некая функция восстановления прошивки, которая может попытаться получить доступ к вашему CD-ROM, который также не работает в многопоточной среде и страдает от тех же проблем типа «подождите, пока привод что-нибудь скажет».
решение2
Вы можете попробовать отключить загрузку с оптического привода в BIOS.
решение3
Моя инстинктивная реакция на это: «Ну, не вставляйте поврежденные или нестандартные носители во время загрузки». Компьютеры под управлением многих ОС будут пытаться прочитать данные с оптического привода во время загрузки на случай, если вы попытаетесь, ну, загрузиться с него. (Это может быть очень полезной функцией, когда вы пытаетесь восстановить, скажем, поврежденную ОС.)
Тем не менее, если вы чувствуете, что это не ваш вариант, не могли бы вы объяснить, чего вы пытаетесь добиться? Это может помочь нам получить более точный ответ.