虚拟硬盘VHD或VHDX的应用

2024-03-09 12:59
文章标签 应用 虚拟 硬盘 vhdx vhd

本文主要是介绍虚拟硬盘VHD或VHDX的应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、操作系统限制

Windows7不能使用VHDX的虚拟磁盘格式,只能使用VHD格式的虚拟磁盘。适用于 Windows 10 或更高版本的本机启动要求使用vhdx 格式,而不是vhd 格式。

二、VHD(X)的创建

(一)windows的磁盘管理器可以创建VHD(X)的虚拟磁盘,挂载、分离。

(二)bootICE、WinntSetup、Diskgenius(仅vhd)等软件工具也可用来创建VHD(X)格式的虚拟磁盘。

三、VHD(X)的应用
(一)物理磁盘或分区转换为VHD(X)格式的虚拟磁盘,用于系统引导。
1.Disk2vhd

若要使用 Disk2vhd 生成的 VHD,请创建具有所需特征的 VM,并将 VHD 作为 IDE 磁盘添加到 VM 的配置中。如果计划从它们启动,请不要附加到创建它们的同一系统上的 VHD。 如果这样做,Windows将为 VHD 分配一个新磁盘签名,以避免与 VHD 源磁盘的签名冲突。 Windows通过磁盘签名引用启动配置数据库中 (BCD) 的磁盘,因此启动Windows时将无法找到启动磁盘。

计算机A转换后的虚拟磁盘可以挂载在计算机B上,通过修改BCD引导项,可以将计算机A的软件系统迁移到计算机B上。

修改VHD磁盘上windows系统的注册表2种方法

(1)使用VHD启动到系统后, 打开”运行”, 输入”regedit”(不包括双引号)命令打开注册表, 定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FsDepends\Parameters 项, 修改 VirtualDiskExpandOnMount 的16进制数值为4, 重启电脑后生效。

(2)使用PE或其他windows系统启动后,挂载虚拟磁盘到盘符(如M:)打开regedit,选中hkey_local_machine,文件-加载配置单元,选择M:\Windows\System32\config下的system文件,输入项名称(如win10vhd),hkey_local_machine下增加一个名称为win10vhd项,CurrentControlSet(n)\services\FsDepends\Parameters,修改 VirtualDiskExpandOnMount 的16进制数值为4。

2StarWind

使用此工具可以实现P2V、V2V的迁移,也可以用来创建VHD(X)格式的虚拟磁盘。

3Bootice1.3.4添加VHD引导项

打开Bootice,BCD编辑-当前系统的BCD-智能编辑模式,点击“添加”选择“新建VHD启动项”,在“启动磁盘”选择VHD文件所在的磁盘,“启动分区”选择VHD文件所在的分区,“设备文件”,格式“\xxx.vhd(x)”,修改“菜单标题”,点击“保存当前系统设置”、“保存全局设置”。

注意:“检测硬件抽象层”不要选中

(二)将本机物理磁盘上windows转为VHDX的虚拟磁盘并挂在本机上启动。
1使用dism++

使用此软件将windows“系统备份”为wim文件,新建一个VHDx的磁盘挂载后将wim文件通过“系统还原”到vhdx的磁盘上,再用bootice修改启动项,可以实现在本机上启动。

2. 使用diskgenius

新建一个VHDx的磁盘并挂载后,使用diskgenius磁盘管理软件“clone partition”功能将本机物理磁盘分区windows克隆到vhdx虚拟磁盘上,再修改vhdx虚拟磁盘上windows系统的注册表,通过在regedit中加载配置单元后,删除添加项名称下的mounteddevice下的全部键值。然后通过BOOTice修改启动项,实现vhdx虚拟磁盘的引导。

3.使用disk2vhd及diskgenius

使用disk2vhd将将本机物理磁盘分区windows系统转换为vhdx虚拟磁盘,使用diskgenius磁盘管理软件的菜单disk中的“modify MBR signature ”修改磁盘标签,generate GUID。通过在regedit中加载配置单元后,修改VirtualDiskExpandOnMount值为4,删除添加项名称下的mounteddevice下的全部键值。然后通过BOOTice修改启动项,实现vhdx虚拟磁盘的引导(HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices)。

注意将当前的windows10系统使用disk2vhd转换为vhd格式后,直接挂载会导致当前系统崩溃,鼠标停止,蓝屏

四、使用vmware workstation的虚拟机引导vhd
(一)vhd(x)直接挂载VM

根据VHD文件的分区,建立虚拟机时选择bios或uefi.vmware workstation的虚拟机可以直接通过添加现有虚拟磁盘的方法,使用vhd格式的虚拟磁盘,不支持vhdx,但可以使用starwind将vhdx转换为vhd再进行挂载。

