无忧启动论坛

标题: 怎么在WIN7系统下用DISM命令添加右键挂载/卸载(可写卸载)VHD? [打印本页]

作者: ge    时间: 2017-8-15 13:04
标题: 怎么在WIN7系统下用DISM命令添加右键挂载/卸载(可写卸载)VHD?
我不知道注册表怎么写!知道DISM可以挂载/卸载(可写卸载)VHD!并且用DISM映像工具脚本测试成功!
请高人指点!谢谢了!
作者: ge    时间: 2017-8-15 15:35
来人呀!大神帮忙呀!
作者: ge    时间: 2017-8-15 20:23
怎么弄?
作者: ge    时间: 2017-8-15 21:07
没有人会吗?怎么这么多人看没有人回复?
作者: nttwqz    时间: 2017-8-16 01:13
注册表第一个分支 .vhd 默认值 改为 vhdfile

然后创建vhdfile项,参照txtfile照葫芦画瓢即可
作者: nttwqz    时间: 2017-8-16 01:19
简单点儿可以放到发送到文件夹
作者: ge    时间: 2017-8-16 08:24
nttwqz 发表于 2017-8-16 01:13
注册表第一个分支 .vhd 默认值 改为 vhdfile

然后创建vhdfile项,参照txtfile照葫芦画瓢即可

创建vhdfile项这个知道!内容是什么呢?
作者: ge    时间: 2017-8-16 08:26
nttwqz 发表于 2017-8-16 01:19
简单点儿可以放到发送到文件夹

我只知道可以做的!就是不知道怎么写!
作者: ge    时间: 2017-8-16 08:27
nttwqz 发表于 2017-8-16 01:13
注册表第一个分支 .vhd 默认值 改为 vhdfile

然后创建vhdfile项,参照txtfile照葫芦画瓢即可

写一个例子吧!谢谢!
作者: nttwqz    时间: 2017-8-16 10:03
ge 发表于 2017-8-16 08:27
写一个例子吧!谢谢!

DefaultIcon 图标设置,可以没有
shell\open\command,打开程序设置

主要就这两项。
作者: ge    时间: 2017-8-16 11:56
nttwqz 发表于 2017-8-16 10:03
DefaultIcon 图标设置,可以没有
shell\open\command,打开程序设置

值是什么呢?
作者: nttwqz    时间: 2017-8-16 12:11
ge 发表于 2017-8-16 11:56
值是什么呢?

唉,注册表有这么难懂吗???!!!

当然是你的脚本或者程序路径了!
作者: ge    时间: 2017-8-16 13:21
nttwqz 发表于 2017-8-16 12:11
唉,注册表有这么难懂吗???!!!

当然是你的脚本或者程序路径了!

DISM /Mount-Image /ImageFile:%Edit2% /index:1 /MountDir:%Edit1%写什么?也不能写一个固定的呀!别的我真的不知道了!知道就不用了!对于我来说还真的不会!
作者: nttwqz    时间: 2017-8-16 13:47
ge 发表于 2017-8-16 13:21
DISM /Mount-Image /ImageFile:%Edit2% /index:1 /MountDir:%Edit1%写什么?也不能写一个固定的呀!别的 ...

脚本你不是弄好了吗?

我现在懒得研究,不过,以前倒是写过一个。

http://bbs.wuyou.net/forum.php?m ... d=370991&extra=
作者: ge    时间: 2017-8-16 13:54
nttwqz 发表于 2017-8-16 13:47
脚本你不是弄好了吗?

我现在懒得研究,不过,以前倒是写过一个。

我只有一个DISM工具脚本!这个可以吗?我不知道可以!怎么用?
作者: ge    时间: 2017-8-17 11:11
求帮忙!
作者: x9tian    时间: 2017-8-17 12:46
我原来写过,后来又改了改,想还右键个毛,直截调用dism双击打开不就得了
作者: ge    时间: 2017-8-17 13:03
x9tian 发表于 2017-8-17 12:46
我原来写过,后来又改了改,想还右键个毛,直截调用dism双击打开不就得了

