原理

利用高权限的任务计划程序调用 diskpart 命令行挂载

创建虚拟磁盘

1, 此电脑 - 右键 - 管理 - 磁盘管理- “操作”菜单栏- 创建 VHD

2, 选定创建位置-修改大小-改为动态扩展

3, 对着 “磁盘 1”(这个不一定是1,要看电脑具体有几个磁盘,有n个就是n+1) 这个位置右键- 初始化磁盘 然后右侧 - 格式化。格式化完成后就能用,但是一重启分区就没了,只能重新挂载,也就是步骤1选择 “附加 VHD”,或者直接双击对应的 VHD 文件 (弹出 explorer 的文件夹)

创建挂载脚本

首先,打开记事本,脚本内容

@echo off 
echo select vdisk file="这里写VHD文件的完整路径">vhdsel
echo attach vdisk>>vhdsel 
echo exit>>vhdsel
diskpart /s vhdsel 
exit

另存为 挂载.BAT 编码选择 ANSI,这时可以手动执行一下这个BAT试试看 能不能正确挂载分区

创建任务计划程序

1, 打开 计划任务程序 - 创建基本任务 - 填写名称 - 下一步 - 计算机启动时 - 下一步 - 启动程序 - 选择脚本 - 完成

2, 然后在新出现的 任务 右键 修改属性 , 选中不管用户是否登录都要运行、选中使用最高权限运行、选中隐藏【必须是选中隐藏,要不然会弹 cmd 黑框~~】

3, 条件 - 取消“只有在计算机使用交流电源时才启动此任务” 点击确定然后重启电脑即可。

注意:这属于添加开机启动项,杀毒软件可能会拦截,如果有拦截需要设置通过。

文件删除后 vhdx 体积不减小的压缩办法

先卸载 vhdx ,然后挂载到只读模式 最后 compact

@echo off 
echo select vdisk file="这里写VHD文件的完整路径">vhdcompact
echo detach vdisk>>vhdcompact
echo attach vdisk readonly>>vhdcompact
echo compact vdisk>>vhdcompact
echo detach vdisk>>vhdcompact
echo attach vdisk>>vhdcompact
echo exit>>vhdcompact
diskpart /s "vhdcompact"
exit