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

时间:2008-09-02 19:14:23

标签: windows mbr

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

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

特里

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

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

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

10 个答案:

答案 0 :(得分:8)

  1. 进入Control Panel
  2. System and Security
  3. Administrative Tools
  4. 启动System Configuration工具
  5. 如果您安装了多个Windows副本,则引导您的Windows副本将被命名为:

    Windows 7 (F:\Windows)
    Windows 7 (C:\Windows) : Current OS, Default OS
    

答案 1 :(得分:5)

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

答案 2 :(得分:4)

您可以使用WMI来解决这个问题。 Win32_BootConfiguration类将告诉您逻辑驱动器和Windows引导的物理设备。具体来说,Caption属性将告诉您正在启动的设备

例如,在powershell中,只需输入 gwmi Win32_BootConfiguration 即可获得答案。

答案 3 :(得分:3)

这取决于您定义Windows用于引导的磁盘驱动器。我可以在标准BIOS系统上想到3个不同的答案(谁知道EFI系统的作用):

  1. 包含有效MBR的驱动器
  2. 活动分区,NTLDR(系统分区)
  3. 带有Windows的分区(启动分区)
  4. 2和3应该很容易找到 - 我不太确定1.尽管你可以通过原始磁盘读取来找到MBR,但这并不意味着它是这次或甚至下次的BIOS启动设备(你可能有多个带MBR的磁盘。)

    你甚至无法确定PC是从硬盘驱动器启动的 - 完全有可能从软盘启动Windows。在这种情况下,1和2在技术上都是软盘,但3仍然是C:\ Windows。

    您可能需要在您的要求或目标中更具体一些。

答案 4 :(得分:2)

安装了Vista的计算机上没有boot.ini。

你想如何识别驱动器/分区:通过它映射到的Windows驱动器号(例如c:\,d :)或者它的硬件签名(哪个总线等)。

对于简单的案例,请查看GetSystemDirectory

答案 5 :(得分:1)

尝试HKEY_LOCAL_MACHINE \ SYSTEM \ Setup \ SystemPartition

答案 6 :(得分:0)

您可以尝试使用简单的命令行。 bcdedit是您需要的,只需以管理员身份运行cmd并输入bcdeditbcdedit \v,这不适用于XP,但希望它不是问题。

无论如何,对于XP,您可以查看boot.ini文件。

答案 7 :(得分:0)

您键入diskpart,列出磁盘并检查磁盘以进行引导。
例如:

dispart 
list disk 
select disk 0 
detail disk

具有启动卷的磁盘是装有Windows的磁盘:

enter image description here

答案 8 :(得分:0)

更简单的方法 在开始菜单中搜索下载,然后点击搜索结果中的下载以查看它将带您到哪里,驱动器将在资源管理器中突出显示。

答案 9 :(得分:0)

在 Windows 10 上。 打开“计算机管理” 在列表“页面左上角”中查找“存储” 选择“磁盘管理” 在显示磁盘列表和分区的页面部分找到将分区分配为驱动器 C 的磁盘: 在包含 C: 分区的磁盘上 使用鼠标右键选择包含磁盘编号、驱动器类型和大小(以 GB 为单位)的 Square 部分。当菜单打开时选择属性。 将打开一个窗口,显示所使用的驱动器硬件。