说明

周五,笔记本充不进电了,还好我的系统是做到 VHD 中的,把硬盘拿出来,插到其它机器上,从我的硬盘启动就可以了(虽然当时没有从我的系统启动,因为只需要等待一天,周末就可以去修电脑了),所以我一点都不慌。

p.s. 天津这些电脑店还是那么乱,或者更甚?找个靠谱的维修点不是一般的难。联想官方维修店相对正规,但是要钱也很贵。最后,在领导的帮助下,在信诚大厦找了一个靠谱的维修点儿修好了,原来是主板上的一个元器件坏了。师傅的微信号是 wx256587,天津的小伙伴儿有需要可以联系。

今天,想起之前总结过如何把系统制作到 VHD 中,并设置对应启动项的文章,遂分享给大家。

以下是之前总结的博文,请参考。

1. 缘起

最近因为不小心中招了(一直在裸奔),又面临着重装系统的尴尬,虽然之前有备份,但是时间已经很久了,而且恢复一次跟重装一遍差不多,没有多大优势。之前同事帮我弄过从 VHD 文件启动系统,很是方便,可以备份 VHD 文件即可。借此机会,决定好好研究下来龙去脉。

2. 创建 VHD 文件并写入系统镜像到 VHD 文件

2.1 制作 VHD 文件

创建 VHD 文件比较简单,有两种创建方式:

2.1.1 纯界面创建

我的电脑-右键-管理

存储-磁盘管理-创建VHD

创建100GB大小的可动态扩展的VHD文件

初始化磁盘

使用GPT分区格式

新建简单卷

然后一直下一步就行了。

2.1.2 命令行创建

可以参考https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-7/gg318049(v%3Dws.10)#using-the-disk-management-tools

主要命令如下(需要以管理员权限运行):

rem 先执行diskpart进入diskpart交互界面Diskpartrem 创建一个最大102408MB的类型为动态扩展的VHD文件,保存到E:\VHDs\win10.vhdcreate vdisk file=E:\VHDs\win10.vhd maximum=102408 type=expandablerem 选择需要操作的vhd文件select vdisk file=E:\VHDs\win10.vhdrem 附加之attach vdiskrem 创建分区create partition primaryrem 分配盘符assign letter=zrem 格式化format quick FS=NTFS label=My-VHDrem 退出diskpartexit

如果虚拟磁盘类型是动态扩展,那么从 VHD 启动的时候要保证该 VHD 所在的分区的空闲空间要大于你创建 VHD 文件时指定的大小。比如我这里指定的是 102408MB,存放在E盘。那么我想从 win10.vhd 启动的话,我需要确保 E 盘空闲区域要大于 102408MB

2019-09-10 更新:虚拟磁盘大小(S): 的单位也可以切换成 GB,直接输入 100 就可以了。

2.2 把系统镜像写入VHD文件

win10 下可以使用 dism 命令部署镜像。先从msdn i tell you上下载想要安装的系统镜像,并用 iso 工具加载, 我用的是virtual clonedrive

先用 dism /get-imageinfo /imagefile:path_to_your_wim_file 查看下信息,主要为了得到各个版本系统的 index 号,如下图

get image info

然后运行 dism /apply-image /imagefile:path_to_your_wim_file /index:4 /applydir:your_vhd_mounted_volume

apply image

耐心等待完成即可。

小结

  1. dism 命令需要管理员权限
  2. 不清楚低版本系统自带的 dism 是否支持部署,可以通过 dism /? 来查看帮助,如果 dism 不支持,还可以通过 imagex 等工具来部署。
  3. wim 文件一般要使用镜像文件中的 \sources\install.wim 文件,大约有几 GB 大小。
  4. 我这里以 win10 为例,其实从 win7 开始就支持从 VHD 文件启动了。

3. 添加 VHD 文件到系统引导

添加启动项需要用到工具bootice。我们可以在当前系统下添加一个新的引导项, 也可以从0开始(适用于当前没有系统的情况)新建引导项。

3.1 添加新的引导项

适用于当前有系统,需要添加一个新的启动项的情况

编辑当前系统的BCD

新建VHD启动项

编辑启动项

编辑好之后,点击 保存当前系统设置(S),再点击 保存全局设置(G) 即可。

3.2 新建引导项

如果你有一块新硬盘, 想为该硬盘装系统, 那么请耐心往下看。

3.2.1 硬盘分区

