为什么在启动时插入有划痕或非标准的光学介质时我的机器会冻结?

为什么在启动时插入有划痕或非标准的光学介质时我的机器会冻结?

在启动过程中插入有划痕或非标准的光学介质时,我的 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

我对此的本能反应是“好吧,不要在启动时插入损坏或非标准的媒体。”运行许多操作系统的计算机会在启动时尝试从光驱读取数据,以防您尝试从光驱启动。(当您尝试修复损坏的操作系统时,这可能是一个非常有用的功能。)

话虽如此,如果您觉得这不是一个选择,您能解释一下您想要实现的目标吗?这可能会帮助我们为您提供更好的答案。

相关内容