dos时代菜鸟 发表于 2020-6-23 19:04:58

关于用 pecmd 挂载 vhd

      //挂载 y.vhd
            moun -vhd "X:\ProgramData\pecmd.ini\Y.vhd",Y:
      //得到y.vhd 对应盘号,并卸载自动分配的盘符设置其盘符为 y:
            part -raw list drv Y: ,d_info
            mstr vhd_diskn=<1>%d_info%
            disk   ,%vhd_diskn%,1
            disk   ,%vhd_diskn%,1
            disk y:,%vhd_diskn%,1
如上代码:有 vhd 盘 X:\ProgramData\pecmd.ini\Y.vhd 可以挂载到 y:

因为 pecmd 挂载y盘的同时,原有 自动分配的盘符也没有卸载掉,导致一个分区 对应两个盘符,所以要 卸载两次盘符,重新挂载下。


singel 发表于 2020-6-23 23:30:53

感谢分享!还没用过这个功能,先收藏。

sanshen3 发表于 2020-6-23 23:31:59

感谢分享

2011sxpdwzs 发表于 2020-6-24 08:35:08

感谢分享。。

20121010168 发表于 2020-6-24 09:39:04

本帖最后由 20121010168 于 2020-6-24 09:41 编辑

谢谢分享,我是通过调用diskpart挂的

dos时代菜鸟 发表于 2020-6-24 10:34:35

20121010168 发表于 2020-6-24 09:39
谢谢分享,我是通过调用diskpart挂的

我以前也是一直用diskpart 通过脚本实现,
但是 ,有的 ide 接口的 usb硬盘盒 用diskpart 的时候 会很长时间进不去 diskpart ,
所以,考虑用 pecmd 了。效率还挺高。但是对于 有多个分区的 vhd ,就不能这么简单了。

489432757 发表于 2020-6-24 11:20:25

这个东西,红毛樱木大师早已有现成的代码:

//MOUN-vhd[-c -d -u -r] [-s:扇区大小] VHD路径,,,[返回名]
MOUN-vhd -c %&SystemROOT%\System32\Y.VHD,400M,,&Cret
MOUN-vhd %&SystemROOT%\System32\Y.VHD,Y:,,&Mret
//MESS. <%&Cret%>%&Mret%
MSTR * &&hd=<1>&Mret
IFEX $%&&hd%>=0,
{*
    PART -xup -super -force -mbr init %&&hd%
    PART -fs -super -force -xup%&&hd%#1 a 0x0B 0 400M
    SHOW * %&&hd%#1,Y:
    DFMT Y:,FAT32,Y_VHD
}
MESS. OVER

dos时代菜鸟 发表于 2020-6-24 11:30:23

489432757 发表于 2020-6-24 11:20
这个东西,红毛樱木大师早已有现成的代码:

//MOUN-vhd[-c -d -u -r] [-s:扇区大小] VHD路径,

你这个是创建一个 400 M 的vhd ,并挂载。

我说的是 单纯的挂载。只是个例子,如果 已有的 vhd 中有多个分区的,会麻烦些,因为 pecmd 的 moun 指令在指派 盘符的时候 并不会把 自动分配的分区表盘符 卸载掉,会发生一个分区 对应多个盘符的问题。

我说的是问题,你有啥好办法解决么?

489432757 发表于 2020-6-24 18:32:11

本帖最后由 489432757 于 2020-6-24 18:34 编辑

dos时代菜鸟 发表于 2020-6-24 11:30
你这个是创建一个 400 M 的vhd ,并挂载。

我说的是 单纯的挂载。只是个例子,如果 已有的 vhd 中有多 ...
MSTR * &&hd=<1>&Mret
提取出磁盘号之后一切都好办了吧,part list part就列出所有分区啦。跟你的代码一样,挂载之前卸载一下。略表浅见,如有冒犯,请见谅。

dos时代菜鸟 发表于 2020-6-24 21:59:00

489432757 发表于 2020-6-24 18:32
MSTR * &&hd=&Mret
提取出磁盘号之后一切都好办了吧,part list part就列出所有分区啦。跟你的代码一样 ...

是个好方法,就是 还可能涉及到 盘符理顺 的事情,如果有 盘符 不连续或者 被占用的情况,就更麻烦。
如果用 subj 分配 一个特殊文字符号的盘符 ,不知道是否可行。

红毛樱木 发表于 2020-6-24 22:23:05

dos时代菜鸟 发表于 2020-6-24 21:59
是个好方法,就是 还可能涉及到 盘符理顺 的事情,如果有 盘符 不连续或者 被占用的情况,就更麻烦。
如 ...

和正常磁盘一样操作分区的

dos时代菜鸟 发表于 2020-6-24 23:53:33

红毛樱木 发表于 2020-6-24 22:23
和正常磁盘一样操作分区的
刚才测试了下 把 vhd 挂在到 阿拉伯数字做为 盘符 ,比如 9: 这样的盘符,能够成功,而且 wim 也能 通过 imagex 6.0 挂载到 9: 上,毕竟都是 cmd 下的操作,但是 要把 9: 盘上的程序 关联到菜单或者桌面,就不行了,可能时 explorer 不识别这个 盘符 导致的,
不知道 用winxshell行不行。

红毛樱木 发表于 2020-6-25 00:27:06

dos时代菜鸟 发表于 2020-6-24 23:53
刚才测试了下 把 vhd 挂在到 阿拉伯数字做为 盘符 ,比如 9: 这样的盘符,能够成功,而且 wim 也能 通过...

不只是explorer不支持,好多第三方程序也不支持
页: [1]
查看完整版本: 关于用 pecmd 挂载 vhd