分区的时候要选 GPT 分区,可以手动分区也可以使用 DiskGenius 帮助我们分区。

UEFI 要求有一个 FAT 格式的分区(FAT16或者FAT32均可), 系统启动的时候会在 FAT 格式的分区下找启动文件。这里的 FAT 分区就是上图中的 ESP 分区。

3.2.2 拷贝 UEFI 启动文件到 ESP 分区

建立好 ESP 分区后, 我们就可以拷贝 UEFI 启动文件到该分区。需要拷贝什么文件呢? 从哪里可以找到这些文件呢?

我们只需要把安装镜像下面的 efi 文件夹整个拷贝到刚刚新建好的 ESP 分区即可。

win10 64 位镜像中 efi 文件夹中的文件树如下:

注意:拷贝文件需要有盘符才能拷贝,可以手动或者通过 DiskGeniusESP 分区分配一个临时的盘符。

有些教程说需要拷贝与 EFI 文件夹平行的 boot 文件夹。经过亲自测试,与EFI文件夹平行的 boot 文件夹不需要拷贝。当然拷贝了也没坏处。

3.2.3 拷贝装有系统镜像的VHD文件到指定目录下

因为创建的时候我已经把文件生成到了 E:\VHDs\win10.vhd,我不打算放到其它目录下,这一步就省了。大家可以根据自己的需要灵活调整。

3.2.4 修改BCD, 添加VHD启动项

我们需要修改 ESP 分区下的 EFI\microsoft\boot\bcd 文件。大体步骤和 3.1 中一样,只有第一步的时候不一样,BCD 编辑的时候要选择 其它BCD文件(O) 而不是 当前系统BCD(S)

编辑其它BCD文件

以上步骤都做好以后, 就可以拷贝做好的 vhd 系统镜像到指定目录, 然后重启了。

4. 总结

整个过程比较清晰,主要分两大步:

  1. 创建VHD文件并写入系统镜像到VHD文件
  2. 添加VHD文件到系统引导

UEFI启动 关键是要有一个 ESP 分区,该分区是 FAT (FAT16或者FAT32均可)格式的,ESP 分区下要按照UEFI规范放好需要的启动文件。

5. 参考资料

  • 操作系统引导过程[1]
  • (译) UEFI 启动:实际工作原理[2]
  • UEFI+GPT引导基础篇(一):什么是GPT,什么是UEFI?[3]
  • 计算机到底如何启动?(UEFI boot)[4]
  • 装机、做系统必备:秒懂MBR和GPT分区表[5]
  • 计算机是如何启动的?[6]
  • UEFI启动视频详解:启动分析+N项操作实例,赶紧学习,不要落伍啦,该给自己充电啦...[7]

References:

[1]

操作系统引导过程: https://blog.csdn.net/jonathan321/article/details/51987680

[2]

(译) UEFI 启动:实际工作原理: https://www.tuicool.com/articles/NNf26jB

[3]

UEFI+GPT引导基础篇(一):什么是GPT,什么是UEFI?: https://www.iruanmi.com/what-is-gpt-and-what-is-uefi/

[4]

