Windows(或其他操作系统)能否检测到重新启动期间正在运行的其他操作系统?

Windows(或其他操作系统)能否检测到重新启动期间正在运行的其他操作系统?

假设我们有一台双启动机器。或者我们的 CD 驱动器中有一张 Linux LiveCD。

我们正在运行 Windows 并选择重新启动或休眠。
机器退出操作系统并返回到引导过程。

这里我们可以选择其他操作系统。或者我们可以启动 CD 驱动器中的 Linux LiveCD。

然后我们关闭其他操作系统。

当我们重新启动时,Windows 再次接管控制权。这个 Windows 实例是否“知道”在重新启动之间还有其他操作系统在运行?
我正在考虑一些 CMOS 设置(或 BIOS 或 UEFI 或类似设置),它们记录了上一个启动设备。
将其与当前启动设备进行比较将告诉操作系统,在此期间还有其他操作系统在运行。

那可能吗 ?

虽然我是出于好奇才问这个问题,但这有实际的原因:

例如 1:当我们有一台公司笔记本电脑,并且公司政策是不使用 Linux LiveCD(例如从硬盘中提取机密数据)时,检查“以前的启动设备”并将其记录在员工身上可能会很有用。

例如 2:如果 Windows 检测到“上一个启动设备”不是 Windows,它可能会假设想要进入有关系统文件完整性的“偏执模式”并启动完整的系统检查。

答案1

直接回答这个问题,据我所知,这是不可能的,至少不是以一种足够可靠的方式来实现你所描述的目的。系统固件不会保留启动时间的持久日志。唯一接近的只有磁盘在其 SMART 数据中跟踪的“开机计数”和 TPM 芯片同样跟踪的“启动计数”,但简单的计数器不能用来证明确实做了任何不必要的事情。

(某些 Linux 文件系统确实会在文件系统本身内记录“最后挂载的”主机名,但这是完全自愿的;这样做是为了避免共享磁盘同时被挂载两次。)

但在你的两个例子中,你只考虑在同一台计算机上启动 liveCD – 但你忘记了移除从机器上取下磁盘并将其连接到另一个系统(如数据磁盘),这种情况更有可能发生。即使可以轻松检测到之前的非 Windows 启动,也无法以任何方式检测到在同一台计算机上甚至没有发生的事情。

因此,在你们两个例子中,通常采用不同的方法——不是使用公司政策(吓跑那些最不关心公司政策的人)来对为时已晚的事件做出反应,而是系统磁盘通常加密这样其数据就无法被访问,例如使用 BitLocker 或各种商业工具。(这就是防篡改与防篡改之间的区别。)

BitLocker 并非由操作系统检测之前发生的情况,而是执行相反的操作;诸如“测量启动”(通过 TPM + 安全启动)等功能可提供有关当前启动期间发生的情况的信息,例如,如果当前的启动通过验证,但是任何其他东西都无法从 TPM 硬件获取解密密钥。

答案2

不太可能。我从未见过 BIOS 记录启动设备。如果您从实时 CD 或 USB 启动,则安装在 HDD/SSD 上的操作系统将不会执行并创建自己的任何日志。然后,您就可以复制文件甚至对磁盘进行映像处理,而不会让任何人知道。

话虽如此,如果公司不希望你这样做,它可能会将启动配置限制在 HDD/SSD 上,并且密码保护计算机的启动菜单。但是,如果你可以物理访问计算机,你可以简单地移除驱动器并从另一台机器上读取它。唯一的保护措施是驱动器被加密。

相关内容