如何判断Windows用于引导的磁盘

Ter*_*rry 9 windows mbr

我需要找到一种方法来以编程方式确定Windows用于引导的磁盘驱动器.换句话说,我需要一种来自Windows的方法来确定BIOS用于启动整个系统的驱动器.

Windows是否公开了一个界面来发现这个?随着Windows API的大小,我希望那里埋藏着一些可以解决问题的东西.

特里

ps只是读取硬盘的第一个扇区并不是在陶醉任何东西.在我的开发盒上我有两个硬盘,当我查看任一硬盘上前几个扇区的内容时,我有一个标准的锅炉板MBR.

编辑以澄清一些事情.我想识别设备的方式是使用字符串来识别物理磁盘驱动器(而不是逻辑磁盘驱动器).物理磁盘驱动器的格式为"\\.\ PHYSICALDRIVEx",其中x是数字.另一方面,逻辑驱动器由形式为"\\.\ x"的字符串标识,其中x是驱动器号.

编辑以讨论抛出的一些想法.知道Windows用来启动哪个逻辑卷对我没有帮助.这就是原因.假设C:正在使用镜像RAID设置.现在,这意味着我们至少有两个物理驱动器.现在,我获得了从逻辑驱动器到物理驱动器的映射,我发现该卷使用了两个物理驱动器.Windows使用哪一个启动?当然,这假设用于引导的Windows物理驱动器与包含MBR的物理驱动器相同.

JD.*_*JD. 8

  1. 进入 Control Panel
  2. System and Security
  3. Administrative Tools
  4. 启动该System Configuration工具

如果安装了多个Windows副本,则引导的那个副本将被命名为:

Windows 7 (F:\Windows)
Windows 7 (C:\Windows) : Current OS, Default OS
Run Code Online (Sandbox Code Playgroud)

  • 如果您没有按类别列出控制面板图标,请跳过第 2 步并直接转到管理工具。没有系统和安全选项,“系统”选项不是您想要的。 (2认同)

Unk*_*ech 5

除非C:不是Windows启动的驱动器.
解析%SystemRoot%变量,它包含windows文件夹的位置(即c:\ windows).


小智 5

您键入diskpart,列出磁盘并检查磁盘是否可以启动。
前任:

dispart 
list disk 
select disk 0 
detail disk
Run Code Online (Sandbox Code Playgroud)

带有Boot卷的磁盘是安装了windows的磁盘:

在此输入图像描述