我需要找到一种方法来以编程方式确定 Windows 使用哪个磁盘驱动器来启动。换句话说,我需要一种来自 Windows 的方法来确定 BIOS 使用哪个驱动器来引导整个系统。
Windows 是否公开一个接口来发现这一点?Windows API 有多大,我希望里面有一些东西可以解决问题。
特里
ps 仅仅读取硬盘的第一个扇区并没有任何乐趣。在我的开发盒上,我有两个硬盘,当我查看其中一个硬盘上前几个扇区的内容时,我有一个标准的样板 MBR。
编辑以澄清一些事情。我想识别设备的方式是使用一个字符串来识别物理磁盘驱动器(而不是逻辑磁盘驱动器)。物理磁盘驱动器的格式为“\\.\PHYSICALDRIVEx”,其中 x 是一个数字。另一方面,逻辑驱动器由格式为“\\.\x”的字符串标识,其中 x 是驱动器号。
编辑讨论一些被抛出的想法。知道 Windows 用来引导哪个逻辑卷在这里对我没有帮助。这就是原因。假设 C: 正在使用镜像 RAID 设置。现在,这意味着我们至少有两个物理驱动器。现在,我得到了从逻辑驱动器到物理驱动器的映射,我发现该卷使用了两个物理驱动器。Windows 使用哪一个来启动?当然,这是假设 Windows 用于引导的物理驱动器与包含 MBR 的物理驱动器相同。