其实这个问题是因为我家停电了才想到的。停电时,电脑会突然断电。
计算机如何知道关机未正确完成?
答案1
Windows 还使用脏位检测PC是否正常关机的方法:
正常关机时,位会关闭。但是,如果断电或非正常(强制)关机,下次启动 PC 时,位仍会打开。
这意味着 Windows 可以建议补救措施 - 例如启动到安全模式。
此外,基于 Windows 的 PC 还会在事件日志中写入条目,详细说明其关机的时间和原因(如果已知)。它还会在 PC 启动时写入事件。
当 PC 重新启动时,它可以检查事件日志,如果在上次“启动”事件后未找到“关机事件”,则它知道 PC 没有正确关闭,并且可能可能是由于未保存的数据等导致的问题。
答案2
对于非 Windows 电脑,检测通常基于每个文件系统进行。当文件系统以读/写模式挂载时,会向文件系统写入一个条目,将其标记为脏。当文件系统卸载时,会写入一个条目,将其标记为干净。启动时,操作系统会检查其核心文件系统是否标记为脏,如果是,则它知道没有干净关闭 —— 至少这些文件系统没有干净关闭。
答案3
在 Windows 中,根据《Windows Internals》第 5 版的作者所说,它是 bootstat.dat 文件(默认位于系统分区的 \boot 目录中):
Windows 使用启动状态文件...记录系统生命周期各个阶段的进展情况,包括启动和关机。这允许启动管理器、Windows 加载器和启动修复工具检测异常关机或无法正常关机,并为用户提供恢复和诊断启动选项...
答案4
在某些计算机上,硬件 BIOS 中可能会设置独立于操作系统的方法。这取决于计算机供应商和 BIOS 供应商。
主要公司包括 American Megatrends Inc. (AMI)、Award 和 Phoenix Technologies。查看这些制造商以了解具体信息。