|
本帖最后由 AndroidOL 于 2015-2-11 00:37 编辑
前言: 最近几天由于工作关系需要装几个软件,但就用几天,虽然可以卸载但是软件本身的行为比较流氓。于是在网上搜索解决方案,找到的除了沙盒、虚拟机之外就是 VHD 了。第一次接触这个东西不会玩,特别感谢 lianjiang 大大的 OneKey 工具,但由于计算机是 UEFI,重启后黑屏有鼠标,搜索得到是 BCD 的引导应该是 winload.efi 而不是 winload.exe。
今天研究了一天总算可以独立完成不依靠其他工具了,给各位参考下所有步骤,当然为了方便起见还是用了 ImageX 组件,如果各位对 DISM 熟悉的话可以用这个代替。
图片版本(论坛限制所以分卷了,也有百度盘,文件一样):
本文所有提到的工具有:
XML 描述文档,所有命令均需管理员权限:
<root>
// 第一部分
<part index="1" method="1" tool="diskpart.exe">
// 方式一:通过 diskpart.exe 进行命令行方式的 VHD/VHDX 虚拟磁盘创建
<step do="0" command="diskpart.exe" />
<step do="1" command="create vdisk file=D:\tempVHDX.vhdx maximun=1024000 type=expandable" />
// 创建自动增长上限容量为 1TB 且文件名为 D:\tempVHDX.vhdx 的 VHDX 文件,基本指令如下:
// create vdisk file="VHD/VHDX 文件路径" maximun=磁盘容量 (MB) type=增长方式 (expandable | fixed)
<step do="2" command="select vdisk file=D:\tempVHDX.vhdx" />
// 选择 VHD/VHDX 文件于 D:\tempVHDX.vhdx,基本指令如下:
// select vdisk file="VHD/VHDX 文件路径"
<step do="3" command="attach vdisk" />
// 挂载已选择的 VHD/VHDX 文件
<step do="4" command="list disk" />
// 列出所有存在磁盘信息
<step do="5" command="select disk 0" />
// 选择需要进行操作的磁盘序号,基本指令如下:
// select disk 磁盘序号
<step do="6" command="clean" />
// 清除分区信息,用于转换为 GPT 分区
<step do="7" command="convert gpt" />
// 执行转换命令
<step do="8" command="create partition primary" />
// 创建并指定所有空间为主分区
<step do="9" command="format fs=ntfs quick" />
// 快速格式化分区为 NTFS 文件系统
<step do="10" command="assign letter=V" />
// 指派该分区盘符为 V,基本指令如下:
// assign letter=分区盘符
</part>
###
<part index="1" method="2" tool="mmc.exe">
// 方式二:通过 mmc.exe 进行命令行方式的 VHD/VHDX 虚拟磁盘创建
<step do="1" command="Disk Management" />
<step do="2" command="More Actions -> Create VHD" />
<step do="3" command="Location=D:\tempVHDX.vhdx" />
<step do="4" command="Virtual hard disk size=1 (TB)" />
<step do="5" command="Virtual hard disk format=VHDX" />
<step do="6" command="OK -> GPT -> OK" />
<step do="7" command="New Sample Volume" />
<step do="8" command="Next -> Next -> V -> Next -> Finsh" />
</part>
### ### ### ### ### ### ### ###
// 第二部分
<part index="2" method="1" tool="ImageX.exe">
// 方式一:通过 ImageX.exe 释放 WIM 指 VHD/VHDX 中
<step do="1" command="ImageX.exe /apply D:\sources\install.wim V:" />
// 基本指令:ImageX.exe /apply install.wim 目录
</part>
###
<part index="2" method="2" tool="GImageX.exe">
// 方式二:通过 GImageX.exe 释放 WIM 指 VHD/VHDX 中
<step do="1" command="Apply" />
<step do="2" command="Source=D:\sources\install.wim" />
<step do="3" command="Destination=V:\" />
<step do="4" command="Apply" />
</part>
### ### ### ### ### ### ### ###
// 第三部分
<part index="3" method="0" tool="BCDEdit.exe">
<step do="1" command="BCDEdit.exe /copy {current} /d "Windows Technical Preview from VHD"" />
// 基本指令:BCDEdit.exe /copy {current} /d "系统启动项名称"
<step do="2" command="BCDEdit.exe /set {<GUID>} device vhd=[D:]\tempVHDX.vhdx" />
// 基本指令:BCDEdit.exe /set {<GUID>} device vhd=[分区:]"VHD/VHDX 文件路径"
<step do="3" command="BCDEdit.exe /set {<GUID>} osdevice vhd=[D:]\tempVHDX.vhdx" />
// 基本指令:BCDEdit.exe /set {<GUID>} osdevice vhd=[分区:]"VHD/VHDX 文件路径"
<step do="4" command="BCDEdit.exe /set {<GUID>} detecthal on" />
// 基本指令:BCDEdit.exe /set {<GUID>} detecthal on
<step do="5" command="BCDEdit.exe /set {<GUID>} path \Windows\System32\winload.efi" />
</part>
### ### ### ### ### ### ### ###
// 第四部分
<part index="4" method="0" tool="shutdown.exe">
<step do="1" command="shutdown.exe -r -t 0" />
</part>
</root>
|
|