如何借助windows的VHD引导特性实现VHD多windows系统共存
近期,由于一些需要,需要运行3个windows系统,具体需要如何此处略去,现将实现方式共享如下。
测试环境:
HP 820 G2, 4G内存, 500G SSD硬盘
windows 7 企业版
windows7 旗舰版
windows 10专业版
1. 准备VHD文件
获得含有widnows操作系统的VHD文件,这里介绍2种方法。(当然,也可以从网络现在共享的VHD文件,不在这里缧数了)
- 方法一,通过windows的备份工具,将正在运行的系统备份成VHD镜像文件。
点击"开始"菜单>所有程序(All Program)>维护(Maintenance)>备份和恢复(Backup and Restore)

点击"创建系统镜像"(create a system imange)

选择备份到本地硬盘,这里建议选择USB硬盘存放备份,然后点击"下一步"(Next)继续

核实后点击"开始备份"(Start backup)开始创建系统镜像。
备份完成后可以在备份目录看到已经备份的VHD文件

找到那个最大的VHD文件就是操作系统的镜像文件。
- 方法二,使用windows操作系统的磁盘管理工具创建新的VHD,并使用imangex工具在现有的安装光盘或ISO部署到VHD。
打开windows磁盘管理器,在磁盘管理上点击右键,选择创建VHD

选择适当的存放位置,指定大小,选择格式后点击OK开始创建新的VHD。

初始化该新创建的VHD磁盘

点击OK开始初始化,完成初始化后在磁盘上点击右键开始创建新简单卷向导

点击下一步继续

点击下一步继续

点击下一步继续

点击下一步继续

点击finish完成。
准备好VHD后,需要使用imangex将操作系统部署到该VHD中。(如果你正在使用的OS没有这个工具,请使用baidu搜索获得)
以管理员权限打开一个命令提示符窗口

先使用命令:imagex /info H:\sources\install.wim获得安装实例的index号
由于该OS介质中含有2个版本,1为专业版,2为家庭版,这里我们选择使用专业版,使用命令开始镜像部署
e:\(H盘为光驱或虚拟光驱的盘符,E盘为刚刚创建的VHD的盘符,请根据实际情况进行替换)

该步骤完成后我们需要的VHD就已经生成了。