什么?我都不懂!
作者: x9tian    时间: 2017-8-17 15:07
ge 发表于 2017-8-17 13:03
什么?我都不懂!

:installvhd
rem 挂卸载接口
cls
(
echo.select vdisk file="%~1"
echo.list vdisk
echo.exit
)>%temp%\vdisk_
diskpart /s "%temp%\vdisk_"|find /i "%~1"|find /i "未打开已连接内容" >nul && set "vhd=detach" || set "vhd=attach"
(
echo.select vdisk file="%~1"
echo.%vhd% vdisk
echo.exit
)>%temp%\vdisk_
diskpart /s "%temp%\vdisk_" & del /a /q  "%temp%\vdisk_" 2>nul
goto :eof



作者: x9tian    时间: 2017-8-17 15:09
ge 发表于 2017-8-17 13:03
什么?我都不懂!


:regs
rem 注检测接口
assoc .vhd=VHDFile
reg add HKEY_CLASSES_ROOT\VHDFile /ve /d "VHD磁盘映像"  /f
reg add HKEY_CLASSES_ROOT\VHDFile\defaulticon /ve /t reg_expand_sz /d "%%windir%%\system32\imageres.dll,39" /f
reg add HKEY_CLASSES_ROOT\VHDFile\shell /ve /d "load"  /f
reg add HKEY_CLASSES_ROOT\VHDFile\shell\load /ve  /f
reg add HKEY_CLASSES_ROOT\VHDFile\shell\load\command /ve /t reg_expand_sz /d "%%windir%%\wiminstall.bat %%1 installvhd" /f
copy /y "%~f0" "%windir%\wiminstall.bat"
goto :eof
作者: x9tian    时间: 2017-8-17 15:11
ge 发表于 2017-8-17 13:03
什么?我都不懂!

注册表的调用是灵活的,不要想得那么僵—硬,思维灵活点
作者: ge    时间: 2017-8-17 19:01
x9tian 发表于 2017-8-17 15:07
:installvhd
rem 挂卸载接口
cls

谢谢!你写的这个我不是很懂!比如挂载注册表值是DISM /Mount-Image /ImageFile:%Edit2% /index:1 /MountDir:%Edit1%!%Edit1%和%Edit2%怎么替换?%Edit1%可以指定盘符或者可用任意盘符!
作者: ge    时间: 2017-8-17 19:13
x9tian 发表于 2017-8-17 15:09
:regs
rem 注检测接口
assoc .vhd=VHDFile

assoc .vhd=VHDFileassoc是什么意思?
reg add HKEY_CLASSES_ROOT\VHDFile /ve /d "VHD磁盘映像"  /f
reg add HKEY_CLASSES_ROOT\VHDFile\defaulticon /ve /t reg_expand_sz /d "%%windir%%\system32\imageres.dll,39" /f是右键图标吧?
reg add HKEY_CLASSES_ROOT\VHDFile\shell /ve /d "load"  /f
reg add HKEY_CLASSES_ROOT\VHDFile\shell\load /ve  /f
reg add HKEY_CLASSES_ROOT\VHDFile\shell\load\command /ve /t reg_expand_sz /d "%%windir%%\wiminstall.bat %%1 installvhd" /f
copy /y "%~f0" "%windir%\wiminstall.bat" 剩下的都不知道是什么意思了!
goto :eof
作者: x9tian    时间: 2017-8-18 08:50
ge 发表于 2017-8-17 19:13
assoc .vhd=VHDFileassoc是什么意思?
reg add HKEY_CLASSES_ROOT\VHDFile /ve /d "VHD磁盘映像"  /f
r ...

assoc  是注册 修改扩展名关联
assoc .vhd=VHDFile 表示以后所有的VHD文件都默认为VHDFile注册表来持行它


copy /y "%~f0" "%windir%\wiminstall.bat" 把本批处理复制到 %windir%并命名为wiminstall.bat (和VHDFile注册表配合,以后VHDFile注册表直截调用这个批处理里面的 挂卸载接口 :installvhd  来完成双击挂载再次双击卸载的目的)
作者: ge    时间: 2017-8-18 08:55
x9tian 发表于 2017-8-18 08:50
assoc  是注册 修改扩展名关联
assoc .vhd=VHDFile 表示以后所有的VHD文件都默认为VHDFile注册表来持行 ...