计算机到底如何启动?(UEFI boot: https://blog.csdn.net/u013201439/article/details/50195743

[5]

装机、做系统必备:秒懂MBR和GPT分区表: http://www.chinaz.com/server/2016/1017/595444.shtml

[6]

计算机是如何启动的?: http://www.ruanyifeng.com/blog/2013/02/booting.html

[7]

UEFI启动视频详解:启动分析+N项操作实例,赶紧学习,不要落伍啦,该给自己充电啦...: http://bbs.wuyou.net/forum.php?mod=viewthread&tid=299643&fromuid=396698

欢迎留言交流

感谢你的分享,点赞和在看

与uefi_UEFI + GPT 启动 VHD相关推荐

  1. UEFI + GPT 启动 VHD

    说明 周五,笔记本充不进电了,还好我的系统是做到 VHD 中的,把硬盘拿出来,插到其它机器上,从我的硬盘启动就可以了(虽然当时没有从我的系统启动,因为只需要等待一天,周末就可以去修电脑了),所以我一点 ...

  2. legacy引导gpt分区_支持win10的传统legacy启动无损转换为UEFI GPT启动

    首发,如果你电脑是64位系统,再不需要重装系统.不格式化盘符等的前提下,如何真正无损转换传统BIOS(legacy)启动为UEFI+GPT启动. 转换可逆,基本无风险.支持win10. 当初我很纳闷, ...

  3. rufus中gpt和mrb磁盘_UEFI/BIOS/MBR/GPT启动过程详解与常见系统启动问题

    做系统一大头疼事情就是UEFI/BIOS/MBR/GPT等等的选择.系统平台和硬件日新月异,基本上中文站的解释正确性参差不齐,出了问题也查不到正确解决方案,我也遇到过很多次系统启动的问题(这就是为什么 ...

  4. MBR-BIOS启动无损转换为UEFI+GPT启动

    1 .收缩500MB空间用于ESP分区,使用磁盘管理或diskgienius,其实在PE中把MBR部分删掉就够了 2. 硬盘分区表转为GPT 可以用Linux下完成或者PE系统中使用diskgieni ...

  5. refind linux内核参数,使用rEFInd实现OpenWRT / LEDE支持UEFI GPT启动

    实际上我使用的Hyper-v第一代虚拟机运行LEDE17真的非常的稳定,网速各方面都非常满意了.最近可能没事找事的把Windows Server2012 R2 Hyper-v第一代虚拟机里面也是运行的 ...

  6. win10使用uefi+gpt启动蓝屏的解决方法

    在电脑使用uefi安装系统后,每次开机都要蓝屏,错误代码0xc000000e,如下图 按提示按Esc键后会进入BIOS,直接Esc退出,就能正常启动了. 因之前去联想售后安装过系统,启动是没问题的,所 ...

  7. 制作ubuntu to go,随身携带的系统(uefi+gpt启动)

    前几天手搓了个256G的固态u盘(干翻chipfancier).毕竟本人是Linux死忠粉,而且很多熟悉使用的软件在其他电脑上需要花费很大力气去安装,同时在学校为了装逼(doge),就萌生了玩Ubun ...

  8. uefi装原版win8.1怎么装|uefi gpt启动模式安装win8原版系统步骤

    地址来源:http://www.xitongcheng.com/jiaocheng/xtazjc_article_34263.html

  9. Win7/R2 原生VHD 启动 详解

    Win7/R2 原生VHD 启动 详解   转载自:http://ce.sysu.edu.cn/hope/Education/ShowArticle.asp?ArticleID=7715 以前,虽然听 ...

最新文章

  1. 努力的孩子运气不会太差,跌宕的人生定当更加精彩
  2. php linux 常用命令,Linux常用命令整理
  3. 服务器pg信号指的是什么信号,关于atx电源PG信号检测和分析
  4. windows10中远程访问凭据不工作
  5. k1658停运到什么时候_2021年春运就要开始啦!快来看看各大快递的停运时间吧
  6. ArrayAdapter requires the resource ID to be a TextView错误
  7. 基于FPGA的VGA/LCD显示控制器设计(下)
  8. 计算机网络——数字信号(五)
  9. leetcode-739:每日温度
  10. 各种排序算法耗时比较
  11. 清扫重复文件夹的数据刷
  12. wps免费下载 wps文档怎么转成加密的PDF文档呢?
  13. 虚拟机安装linux黑屏一个光标,虚拟机启动后黑屏只剩一个光标
  14. ROS-Melodic 编译Moveit全过程记录和错误解决方案
  15. win10 桌面图标有一部分显示白纸什么原因?亲测有效
  16. 用笔记本电脑破解wifi密码
  17. 美团Q3财报解读:即时零售订单量50亿笔,变身本地超市?
  18. BUUCTF(大帝的密码武器)
  19. 医院管理住院系统的研究与实现(论文+PPT+源码)
  20. ViewPager切换Fragment生命周期变化

热门文章

  1. java和c 进行des_c语言的des加密,怎么用java解密
  2. 皮一皮:只恨不为女儿身...
  3. 皮一皮:下雨也阻止不了!
  4. 外卖市场的搅屎棍要来了?字节跳动内测“心动外卖”!
  5. 今天开始,GitHub将启用main作为默认分支名,master将成为历史!
  6. 这些用来审计 Kubernetes RBAC 策略的方法你都见过吗?
  7. centos 7 如何验证oracle安装成功_linux下Oracle数据的安装详解
  8. 效果提升7%、速度增加220%,OCR开源神器PaddleOCR再迎升级
  9. 相似度矩阵遍历 python
  10. las数据转pcd并显示