1

如果我GetWindowsDirectory从我的在线 Windows 中使用,我可以获得安装操作系统的目录,如 C:\Windows。

如果我使用 Windows PE 中的相同功能,我会得到X:\Windows(如屏幕截图),witch 表示来自 Windows PE 本身的 Windows 目录。如何获取脱机 Windows 目录?像D:\Windows,或者它有的任何字母。

在此处输入图像描述

您可以建议任何功能吗?

4

1 回答 1

0

有一个实用程序(在 WinPE 和/或 Windows 中可用)mountvol.exe将列出所有已安装的卷。您始终是 winpe 驱动器x:,并且“离线”安装通常(但不总是)安装在d:.

也有用于枚举卷的 Windows APIFindFirstVolumeFindNextVolume. 这将包括未安装的卷,您可以为未安装的卷分配驱动器号。

获得卷列表后,您需要查看每个卷以确定它是否是您感兴趣的“目标”卷 - 诸如卷标之类的东西 - \Windows 的存在,和/或检查 bcd 数据库以确定哪些卷是可引导的。这不是微不足道的,但它是可能的。bcd 数据库实际上是一个 Windows 注册表配置单元,您可以将其以只读方式挂载……而从中提取信息是一项工作。

即使未安装脱机卷(这很不寻常),您仍然可以使用 Windows API 检查卷内容 - 但您必须使用\\?\前缀和 volumeID(而不是驱动器号)。只安装卷更容易。

如果您确实找不到脱机卷,请检查以确保物理磁盘是否存在。如果不是,您可能需要将特定硬盘驱动器的驱动程序添加到您的 winPE 映像。通常,您可以从使用该驱动器的正在运行的操作系统中获取这些信息。DISM 中有一个/addDriver子命令可以从驱动程序存储中复制驱动程序。人们通常只是指向您正在构建.wim.

于 2016-11-25T16:25:19.303 回答