谢谢!那这个BAT怎么写?
作者: ge    时间: 2017-8-18 20:04
这个我真的不会!求大神帮忙呀!
作者: ge    时间: 2017-8-19 13:33
怎么没有人帮我呢?
作者: ge    时间: 2017-8-19 16:52
来人呀!
作者: ge    时间: 2017-8-20 06:11
为什么没有人帮助我呀?对于我来说这个真的很难!
作者: ge    时间: 2017-8-23 15:26
来人呀!帮帮忙!我真的不会!用其它的方法也行!
作者: ge    时间: 2017-8-23 18:01
frg521 发表于 2017-8-23 16:31
请保证,磁盘管理本身还可以挂载,bootice可以挂载,如果这俩个不能就是系统问题,不用深究
换或者重做系 ...

磁盘管理可以挂载!为了方便想弄一个右键!就是不会弄!
作者: ge    时间: 2017-8-24 06:49
frg521 发表于 2017-8-23 18:18
一直用BOOTICE,挂载,卸载,修改,分区,把BOOTICE放快速启动或任务栏,从来不嫌麻烦或者慢,因为是直接调 ...

第一个是须要第三方软件呀?
第二我从来不用精简版系统!你说用PROCMON监控我不懂!有什么用?命令不是知道吗?添加到右键就不知道怎么弄了!一个是选中文件用"%%1"可以!可用盘符用什么呢?
作者: ge    时间: 2017-8-24 06:57
frg521 发表于 2017-8-23 18:18
一直用BOOTICE,挂载,卸载,修改,分区,把BOOTICE放快速启动或任务栏,从来不嫌麻烦或者慢,因为是直接调 ...

你说的TEAMVIEW ID以后的我就不懂了!要是远程用QQ不就可以了?
我也想用手机控制电脑了!可是不懂!但是我知道要用密码!但是我就不喜欢密码!
作者: kingshui    时间: 2017-8-24 10:40
本帖最后由 kingshui 于 2017-8-24 11:13 编辑

http://www.cnblogs.com/kingmoon/archive/2011/04/25/2028812.html

仅供参考,
我想楼主所有东西都齐全了,只差个注册表关联而已,上面的连接看下吧。

以下注册表右键内容只在vhd文件上存在


  1. Windows Registry Editor Version 5.00

  2. [HKEY_CLASSES_ROOT\.vhd]
  3. @="Windows.VhdFile"

  4. [HKEY_CLASSES_ROOT\Windows.VhdFile]
  5. @="Disc Image File"
  6. "FriendlyTypeName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\
  7.   00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,\
  8.   32,00,5c,00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,\
  9.   00,2c,00,2d,00,33,00,31,00,34,00,37,00,35,00,00,00

  10. [HKEY_CLASSES_ROOT\Windows.VhdFile\DefaultIcon]
  11. @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  12.   00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,6d,00,\
  13.   61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,33,\
  14.   00,32,00,00,00

  15. [HKEY_CLASSES_ROOT\Windows.VhdFile\shell]

  16. [HKEY_CLASSES_ROOT\Windows.VhdFile\shell\mount]
  17. @="挂载vhd(x)"
  18. "Icon"="imageres.dll,-32"

  19. [HKEY_CLASSES_ROOT\Windows.VhdFile\shell\mount\command]
  20. @="你的命令"

  21. [HKEY_CLASSES_ROOT\Windows.VhdFile\shell\ummount]
  22. @="卸载vhd(x)"
  23. "Icon"="imageres.dll,-32"

  24. [HKEY_CLASSES_ROOT\Windows.VhdFile\shell\ummount\command]
  25. @="你的命令"
复制代码

