首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >可否直接挂载.vmdk,然后用dism命令离线集成virtio驱动?

可否直接挂载.vmdk,然后用dism命令离线集成virtio驱动?

原创
作者头像
Windows技术交流
发布2025-09-04 16:47:15
发布2025-09-04 16:47:15
2390
举报
文章被收录于专栏:Windows技术交流Windows技术交流

在VMware Workstation Pro里做的windows .vmdk,强制导入腾讯云后,需要进入救援模式winpe,离线集成virtio驱动才行

我在想,可否在导入腾讯云之前就在本地离线集成好virtio驱动?已知可行的办法:用starwindqemu-img.exe转.vmdk为.vhd,然后附加.vhd后,用dism命令对系统分区集成驱动即可。但这样太麻烦了,可否直接挂载.vmdk,然后用dism命令离线集成virtio驱动?先说结论:可以挂载,但是dism命令跟.vhd兼容,跟.vmdk不兼容,因此行不通。

一、imdisk挂载、卸载.vmdk(网传的OSFMount试了,不行,而最新版vmware本身不支持UI或命令行挂载.vmdk)

代码语言:txt
复制
使用imdisk挂载

1、下载imdisk
https://onboardcloud.dl.sourceforge.net/project/imdisk-toolkit/20250206/ImDiskTk-x64.zip
或
https://sourceforge.net/projects/imdisk-toolkit/files/20250206/ImDiskTk-x64.zip/download

2、安装imdisk
解压后,只有install.bat和files.cab,运行install.bat即可看到安装界面,一直下一步→ 下一步→ ... → 直到安装完成

3、UI界面手动挂载或解挂
调出UI界面的命令是imdisk.cpl

命令行挂载示例:
"C:\Program Files\ImDisk\MountImg.exe" "C:\Users\Administrator\Documents\Virtual Machines\win11-25h2-cn-uefi-ntfs-20250830\win11-25h2-cn-uefi-ntfs-20250830.vmdk" /MP=Z: /P=4 /HD /MOUNT

命令行只能挂载、不能卸载,查看用法参考MountImg.exe /?
例如cmd命令行:"C:\Program Files\ImDisk\MountImg.exe" /?

原本是想这样干的,但发现dism报错4390

代码语言:txt
复制
Z:\virtio-win-0.1.271-qxldod\w10\amd64
qxldod.inf

Z:\QCloudVirtIO\Win10_Win11_2016_2019_2022\amd64
viostor.inf
netkvm.inf

Dism /Image:"Z:" /get-drivers
Dism /Add-Driver /Image:"Z:" /Driver:"Z:\QCloudVirtIO\Win10_Win11_2016_2019_2022\amd64\viostor.inf" /ForceUnsigned
Dism /Add-Driver /Image:"Z:" /Driver:"Z:\QCloudVirtIO\Win10_Win11_2016_2019_2022\amd64\netkvm.inf" /ForceUnsigned
Dism /Add-Driver /Image:"Z:" /Driver:"Z:\virtio-win-0.1.271-qxldod\w10\amd64\qxldod.inf" /ForceUnsigned

二、即便用imdisk.cpl挂载.vmdk有盘符了,由于dism.exe跟.vmdk不兼容,无法使用dism集成virtio驱动,只能用前面提到的办法,要么在云侧救援模式winpe里操作,要么在上传.vmdk之前就转成.vhd添加好驱动再上传、导入。

代码语言:txt
复制
echo.>C:\WINDOWS\Logs\DISM\dism.log
Dism /Image:"Z:" /get-drivers
notepad C:\WINDOWS\Logs\DISM\dism.log

内容如下:“is not a WIM mount point” “is not recognized by the DISM FFU provider” “is not recognized by the DISM VHD provider”

错误信息非常具体,指向了Windows内置的部署工具DISM及其支持的特定文件格式。

核心结论​​:DISM是一个用于管理​​微软官方镜像格式(WIM/FFU/VHD)​​ 的强大工具,但它​​不支持VMware的VMDK格式

代码语言:txt
复制

