从 WIM 文件创建“原始磁盘文件”

从 WIM 文件创建“原始磁盘文件”

第一次来这里。我在这里搜索过,但没有找到像我这样的问题。如果我错过了,请原谅。

眼前的挑战:从给定的 WIM 文件生成“原始磁盘映像文件”。到目前为止,我所追求的是使用 imagex.exe 和“/apply”操作来获取 WIM 并将其放在服务器上的目录中。这似乎会在该目录中生成我需要的所有必要“内容”。

我该如何获取该内容并生成“原始磁盘映像文件”?有人告诉我“原始磁盘映像文件”的定义是磁盘映像的逐块副本,我希望这是我当前使用的“imagex.exe /apply”命令的输出,但存储在单个文件中,我可以将其交还给我们解决方案中的另一个系统。

imagex.exe /apply image.wim 1 R:\WimImagePoint

我想获取 R:\WimImagePoint 的内容并生成难以捉摸的(对我来说)“原始磁盘映像文件”。ISO 不是他们想要的,也不是任何需要 winPE 的东西。

有什么建议吗?欢迎参考外部实用程序。希望尽可能避免使用非托管代码解决方案,但如果这是唯一的途径,我会考虑它们。

此外,我并不执着于以 imagex /apply 作为起点,这只是目前的舒适区。

答案1

这是我最终做的事情(我希望提交我自己问题的答案以帮助更多的人):

在文本文件中使用 diskpart.exe 和以下命令:

create vdisk file=E:\Temp\RawDisk\2003R2_amd64\2003_R2_amd64.vhd maximum=10000 type=expandable
select vdisk file=E:\Temp\RawDisk\2003R2_amd64\2003_R2_amd64.vhd
attach vdisk
create partition primary
assign letter=v
format fs=ntfs quick label=vhd
active
exit

然后,我使用 imagex.exe 的 /apply 选项将 WIM 文件应用到此逻辑卷:

imagex.exe /apply 2003_R2_amd64.WIM 1 V:\

然后,使用 bootsect.exe(服务器 2003)或 bcdboot.exe(服务器 2008 和 2008 R2)。此示例适用于 2003:

"C:\Program Files\Windows AIK\Tools\PETools\amd64\bootsect.exe" /NT52 V:

然后,使用文本文件中的以下命令再次运行 diskpart.exe:

select vdisk file=E:\Temp\RawDisk\2003R2_amd64\2003_R2_amd64.vhd
detach vdisk

然后,我们运行了一些自己开发的 VHD 到 VMDK 代码,一切正常。我想您也可以使用标准工具获取此 VHD 并将其转换。

希望这有助于造福大众。

答案2

您可以使用以下方式进行逐块复制dd(适用于 Windows),但我认为这不是您所需要的。我猜想“原始”文件将包含所有文件系统信息,例如 FAT32 文件分配表,而 WIM 不会有这些信息。

尝试使用wim2vhd然后使用可以执行此操作的工具转换 vhd2raw。听起来 VBoxConvert 或 qemu-img 可能有助于完成第二步。

编辑

从外表来看这些截图StarWind V2V 转换器可能是第二步最简单的方法。

相关内容