作者: ge    时间: 2017-8-27 20:30
没有人能帮帮我吗?我真的不会!还有挂载成功后自动打开目录!8
作者: ge    时间: 2017-8-28 09:31
大神帮个忙呗!还有挂载成功后自动打开挂载目录!请会的高手告知!谢谢了!
作者: 易广白    时间: 2017-9-3 20:28
ge 发表于 2017-8-28 09:31
大神帮个忙呗!还有挂载成功后自动打开挂载目录!请会的高手告知!谢谢了!

任谁都会被你问怕了,不会就用现成的不行吗?

不自动打开挂载目录的行吗?发个现成的,来自论坛忘了作者
我也不懂这些,但我不强求这些
VHD.rar (886 Bytes, 下载次数: 9)

作者: ge    时间: 2017-9-4 05:33
易广白 发表于 2017-9-3 20:28
任谁都会被你问怕了,不会就用现成的不行吗?

不自动打开挂载目录的行吗?发个现成的,来自论坛忘了作 ...

谢谢!我看看!
作者: ge    时间: 2017-9-4 05:39
易广白 发表于 2017-9-3 20:28
任谁都会被你问怕了,不会就用现成的不行吗?

不自动打开挂载目录的行吗?发个现成的,来自论坛忘了作 ...

哦!我想最好是不用多于的文件!最好是系统自带程序!
作者: ge    时间: 2017-9-4 06:36
kingshui 发表于 2017-8-24 10:40
http://www.cnblogs.com/kingmoon/archive/2011/04/25/2028812.html

仅供参考,

对呀!可是我就是不知道“我的命令”怎么写?你知道吗?用别的也行!最好是挂载成功后自动弹出虚拟盘!
我修改的DISM镜像工具脚本!可以拖入文件和目录到文本编辑框!挂载成功后自动弹出挂载目录!挂载目录不存在先创建目录后再挂载!就是路径中有空格就不好了!我是在%EDIT1%的外面加""!不知道还有没有其它问题!
这该死的验证码填写两次都是少的!32+4≠36?
作者: kingshui    时间: 2017-9-4 17:38
ge 发表于 2017-9-4 06:36
对呀!可是我就是不知道“我的命令”怎么写?你知道吗?用别的也行!最好是挂载成功后自动弹出虚拟盘!
...

有现成的,晚点我找出来给你。
作者: ge    时间: 2017-9-5 06:40
kingshui 发表于 2017-9-4 17:38
有现成的,晚点我找出来给你。

谢谢!
作者: ducs    时间: 2017-9-5 13:13
挂载vhd是diskpart命令,dism好象没这功能
作者: ge    时间: 2017-9-5 19:02
ducs 发表于 2017-9-5 13:13
挂载vhd是diskpart命令,dism好象没这功能

咦!diskpart?我都不知道!但是DISM是可以挂载的!运行CMD输入DISM  /?可显示帮助!
作者: ge    时间: 2017-9-5 19:07
ducs 发表于 2017-9-5 13:13
挂载vhd是diskpart命令,dism好象没这功能

那用diskpart怎么弄?DISM还知道一点!这个我一点都不知道!还有挂载完成后打开挂载目录怎么实现?
作者: ducs    时间: 2017-9-7 08:53
ge 发表于 2017-9-5 19:07
那用diskpart怎么弄?DISM还知道一点!这个我一点都不知道!还有挂载完成后打开挂载目录怎么实现?

@echo off
echo select vdisk file="d:\a.vhd" >vhdsel
echo attach vdisk>>vhdsel
echo list disk>>vhdsel
diskpart /s vhdsel
del /f /q vhdsel
exit

dism只能挂载wim文件吧,从没听说过dism能挂载vhd的,win10添加新功能了?
作者: ge    时间: 2017-9-7 09:52
ducs 发表于 2017-9-7 08:53
@echo off
echo select vdisk file="d:\a.vhd" >vhdsel
echo attach vdisk>>vhdsel

你写的我不知道是什么意思呀?是BAT脚本吗?帮我看看注册表怎么写!我都不会!
DISM是可以的!命令帮助里面有!和WIM一样的命令!我用DISM镜像工具脚本就挂载成功了!
部署映像服务和管理工具
版本: 6.3.9600.17029


