无忧启动论坛

标题: 【待编辑】UEFI + GPT 引导下加载 VHD/VHDX 安装 Windows [打印本页]

作者: AndroidOL    时间: 2015-2-11 00:12
标题: 【待编辑】UEFI + GPT 引导下加载 VHD/VHDX 安装 Windows
本帖最后由 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>

作者: 2011xiongdeyuan    时间: 2015-2-11 08:23
谢谢分享啊
作者: hai2002713    时间: 2015-2-11 11:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: AndroidOL    时间: 2015-2-11 16:11
hai2002713 发表于 2015-2-11 11:16
晕,看不太懂。。

现在人们都喜欢各种一键工具,我还是习惯这样一步一步的命令行。
作者: szy106    时间: 2015-2-13 14:27
等待编辑完成,学习学习
作者: kfkhfj    时间: 2015-3-2 15:08
做个记号,等待编辑完成
作者: 2011xiongdeyuan    时间: 2015-3-2 18:49
不错,谢谢分享
作者: netfood    时间: 2015-3-11 17:37
本帖最后由 netfood 于 2015-3-11 17:42 编辑

麻烦把 ImageX.exe GImageX.exe 也放网盘上一份吧
作者: GaoShS    时间: 2015-3-23 02:26
楼主能详细说明一下bcdedit.exe的用法吗?
作者: 秋月云开    时间: 2015-4-5 21:41
谢谢分享
作者: lm0006    时间: 2015-4-6 09:41
本帖最后由 lm0006 于 2015-4-6 09:42 编辑

请问怎么用命令添加快速还原差分呢
建立开机快速还原选项菜单
在UEFI GPT环境下
作者: 2010sya    时间: 2015-4-12 22:12
不错,好好学一下
作者: 2010qq49925514    时间: 2015-4-23 21:37
要鱼肉
作者: zhangbinlei    时间: 2015-4-26 21:04
学习了
作者: sickon    时间: 2015-4-27 21:42
不知道在预装win8的gpt环境下的电脑能否通过vhd来安装ghost系统   
昨晚测试了下 bios  mbr模式下  随意在vhd上安装ghost系统

作者: sickon    时间: 2015-5-7 17:26
我想问楼主  你这个办法  如果是预装了win8的电脑  安装64位的win7行的通么 ?
我之前也是用vhd安装过原版的74位win7  结果提示啥没验证   需要改BIOS
  如果不改BIOS的前提下是否行得通 ?
作者: zodok    时间: 2015-5-11 02:13
执行第三步
BCDEdit.exe /set {<GUID>} device vhd=[D:]\tempVHDX.vhdx
提示系统找不到指定文件
作者: 极地枫    时间: 2015-11-16 15:05
好复杂啊,有没有简单一点的呀!
作者: lzy157    时间: 2020-4-21 15:24
谢谢分享。                       
作者: audny2002    时间: 2020-4-26 06:48
谢谢分享
作者: wilot    时间: 2020-12-31 08:03
学习一下
作者: wangziqiang    时间: 2020-12-31 12:38
进阶了,楼主辛苦了




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