今天早些时候,我家里有人快速打开和关闭了整个房子的电源开关,重置了电源。这导致我的电脑被强制关机。从那时起,我重新启动/重启了电脑,一切似乎都很好。重新启动 Windows 机器后,我在机器上运行了chkdsk
和sfc /verifyonly
命令,两个命令都表明文件系统没有问题,等等……
我的电脑使用的是 HDD(不是 SSD),我担心当电源被强制切断时,我的一些数据可能会被损坏。这是否可能导致我的一些文件被损坏,即使在强制关机时这些文件没有被打开/编辑?
关机时我只打开了 Google Chrome,并且在 Visual Studio 中打开了几个项目,Visual Studio 中的所有项目在关机前都已保存,因此我希望那里没有发生数据损坏/数据丢失。
只是浏览我的电脑,我似乎没有注意到任何丢失的文件/损坏的文件,那么这是否意味着我可以安全地假设没有发生任何不好的事情和/或我的文件都没有受到关机的影响?
如果我查看事件查看器,我会注意到关机时记录的事件:
Event 41, Kernel-Power
The system has rebooted without cleanly shutting down first. This error could be caused if the system stopped responding, crashed, or lost power unexpectedly.
使用以下事件数据
BugcheckCode 0
BugcheckParameter1 0x0
BugcheckParameter2 0x0
BugcheckParameter3 0x0
BugcheckParameter4 0x0
SleepInProgress 0
PowerButtonTimestamp 0
BootAppStatus 0
Checkpoint 0
ConnectedStandbyInProgress false
SystemSleepTransitionsToOn 0
CsEntryScenarioInstanceId 0
BugcheckInfoFromEFI false
CheckpointStatus 0
答案1
你很可能没事。
硬盘驱动器的设计使其不会在突然断电时随机写入介质。(它们包含少量板载能量存储,足以完成任何当前正在进行的写入操作,并足以确保驱动器电子设备“干净”关闭。)
您最担心的可能是驱动器的写入缓存,但只要您没有在驱动器属性中选中“关闭 Windows 写入缓存缓冲区刷新”选项,Windows 就会在最后一次尝试写入后的几秒钟内自动刷新该缓存。
顺便说一句,“事件数据”全为 0 表示什么都看不到。如果系统在错误检查(BSOD)后重新启动,则 BugcheckCode 将不为 0,其他许多字段也不会为 0,并且您可能需要查看小型转储。但这里的情况并非如此。
答案2
无需担心,因为任何操作系统中都没有程序可以在突然断电时写入任何内容,唯一的可能是您的工作无法保存,但数据损坏是不可能的,如果偶然发生这种情况,您可以使用最后的检查点恢复该操作系统。
答案3
无需担心,当操作系统启动一项任务时,它会为其设置一个标志,当任务完成时该标志会重置,如果在任何操作过程中出现故障(包括断电),操作系统会在下次启动时发现并擦除所有不需要的写入。在这种情况下唯一的风险是,硬盘磁头会因电源高压电流流向硬盘而震动并损坏其下的扇区,这可能会导致一种称为坏扇区的现象,这意味着该扇区的仅有的 512kb 将无法再访问,如果该扇区位于操作系统文件的中间,则可能会导致 Windows 崩溃并出现蓝屏,如果它位于文件的中间,则该文件可能已损坏(无论可修复与否),顺便说一下,它会在启动时自动出现,只需检查您的重要文件即可,这是一种非常罕见的可能性。