DISM.exe [dism_options] {Imaging_command} [<Imaging_arguments>]
DISM.exe {/Image:<path_to_offline_image> | /Online} [dism_options]
         {servicing_command} [<servicing_arguments>]

描述:

  DISM 枚举、安装、卸载、配置和更新 Windows 映像
中的功能和程序包。可以使用的命令取决于提供的映像
以及映像是处于脱机还是运行状态。

通用映像处理命令:

  /Get-MountedImageInfo   - 显示有关安装的 WIM 和 VHD 映像的
                            信息。
  /Get-ImageInfo          - 显示有关 WIM 或 VHD 文件中映像的
                            信息。
  /Commit-Image           - 保存对装载的 WIM 或 VHD 映像的更改。
  /Unmount-Image          - 卸载已装载的 WIM 或 VHD 映像。
  /Mount-Image            - 从 WIM 或 VHD 文件装载映像。
  /Remount-Image          - 恢复孤立的映像装载目录。
  /Cleanup-Mountpoints    - 删除与损坏的已安装映像
                            关联的资源。
WIM 命令:

  /Capture-CustomImage    - 将自定义设置捕获到 WIMBoot 系统上的增量 WIM 文件中。
                            捕获的目录包括所有
                            子文件夹和数据。
  /Get-WIMBootEntry       - 显示指定磁盘卷的 WIMBoot 配置项。
  /Update-WIMBootEntry    - 更新指定磁盘卷的 WIMBoot 配置项。
  /List-Image             - 显示指定映像中的文件
                            和文件夹的列表。
  /Delete-Image           - 从具有多个卷映像的 WIM 文件
                            删除指定的卷映像。
  /Split-Image            - 将现有 .wim 文件拆分为多个只读
                            WIM (SWM)拆分文件。
  /Export-Image           - 将指定映像的副本导出到其他
                            文件。
  /Append-Image           - 将其他映像添加到 WIM 文件中。
  /Capture-Image          - 将驱动器的映像捕获到新的 WIM 文件中。
                            捕获的目录包含所有子文件夹和
                            数据。
  /Apply-Image            - 应用一个映像。
  /Get-MountedWimInfo     - 显示有关安装的 WIM 映像的信息。
  /Get-WimInfo            - 显示有关 WIM 文件中的映像的信息。
  /Commit-Wim             - 保存对安装的 WIM 映像的更改。
  /Unmount-Wim            - 卸载安装的 WIM 映像。
  /Mount-Wim              - 从 WIM 文件安装映像。
  /Remount-Wim            - 恢复孤立的 WIM 安装目录。
  /Cleanup-Wim            - 删除与损坏的已安装 WIM
                            映像关联的资源。

映像规格:

  /Online                 - 以正在运行的操作系统为目标。
  /Image                  - 指定脱机 Windows 映像的根目录的路径。


DISM 选项:

  /English                - 用英文显示命令行输出。
  /Format                 - 指定报告输出格式。
  /WinDir                 - 指定 Windows 目录的路径。
  /SysDriveDir            - 指定名为 BootMgr 的系统加载程序文件的路径。

  /LogPath                - 指定日志文件路径。
  /LogLevel               - 指定日志(1-4)中所示的输出级别。
  /NoRestart              - 取消自动重新启动和重新启动提示。
  /Quiet                  - 取消除错误消息之外的所有输出。
  /ScratchDir             - 指定暂存目录的路径。

若要获得有关这些 DISM 选项及其参数的详细信息,请在紧挨着 /? 之前指定一个选项。

  示例:
    DISM.exe /Mount-Wim /?
    DISM.exe /ScratchDir /?
    DISM.exe /Image:C:\test\offline /?
    DISM.exe /Online /?
作者: ducs    时间: 2017-9-7 15:37
6.3.9600是win8.1的版本,windows7没这功能说明
部署映像服务和管理工具
版本: 6.1.7600.16385


DISM.exe [dism_options] {WIM_command} [<WIM_arguments>]
DISM.exe {/Image:<path_to_offline_image> | /Online} [dism_options]
         {servicing_command} [<servicing_arguments>]