所有的准本工作已经完成,那么我们如何使用这个VHD呢,接下来就做一个详细的介绍。这里介绍2种场景。
场景一:在已有windows操作系统的主机上,增加VHD引导实现 多windows共存。
这种场景比较简单,只要通过一个命令即可完成。
首先还是要以管理员的身份运行一个命令行窗口,然后执行如下命令:
winboot e:\windows(通过备份获得的VHD需要先附加后并分配盘符再执行此操作)
命令成功完成后,就可以把该系统成功加到windows的引导选项中,并且会默认从该VHD进行引导。
Note:如果该机原有的操作系统几经将boot分区单独分出来了,可以在启动VHD系统后删除原widnows所在分区,实现纯VHD系统。
场景二:在没有操作系统的主机上,仅通过VHD来引导实现多windows共存。
1. 准备磁盘分区
为了保证系统安全,建议至少创建2个磁盘分区
分区一:boot分区,大小500MB
分区二:数据分区,大小465GB
该两个分区可以用windows光盘的diskpart,也可以在PE下通过widnows的磁盘管理进行。(不建议使用第三方工具操作)
注意:分区一的格式化需要使用DISKPART或windows磁盘管理器完成,否则可能无法引导。
2. 准备引导文件
将分区一激活,并格式化完成后需要将window引导的必要文件部署到该分区中,具体操作方法如下:
在PE下使用imange工具将系统安装盘下的boot.wim释放到boot分区中
imagex /apply g:\sources\boot.wim 1 c:\
该步操作也可使用PE下的wimtools完成。
3. 配置VHD引导
在PE下使用的BCD编辑工具,将展开的VHD下的windows目录加入到BCD中实现VHD的引导。
注意:VHD文件不能放到USB盘或移动硬盘上,否则将导致系统引导失败。
如何借助windows的VHD引导特性实现VHD多windows系统共存的更多相关文章
- 双系统如何删除Linux,恢复Windows从MBR引导启动?
嗯,现在愿意尝试Linux的人越来越多了.通常,如果一台电脑里已经装有了Windows,再装Linux,安装时,Linux的grub引导程 序就会覆盖掉保存在MBR当中的原来的Windows引导程序. ...
- 【译】.NET 5. 0 中 Windows Form 的新特性
自从 Windows Form 在 2018 年底开源并移植到 .NET Core 以来,团队和我们的外部贡献者都在忙于修复旧的漏洞和添加新功能.在这篇文章中,我们将讨论 .NET 5.0 中 Win ...
- VHD进阶:差分VHD备份系统
VHD进阶:差分VHD备份系统 一.创建虚拟磁盘 方法1:图形界面创建 1.打开磁盘管理器(运行diskmgmt.msc),在“磁盘管理”上点击右键,“创建VHD”,类型选择VHD,动态扩展或者固定大 ...
- Windows Phone App Studio发布重要更新-支持Windows 8.1 源代码生成
自2013年8月Apps Team发布Windows Phone App Studio以来,由于其低入门门槛和较好的易用性,用户和项目数量增长迅速,从Windows Phone Developer B ...
- Windows 8.1硬盘安装Ubuntu 14.04双系统参考教程及多硬盘注意事项
本文来自:http://www.linuxidc.com/Linux/2015-08/122140.htm,此处仅做收藏. Windows 8.1硬盘安装Ubuntu 14.04双系统参考教程及多硬盘 ...
- 玩转Windows服务系列——使用Boost.Application快速构建Windows服务
玩转Windows服务系列——创建Windows服务一文中,介绍了如何快速使用VS构建一个Windows服务.Debug.Release版本的注册和卸载,及其原理和服务运行.停止流程浅析分别介绍了Wi ...
- Windows下USB磁盘开发系列二:枚举系统中所有USB设备
上篇 <Windows下USB磁盘开发系列一:枚举系统中U盘的盘符>介绍了很简单的获取系统U盘盘符的办法,现在介绍下如何枚举系统中所有USB设备(不光是U盘). 主要调用的API如下: 1 ...
- Linux 如何使用压缩与解压缩的方式将Windows下的zip压缩包上传到Linux系统
当我们无法使用xftp方式上传文件到Linux系统时,我们可以使用在Windows下压缩文件夹,然后到Linux系统下解压缩的方式,完成整个上传工作. 第一步:在Windows系统下,将整个文件夹压缩 ...
- Windows下USB磁盘开发系列三:枚举系统中U盘、并获取其设备信息
前面我们介绍了枚举系统中的U盘盘符(见<Windows下USB磁盘开发系列一:枚举系统中U盘的盘符>).以及获取USB设备的信息(见<Windows下USB磁盘开发系列二:枚举系统中 ...
随机推荐
- Subclass UICollectionViewFlowLayout,自定义流布局
需求:为实现第一行显示一个,第二行以后显示两个 方案1:用系统自带的流布局,实现的效果是,若第二行只有一个,则系统默认会居中显示,不是左对齐(如下图),不符合项目要求. 方案2:自定义系统的UICol ...
- #leetcode刷题之路14-最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow" ...
- Tesseract-OCR 自动生成识别库的批处理
用Tesseract-OCR做识别库的时候,生成字典非常麻烦,就写了一个批处理,用来生成字典还是蛮方便的,希望大家有用,该批处理已经自动生成font_properties文件,各位无需手动创建 下载地 ...
- Asp.Net Core链接Mysql数据库
一.新建一个Asp.Net Core WebMVC程序 添加nuget包 Mysql.Data 二.新建一个UserContext类 下面代码中的UserInfo是我自己建的一个实体,里面有俩字段: ...
- redis整合Spring之序列化对象与反序列化
写在最前面 1.Spring必须是4.2.6及以上版本才支持redis 2.jar包版本建议统一 需要准备jar包 1.aopalliance-1.0.jar 2.spring-data-common ...
- windows 10 安装node.js
第一步:下载软件 nodejs的中文官网http://nodejs.cn/download/ 选择 windows 系统 msi 安装版本. 下载完成之后,直接打开下一步安装就可以. 安装完成 打开 ...
- python之变量的命名规则
变量的命名规则: 1.变量名由数字.字母和下划线组成名 2.变量名不能以数字开头 3.禁止使用python中的关键字 4.不能使用中文和拼音 5.变量名要区分大小写 6.变量名要有意义 7.推荐写法: ...
- 从零开始一个http服务器(四)-动态返回
从零开始一个http服务器(四) 代码地址 : https://github.com/flamedancer/cserver git checkout step4 运行: make clean &am ...
- Python入门 (三)
迭代器与生成器 迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器 ...
- Solr与Lucene的区别
Lucene是一个优秀的开源搜索库,Solr是在Lucene上封装的完善的搜索引擎.通俗地说,如果Solr是汽车,那么Lucene就是发动机,没有发动机,汽车就没法运转,但对于用户来说只可开车,不能开 ...