2025-09-03 16:34:57, Info                  DISM   PID=61860 TID=60636 Scratch directory set to 'C:\Users\ADMINI~1\AppData\Local\Temp\'. - CDISMManager::put_ScratchDir
2025-09-03 16:34:57, Info                  DISM   PID=61860 TID=60636 DismCore.dll version: 10.0.26100.4652 - CDISMManager::FinalConstruct
2025-09-03 16:34:57, Info                  DISM   Initialized Panther logging at C:\WINDOWS\Logs\DISM\dism.log
2025-09-03 16:34:57, Info                  DISM   PID=61860 TID=60636 Successfully loaded the ImageSession at "C:\Windows\System32\Dism" - CDISMManager::LoadLocalImageSession
2025-09-03 16:34:57, Info                  DISM   Initialized Panther logging at C:\WINDOWS\Logs\DISM\dism.log
2025-09-03 16:34:57, Info                  DISM   DISM Provider Store: PID=61860 TID=60636 Found and Initialized the DISM Logger. - CDISMProviderStore::Internal_InitializeLogger
2025-09-03 16:34:57, Info                  DISM   Initialized Panther logging at C:\WINDOWS\Logs\DISM\dism.log
2025-09-03 16:34:57, Info                  DISM   DISM Manager: PID=61860 TID=60636 Successfully created the local image session and provider store. - CDISMManager::CreateLocalImageSession
2025-09-03 16:34:57, Info                  DISM   DISM.EXE: 
2025-09-03 16:34:57, Info                  DISM   DISM.EXE: <----- Starting Dism.exe session ----->
2025-09-03 16:34:57, Info                  DISM   DISM.EXE: 
2025-09-03 16:34:57, Info                  DISM   DISM.EXE: Host machine information: OS Version=10.0.26100, Running architecture=amd64, Number of processors=16
2025-09-03 16:34:57, Info                  DISM   DISM.EXE: Instance information: Parent process=C:\Windows\System32\cmd.exe, Parent process PID=58556
2025-09-03 16:34:57, Info                  DISM   DISM.EXE: Dism.exe version: 10.0.26100.1150
2025-09-03 16:34:57, Info                  DISM   DISM.EXE: Executing command line: Dism  /Image:"Z:" /get-drivers
2025-09-03 16:34:57, Info                  DISM   DISM FFU Provider: PID=61860 TID=60636 [Z:\] is not recognized by the DISM FFU provider. - CFfuImage::Initialize
2025-09-03 16:34:57, Info                  DISM   DISM Imaging Provider: PID=61860 TID=60636 The provider FfuManager does not support CreateDismImage on Z:\ - CGenericImagingManager::CreateDismImage
2025-09-03 16:34:57, Info                  DISM   DISM VHD Provider: PID=61860 TID=60636 [Z:\] is not recognized by the DISM VHD provider. - CVhdImage::Initialize
2025-09-03 16:34:57, Info                  DISM   DISM Imaging Provider: PID=61860 TID=60636 The provider VHDManager does not support CreateDismImage on Z:\ - CGenericImagingManager::CreateDismImage
2025-09-03 16:34:57, Info                  DISM   DISM WIM Provider: PID=61860 TID=60636 [Z:\] is not a WIM mount point. - CWimMountedImageInfo::Initialize
2025-09-03 16:34:57, Info                  DISM   DISM Imaging Provider: PID=61860 TID=60636 The provider WimManager does not support CreateDismImage on Z:\ - CGenericImagingManager::CreateDismImage
2025-09-03 16:34:57, Info                  DISM   DISM Imaging Provider: PID=61860 TID=60636 No imaging provider supported CreateDismImage for this path - CGenericImagingManager::CreateDismImage
2025-09-03 16:34:57, Info                  DISM   DISM WIM Provider: PID=61860 TID=60636 [Z:\] is not a WIM mount point. - CWimMountedImageInfo::Initialize
2025-09-03 16:34:57, Info                  DISM   DISM FFU Provider: PID=61860 TID=60636 [Z:\] is not recognized by the DISM FFU provider. - CFfuImage::Initialize
2025-09-03 16:34:57, Info                  DISM   DISM VHD Provider: PID=61860 TID=60636 [Z:\] is not recognized by the DISM VHD provider. - CVhdImage::Initialize
2025-09-03 16:34:57, Info                  DISM   DISM Manager: PID=61860 TID=60636 physical location path: Z:\ - CDISMManager::CreateImageSession
2025-09-03 16:34:57, Error                 DISM   DISM Manager: PID=61860 TID=60636 Failed to create unique image session lock name for DISM located at 'Z:\Windows\System32\Dism\dismprov.dll'. - CDISMManager::CheckSessionAndLock(hr:0x80071126)
2025-09-03 16:34:57, Error                 DISM   DISM Manager: PID=61860 TID=60636 Failed to create the image session lock for location: Z:\Windows\System32\Dism - CDISMManager::CreateImageSession(hr:0x80071126)
2025-09-03 16:34:57, Error                 DISM   DISM.EXE: Could not load the image session. HRESULT=80071126
2025-09-03 16:34:57, Info                  DISM   DISM.EXE: Image session has been closed. Reboot required=no.
2025-09-03 16:34:57, Info                  DISM   DISM.EXE: 
2025-09-03 16:34:57, Info                  DISM   DISM.EXE: <----- Ending Dism.exe session ----->
2025-09-03 16:34:57, Info                  DISM   DISM.EXE: 

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档