描述:

  DISM 枚举、安装、卸载、配置和更新 Windows 映像
  中的功能和程序包。可以使用的命令取决于提供的
  映像以及映像处于脱机状态还是正在运行。

WIM 命令:

  /Get-MountedWimInfo     - 显示有关安装的 WIM 映像的信息。
  /Get-WimInfo            - 显示有关 WIM 文件中的映像的信息。
  /Commit-Wim             - 保存对安装的 WIM 映像的更改。
  /Unmount-Wim            - 卸载安装的 WIM 映像。
  /Mount-Wim              - 从 WIM 文件安装映像。
  /Remount-Wim            - 恢复孤立的 WIM 安装目录。
  /Cleanup-Wim            - 删除与损坏的安装的 WIM 映像关联的资源。


映像规格:

  /Online                 - 以正在运行的操作系统为目标。
  /Image                  - 指定脱机 Windows 映像的根目录的路径。


DISM 选项:

  /English                - 用英文显示命令行输出。
  /Format                 - 指定报告输出格式。
  /WinDir                 - 指定 Windows 目录的路径。
  /SysDriveDir            - 指定名为 BootMgr 的系统加载程序文件的路径。

  /LogPath                - 指定日志文件路径。
  /LogLevel               - 指定日志(1-4)中所示的输出级别。
  /NoRestart              - 取消自动重新启动和重新启动提示。
  /Quiet                  - 取消除错误消息之外的所有输出。
  /ScratchDir             - 指定暂存目录的路径。

若要获得有关这些 DISM 选项及其参数的详细信息,请在紧挨着 /? 之前指定一个选项。

  示例:
    DISM.exe /Mount-Wim /?
    DISM.exe /ScratchDir /?
    DISM.exe /Image:C:\test\offline /?
    DISM.exe /Online /?
作者: ge    时间: 2017-9-9 00:59
ducs 发表于 2017-9-7 15:37
6.3.9600是win8.1的版本,windows7没这功能说明
部署映像服务和管理工具
版本: 6.1.7600.16385

什么?这个我看过了呀!命令会了!就是右键不知道怎么表示可用盘符!还有在卸载时是不是应该有一个命令来获取文件所挂载的盘符呀?这个可以直接右键盘符就可以了吧?
用DISKPART简单吗?命令怎么写?还有挂载成功后打开挂载目录是什么命令?
作者: ge    时间: 2017-9-9 01:11
ducs 发表于 2017-9-7 15:37
6.3.9600是win8.1的版本,windows7没这功能说明
部署映像服务和管理工具
版本: 6.1.7600.16385

我几乎就没有用过WIN7的DISM!开始对DISM不了解时挂载过DISM好像成功了!后来我做的差分VHD WIN7的DISM就没有能用过!所以我就给升级成6.3.9600.17029结果成功了!
主要是想学习一点!用哪个方便就用哪个就好!我看IMDISK用得是#:表示可用盘符!在DISM就不行了!
作者: ducs    时间: 2017-9-14 20:51
这个也是diskpart挂载的。可以参考下,网上找的

VHD 右键增强.rar

1.47 KB, 下载次数: 12, 下载积分: 无忧币 -2


作者: ge    时间: 2017-9-15 12:02
ducs 发表于 2017-9-14 20:51
这个也是diskpart挂载的。可以参考下,网上找的

谢谢!我看看!
作者: ge    时间: 2017-9-15 12:11
ducs 发表于 2017-9-14 20:51
这个也是diskpart挂载的。可以参考下,网上找的

哦!是用VBS脚本的?我主要是想学习一下用系统自带的程序添加右键是怎么弄的!当时看到了DISM可以挂载VHD才想用DISM完成!但是添加右键就没有弄明白!后来说diskpart可以!但是没有什么方法可以直接用系统自带的程序添加在右键使用吗?
作者: ge    时间: 2017-10-20 17:26
tt911
没那么复杂,直接论坛搜索几个命令行的例子,之后杂交就是了。能正常调用执行就证明成功了。  发表于 2017-9-21 18:50???????????
怎么弄的!搜索什么?




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3