我需要找到一种方法,以编程方式确定Windows使用哪个磁盘驱动器启动。换句话说,我需要从Windows的方式来确定BIOS使用哪个驱动器来引导整个系统。如何判断Windows用于启动哪个磁盘
Windows是否暴露了一个接口来发现它?随着Windows API的规模有多大,我希望有一些东西埋在那里,可以做到这一点。
特里
p.s.只是读取硬盘的第一个扇区并不会令人陶醉。在我的开发箱中,我有两个硬盘,当我查看两个硬盘中的第一对扇区的内容时,我有一个标准的锅炉板MBR。
编辑来澄清一些事情。 我想识别设备的方式是使用一个字符串来标识物理磁盘驱动器(而不是逻辑磁盘驱动器)。物理磁盘驱动器的格式为“\\。\ PHYSICALDRIVEx”,其中x是一个数字。另一方面,逻辑驱动器由一个形式为“\\。\ x”的字符串标识,其中x是一个驱动器号。
编辑讨论一些被抛出的想法。 知道Windows用来启动的逻辑卷在这里没有帮助。这是原因。假定C:正在使用镜像RAID设置。现在,这意味着我们至少有两个物理驱动器。现在,我得到了从逻辑驱动器到物理驱动器的映射,并且我发现该卷有两个物理驱动器。 Windows使用哪一个引导?当然,这是假设用于启动的物理驱动器Windows是包含MBR的物理驱动器。
在命令行(即运行)中,输入cmd,输入systeminfo return。给它一分钟来编译列表和答案更详细。 – 2013-10-01 15:22:20