如果我使用在线Windows中的GetWindowsDirectory
,我可以获得安装操作系统的目录,如C:\ Windows。
如果我在Windows PE中使用相同的功能,我会像X:\Windows
一样(如截图所示),这意味着来自Windows PE本身的Windows目录。如何获取脱机Windows目录?像D:\Windows
一样,或者它有任何字母。
您可以建议的任何功能?
答案 0 :(得分:0)
有一个名为mountvol.exe
的实用程序(在WinPE和/或Windows中可用),它将列出所有已安装的卷。你的winpe驱动器总是x:
而且#34;离线"安装通常(但不总是)安装在d:
。
还有用于枚举卷的Windows API FindFirstVolume
和FindNextVolume
。这将包括未安装的卷,您可以为未安装的卷分配驱动器号。
一旦你有一个卷列表,你需要查看每个卷以确定它是否是" target"您感兴趣的卷 - 卷标 - 存在\ Windows和/或检查bcd数据库以确定哪些卷可引导。这不是微不足道的,但它是可能的。 bcd数据库实际上是一个Windows注册表配置单元,你可以挂载只读...它是一个从中取出信息的工作。
即使未安装离线卷(这也不常见),您仍然可以使用Windows API检查卷内容 - 但您必须使用\\?\
前缀和volumeID(而不是驱动器号)。安装音量更容易。
如果您确实无法找到脱机卷,请检查以确定物理磁盘是否存在。如果不是,您可能需要将特定硬盘驱动器的驱动程序添加到winPE映像中。通常,您可以从正在运行的使用该驱动器的操作系统获取这些内容。 DISM中有一个/addDriver
子命令,用于从驱动程序存储区复制驱动程序。人们通常只指向您正在构建.wim
的计算机上的现有驱动程序存储区。