通过disk2vhd工具转换的VHD虚拟磁盘,首先可以使用pe系统中diskgenius修改磁盘签名(disk mbr signaure),重新generate GUID避免磁盘签名产生的引导问题。新创建一个VHD文件(同时产生新的磁盘签名),通过分区或磁盘克隆,实现系统迁移。

1.vm使用uefi

Vhd虚拟磁盘挂载vm后,出现引导问题,可使bootice工具挂载vhd中的esp分区,使用BCD编辑中选择“其他BCD文件”来检查引导问题。如何还不能启动,可以使用diskgenius的分区克隆其他同类系统的esp分区,然后重新编辑BCD。或者使用pe、dism++重建esp分区。

2.vm使用bios

Vhd虚拟磁盘挂载后,使用diskgenius工具将其转换为MBR分区格式。编辑虚拟机配置,将pe的iso文件挂载光驱,vm引导后修复引导问题,会在c:\boot目录创建bcd文件,使用bootice工具检查引导项。注意:此时不能使用uefi的物理主机上挂载pe或者直接修改vhd虚拟磁盘来处理引导问题。

五、vhd还原到物理分区

Vhd虚拟磁盘挂载后,使用diskgenius工具将vhd(X)虚拟磁盘分区克隆到物理分区,同时使用regedit加载配置单元的方法修改注册表,删除mounteddevice下的键值。

六、BIOS里的启动顺序与BCD启动项顺序

BIOS里的启动顺序,按F12键选择另外一块物理硬盘、u盘时,对uefi,选择的设备要有自己的esp分区;对于mbr,选择的设备主引导记录、有激活的主分区及boot引导文件。

BCD文件于首个启动设备中,通过本设备的系统引导文件,引导设备磁盘分区或者其他物理磁盘分区的操作系统。主要机制是由本设备的引导文件控制系统引导。

七、从vmware workstation虚拟机迁移至本机启动VHDX

vm虚拟机采用uefi+gpt的系统模型。本次迁移的系统为windows11,为避免重新安装,保持原有的系统内容,将其迁移至物理机的vhdx本机启动。

1.物理磁盘1至少建立2个分区,在物理机的磁盘上建立esp分区及存放vhdx文件的ntfs分区。

2.使用starwind将vm虚拟机的vmdk硬盘文件转化为vhdx文件。

3.使用diskgenius的分区克隆功能将vhdx虚拟硬盘中的esp分区克隆到物理机磁盘1的esp分区。

4.使用bootice工具编辑bcd文件,添加相应的引导项。注意“检测硬件抽象层”不要选中。

5.启动物理机,按F12选择disk1进行引导,系统启动后重新检测硬件,系统会再次自动启动,再按按F12选择disk1进行引导,使用360驱动大师更新驱动。

八、从USB的esp分区引导
(1)使用移动u盘实现引导固定物理磁盘上的系统

USBHDD在bios的启动顺序中优先启动,在USBHDD上建立ESP分区并确保能使用。使用bootice工具修改启动项,引导物理磁盘disk1分区上windows10,引导disk2上的windows11的vhdx文件,均正常引导。

(2)使用usb hdd本机启动vhdx失败原因

前提条件同(1),建立好ESP分区,新建ntfs分区,用于放置vhdx文件,无论从winntsetup部署Windows11到NTFS分区的vhdx中,还是从其他硬盘分区拷贝过来的windows11的VHDX文件,使用bootice修改引导项,native boot(即本机启动)均失败,报错vhd_boot_init**_failed。

Native boot(本机启动)仅支持物理机上的内置硬盘,不支持从移动介质上本机启动。

这篇关于虚拟硬盘VHD或VHDX的应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/790757

相关文章

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

hdu1394(线段树点更新的应用)

题意:求一个序列经过一定的操作得到的序列的最小逆序数 这题会用到逆序数的一个性质,在0到n-1这些数字组成的乱序排列,将第一个数字A移到最后一位,得到的逆序数为res-a+(n-a-1) 知道上面的知识点后,可以用暴力来解 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#in

zoj3820(树的直径的应用)

题意:在一颗树上找两个点,使得所有点到选择与其更近的一个点的距离的最大值最小。 思路:如果是选择一个点的话,那么点就是直径的中点。现在考虑两个点的情况,先求树的直径,再把直径最中间的边去掉,再求剩下的两个子树中直径的中点。 代码如下: #include <stdio.h>#include <string.h>#include <algorithm>#include <map>#

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

AI行业应用(不定期更新)

ChatPDF 可以让你上传一个 PDF 文件,然后针对这个 PDF 进行小结和提问。你可以把各种各样你要研究的分析报告交给它,快速获取到想要知道的信息。https://www.chatpdf.com/

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景