无忧启动论坛

标题: [转贴 ] VHDX差分多系统注意事项 常识性的内容适合菜鸟阅读!! [打印本页]

作者: 879792799    时间: 2022-6-15 12:04
标题: [转贴 ] VHDX差分多系统注意事项 常识性的内容适合菜鸟阅读!!
本帖最后由 879792799 于 2023-1-27 16:44 编辑

补充1:10# hoder 大大  :  建议每一个母vhd都设置成只读,这样能保证即使不小心打开也不会导致文件更改,而且能正常打开查看内容。如果需要用母vhd做启动,pe或者其它系统下去掉该vhd文件的只读属性就可以了。

补充2:5# Climbing斑竹大大:    另外,vhd文件是可以压缩的,论坛里有一个命令行:vhdcompact,大概是先整理碎片,然后再压缩即可。还有,Vhd占用空间,改一个注册表,在使用时也是实际占用空间。基于wimboot技术,每个系统占用空间一般不会超过10G,运行时也 差不多这样。


补充5:  VHD最怕启动中断电,而VHDX可以修复
              vhd系统自己用或实验系统都没问题,公司里使用太冒险

补充6:VHD基本原理就是,子盘从父盘继承(注意是继承,不是复制,就是从父盘引用数据)了所有数据,所以在子盘里能访问到父盘的所有数据,而在子盘里所有的数据更改都被保存在子盘,父盘丝毫不受影响。相当于子盘里只存放了跟父盘的差异,而没有存放父盘实际的数据,所以英文直译叫差异磁盘,也作差分磁盘。



补充7:

=====================================================================

                                      常识性的内容适合菜鸟阅读       转贴感觉写的不错   分享一下!

                                            VHDX差分多系统注意事项

      1:vhdx系统文件的文件名一定不能有汉字及非法符号,否则启动不了。
      2:当子文件制作完成后,母文件内容不能做任何修改,名字也不能更改,否则会使子文件失效不能启动。母文件隐形属性可以修改,不影响启动。
           有一种情况必须注意,windows系统和一些vhdx软件可以挂载vhdx文件,查看里面的内容,最好不要进行这种操作,怕产生意外改变母文件内容,引起子文件失效,我就发生过这样的事故,进PE系统后,挂载母盘进去看内容,啥都没动,退出后,关联的2级差分子文件全报废,挂载差分子文件报错,启动界面进这个差分系统也进不去了。如果一定要看母盘文件内容,建议用母盘另外制作一个子文件,挂载这个子文件查看母盘内容。
           对于VHD没这么严格,母盘内容少量的改变不会影响子文件,但还是应该避免这种情况,怕引起不稳定。
      3:vhdx系统文件可以放在磁盘分区的文件夹里,文件夹名称可以出现汉字。在BOOTICE软件智能编辑BCD启动菜单时,一定要将文件夹路径编进设备文件栏目,否则启动不了。例如系统文件“Windows10 LTSC.vhdx”放在文件夹“LTSC长期服务版”里面,设备文件栏目就应该编写成:\LTSC长期服务版\Windows10 LTSC.vhdx,如果系统文件“Windows10 LTSC.vhdx”是放在根目录下,设备文件栏目就只需要编写成:\Windows10 LTSC.vhdx 。
      4:多级差分子文件与母文件可以在不同的分区及文件夹,要实现这个功能,在创建VHDX子文件时,父文件和子文件位置要分别设置好分区和文件夹路径,子文件一旦创建,父文件和子文件都必须在原来的分区或文件夹里,不能随意移动,否则会让子文件找不到父文件,造成启动不了。(注:母文件和父文件是一样的意思,只是称呼不同)。
      5:动态磁盘注意事项
           建立虚拟磁盘要设置为动态磁盘,没用过vhdx系统的人可能会理解的不清楚。其实动态磁盘的意义就是节省空间,设置60G大小的动态磁盘,刚生成还没启动时vhdx文件体积只有4M,当装完系统或其他软件后,文件体积会撑大到几个G甚至几十个G,并且体积撑大后不会再缩小,这是不可逆的,就算删掉一些文件也不会缩小。另外这个文件如果作为系统盘启动进系统,在系统池里这个文件体积会直接变成60G,关闭系统,进别的系统查看,这个文件体积又会缩小到正常状态。
           对于前者,vhdx文件体积经常会比实际内容的体积大许多,造成磁盘空间浪费,有爱好者找到一些办法,比如用ghost或ATI等软件备份vhdx虚拟磁盘系统文件,然后再恢复到一个新建的vhdx空盘,这样系统文件实际大小刚好等于vhdx文件大小,但这个办法有局限性,只能用于初级母盘,子盘无法使用。所以在使用vhdx系统时,安装大型游戏或软件,一定要安装到别的磁盘分区,还要避免往系统虚拟磁盘内拷贝大文件,免得vhdx文件体积撑大。这点在制作母盘时一定要注意。
           对于后者,vhdx系统盘启动后,在系统池里启动的vhdx文件会变成60G,占用磁盘空间,有系统爱好者找到一个办法:用dism++软件或修改注册表改变vhdx文件属性,使vhdx文件启动后还是最小的状态,随需要自动扩大体积。但这个办法有网友使用后发现不稳定,经常会系统崩溃,不推荐使用。其实这件事微软工程师做起来很简单,只要更改文件默认属性就可以了,为什么没有这样做,值得我们思考,我猜测临时扩大文件体积的做法,受限于磁盘性能会产生滞后的问题,速度跟不上系统需求,有可能影响性能和稳定性,这可能是微软没这样做的原因。
       6:磁盘空间注意事项
           在设置虚拟磁盘为动态60G的情况下,一般建议,系统池,也就是放置vhdx文件的分区,120G的空间不要超过2个差分子系统,240G的空间可以有2~3个母盘,不要超过6个差分子系统,500G的空间放10多20个差分系统没问题。如果安装精简系统,动态磁盘设的小,当然可以放更多的差分系统,120G放10个都没问题。需要注意的是使用过程中不要随意撑大子系统文件体积。
           怎么计算空间够不够呢?一个原则,需要启动的子系统文件不论实际大小,直接按设定大小计算(这里设定的是60G),未启动的子系统文件和所有的母系统文件按实际大小计算,它们相加后的总体积如果超过系统池空间,启动会蓝屏,查代码可以知道原因。每一个需要启动的子系统都需要计算一次,尽量留足磁盘空间,避免启动失败。
        7:vhdx命名经验
            对于vhdx差分系统文件的命名,最好有规律可循,如果是差分多系统,一堆文件放在一起,时间久了分不清哪个是子盘哪个是母盘,维护起来相当麻烦,特别是有多个母盘在一起的,和子盘混在一起,完全是一锅粥。因此,从装系统开始,就要养成良好习惯,给命名定个良好的规则。(补充:可以把不同的VHDX系统放进不同的文件夹或分区进行分类)。
            比如我装系统就习惯性的把版本号带进文件名,例如Windows10 1803.vhdx,这样装几个不同版本的Windows10就不会乱,当然,你也可以把功能或其他内容带进文件名。在做多级差分的时候,为了分清哪个是上级哪个是下级,建议母盘和子盘的文件名一定要按规则命名,比如可以依次按:Windows10 1803.0.vhdx,Windows10 1803.1.vhdx,Windows10 1803.2.vhdx,Windows10 1803.3.vhdx……….这样的次序命名,中间的节点如果产生分支,也需要按一定规则进行命名。这样,母盘与从属的子盘一目了然。差分多系统完成后,最好建一个记事本,记录文件从属关系和启动文件表,这样时间久了也不易搞混。



                   感谢天才的微软工程师,创造出神奇的VHDX!

                        VHDX差分多系统的备份与迁移

      1:备份其实很简单,直接把VHDX子文件和关联的所有母文件全部拷贝到另外的分区就可以。
      2:迁移麻烦一点,  原硬盘不拆,只迁移vhdx文件到新硬盘的情况:子文件和关联的所有母文件全部拷贝到另外的硬盘的一个分区后,可以编辑原硬盘的EFI启动分区的BCD文件,使得启动路径指向迁移后的硬盘和分区。  原硬盘拆掉,vhdx系统全部迁移到新硬盘的情况:新硬盘必须带一个EFI启动分区,并有一个足够大的磁盘分区。新硬盘的EFI启动分区最好用fat32模式格式化一次,然后把老硬盘里EFI分区的EFI文件夹整个拷贝过来,但这拷贝过来的BCD文件是无法启动迁移后的系统的,必须在pe系统里,参考第五章第2步骤及后面步骤,修改BCD文件,使得启动路径指向迁移后的硬盘和分区,或者将BCD启动项目全删除,重新建立新的所有的BCD启动项目。  VHDX系统文件从A电脑拷贝到B电脑的情况:其实跟②的操作一样。只是要注意BIOS设置的硬盘模式要一致,否则启动不了,还有硬件差异造成驱动问题也可能启动不了,这些都要注意。  VHDX系统与物理系统也可以互相转换,其操作的原理与②和③差不多,利用类似GHOST等系统备份软件迁移系统后,将EFI启动分区的BCD文件修改,把对应的BCD启动项目修改参数或删除后重建,使启动路径指向正确的硬盘和分区。这个过程要复杂一些,需要对硬盘和系统及备份软件比较熟悉才能操作。



补充内容 (2019-5-19 09:40):
非常抱歉,原帖第八章注意事项里有2个观点有错误,分别是1:VHDX系统文件只能放在根目录下。2:差分VHDX系统母文件和子文件文件必须放在同一个地方。
关于1的问题,经实验VHDX是可以放在文件夹里并可以正常启动的,但有设置要求。
关于2的问题,差分多级VHDX系统文件是可以放在不同的磁盘分区或不同文件夹里的,同样有设置要求。
以上2个错误地方已经修改,并增加设置方法,请参考现在的第八章注意事项的第4条。







作者: 481416322    时间: 2022-6-15 12:28
是的,在我的几台机器上,母系统改动之后,子系统都必须还原成零差分。
作者: 879792799    时间: 2022-6-15 12:34
481416322 发表于 2022-6-15 12:28
是的,在我的几台机器上,母系统改动之后,子系统都必须还原成零差分。

恩  是个坑
作者: plusv    时间: 2022-6-15 13:11
虽然没在用,
还是给个赞.

有一些是 DOS 的使用习惯延续.

作者: Climbing    时间: 2022-6-15 13:11
罗罗索索说了一大堆,其实都是常识性的知识。

子文件是基于母文件的,你改变了母文件,子文件当然就无法使用了。

另外,vhd文件是可以压缩的,论坛里有一个命令行:vhdcompact,大概是先整理碎片,然后再压缩即可。

还有,Vhd占用空间,改一个注册表,在使用时也是实际占用空间。基于wimboot技术,每个系统占用空间一般不会超过10G,运行时也差不多这样。


  1. @echo off
  2. set sysreg=\windows\system32\config\SYSTEM

  3. :_cursys
  4. echo Perform current system...
  5. reg add HKLM\SYSTEM\ControlSet001\Services\FsDepends\Parameters /v VirtualDiskExpandOnMount /t reg_dword /d 4 /f

  6. set dstd=%1
  7. if NOT [%dstd%]==[] goto :_sys

  8. for %%d in (e f g h i j k l m n o p q r s t u v w x y z) do (
  9.         set dstd=%%d:
  10.         call :_sys %%d: )
  11. goto :eof

  12. :_sys
  13. if not [%1]==[] set dstd=%1
  14. if not exist %dstd%\%sysreg% goto :eof
  15. echo.
  16. echo Perform %dstd%...
  17. reg load HKLM\SYS %dstd%\%sysreg%
  18. reg add HKLM\SYS\ControlSet001\Services\FsDepends\Parameters /v VirtualDiskExpandOnMount /t reg_dword /d 4 /f
  19. reg unload HKLM\SYS
  20. goto :eof
复制代码

作者: 879792799    时间: 2022-6-15 13:22
Climbing 发表于 2022-6-15 13:11
罗罗索索说了一大堆,其实都是常识性的知识。

子文件是基于母文件的,你改变了母文件,子文件当然就无法 ...

我有一个81的VHDX,可以运行,  可是建立的子VHDX死活运行不了,版主大大知道原因吗?
作者: 879792799    时间: 2022-6-15 13:23
plusv 发表于 2022-6-15 13:11
虽然没在用,
还是给个赞.

哈哈 这是给菜鸟看的
作者: minchengan    时间: 2022-6-15 13:45
刚才在WinToGo的Win10系统里创建VHDX,win11的成功了,并且能够做成差分,正常运行。不过一个win8.1的未成功,创建完成后重启,LOGO不转圈 ,一会就黑屏死机,不知道原因。都是精简版。这个WIn8.1精简版在两台电脑的本地硬盘上做VHDX都能成功。
作者: 879792799    时间: 2022-6-15 15:03
minchengan 发表于 2022-6-15 13:45
刚才在WinToGo的Win10系统里创建VHDX,win11的成功了,并且能够做成差分,正常运行。不过一个win8.1的未成 ...

谢谢分享
作者: hoder    时间: 2022-6-15 16:16
建议每一个母vhd都设置成只读,这样能保证即使不小心打开也不会导致文件更改,而且能正常打开查看内容。如果需要用母vhd做启动,pe或者其它系统下去掉该vhd文件的只读属性就可以了。
作者: Climbing    时间: 2022-6-15 17:01
879792799 发表于 2022-6-15 13:22
我有一个81的VHDX,可以运行,  可是建立的子VHDX死活运行不了,版主大大知道原因吗?

那只能怀疑你用的81有问题。我用的没遇到过。错误信息是什么?
作者: 新空气    时间: 2022-6-15 17:17
不错不错,根据需要折腾
作者: 283598328    时间: 2022-6-15 19:08
确实初见VHD/VHDX的时候很惊艳,于是就用虚拟机最低硬件做个VHD系统,这样到别的电脑都是直接复制后修复下VHD引导就开机能用,部署都省了,基本几分钟就搞定。装好驱动后直接差分,母盘隐藏只读,然后旁边放个批处理执行删除复制差分后的文件用来还原。
作者: 9527sss    时间: 2022-6-15 19:25
感谢分享
作者: 旁观者清    时间: 2022-6-15 20:21
谢谢分享。
作者: 879792799    时间: 2022-6-15 21:23
283598328 发表于 2022-6-15 19:08
确实初见VHD/VHDX的时候很惊艳,于是就用虚拟机最低硬件做个VHD系统,这样到别的电脑都是直接复制后修复下V ...

这个思路挺厉害 我有空也学习一下!
作者: minchengan    时间: 2022-6-16 12:37
刚弄了个win7 x64 efi引导的vhd,用nt6 oem loader v3.3.1和小马的都激活不了,有没有谁有激活工具能提供一下
作者: 879792799    时间: 2022-6-16 15:03
minchengan 发表于 2022-6-16 12:37
刚弄了个win7 x64 efi引导的vhd,用nt6 oem loader v3.3.1和小马的都激活不了,有没有谁有激活工具能提供一 ...

https://github.com/zbezj/HEU_KMS_Activator/releases   试试这个 应该可以激活!
作者: 2013xingthx    时间: 2022-6-25 11:01
咨询下,有没有做过性能测试,实盘安装、vhdx单文件、vhdx差分下的比较。
作者: minchengan    时间: 2022-6-25 14:08
差分跟vmware里的快照基本一样的原理。linux里的lvm好像也有这个功能,不过忘的差不多了
作者: 2011matrixvexx    时间: 2022-7-3 23:38
學習了,謝謝樓主分享
作者: lemontea888    时间: 2022-10-22 23:28
感谢分享,收藏备用。
作者: Anson4    时间: 2022-10-31 10:28
感谢分享!
作者: ZMLoveLH    时间: 2022-11-6 15:12
多谢楼主分享的电脑知识,学习一下啊
作者: sky-212    时间: 2022-11-20 23:05
谢谢分享
作者: papachi    时间: 2022-12-10 08:55
很有帮助。
作者: aichong168    时间: 2023-1-27 12:24
vhdx是系统自带的功能吗?如果是,如何不借助工具安装呢?

系统自带的分区管理软件可以创建并管理vhdx,
dism或者WinNTSetup_x64.exe可以安装系统,
然后借助BOOTICE_1.4.0_x64可以管理vhdx,包括启动引导设置,差分磁盘创建和管理。
―――――――――――――
vhdx虚拟磁盘是一门科学,真正学习的话需要系列教程。
我再初步说一下自己的学习感受如下(其实也很简单,如果你真的去研究了,就会发现很简单,但是要细心,不能出错,稍微出错就会开机蓝屏):
下面根据我的理解,试图用通俗的语言说明 VHDX的一些基本概念,希望有助于新手对 VHDX 的理解。更科学严谨的解释,请利用搜索引擎了解。
什么是 VHD?
VHDX,即虚拟硬盘(Virtual Hard Disk),首先它是一个文件,你可以创建,复制,删除。其次又具有硬盘的性质,你可以对它进行分区,格式化,向里面安装系统。

Windows 8及windows10/11/server2022等 的 VHDX 有何特点?
这里所指的 VHD,既具有一般虚拟机中所用的虚拟硬盘的特点,即是一个文件,又具有硬盘的性质。但它又不同于一般的虚拟机的虚拟硬盘。
一般的虚拟硬盘,需要在windows 或者其他的系统平台下安装、运行虚拟机,才可启动并使用虚拟硬盘里的系统。而Windows 8 支持原生启动 VHDX。
什么意思呢?
就是你不需要在硬盘上安装任何的系统和虚拟机,通过Windows8 的引导文件,就可以直接启动 VHDX 里的系统。也就是说,你把一个装了 Windwos 8 的 VHDX,
放到一个新硬盘上(当然需要分区并有活动主分区),然后更新一下活动主分区的引导信息,启动机子,就可以直接进入 VHD 里 Windows了。
正因为 windows 8 的 VHDX,既是一个文件,又支持原生启动,才具备了极大的优势。
要充分发挥 VHDX 的优势,还得用到差分磁盘(也称差分 VHDX,或者子 VHDX)。
差分 VHDX,是以某个 VHDX 为基础建立的(这个 VHDX 就是母盘),对差分 VHDX 的修改,不会影响到母盘。当母盘系统达到一个理想状态时,我们可以创建一个差分VHDX ,
以后就使用这个差分 VHDX 。当差分 VHDX 系统用久了出现不稳定时,我们只要删除这个差分 VHDX,以原来的母盘重建一个新的差分 VHDX,系统就有回到了理想的状态。
因此,windows 8 的 VHDX 具备了还原卡、时光机等的特点。
我们可以根据需要,以不同的 VHDX 为父盘创建差分 VHDX ,差分磁盘还可以多级创建,即以某个差分磁盘为父盘,再创建差分磁盘。
我们可以在创建差分 VHDX 时,就复制一个备份,可以实现随时用备份的差分磁盘来替换差分磁盘,实现快速还原,也称秒还原,因为这个还原过程在1-2秒内就可完成。
这个特点是ghost之类的备份软件所无法比拟的。(创建差分磁盘工具:WinNTSetup-5.2.6-x64.exe里的BOOTICE1.33来创建,或者直接用BOOTICE1.33来备份。)
总之,Windows 8 的 VHDX,既是虚拟机,又不是一般的虚拟机,因为它利用的是真实的硬件环境,除了硬盘。
      
自己实践成功:D盘根目录下创建window server 2022.vhdx,然后用Dism++10.1.1002.1释放映象的方法安装到挂载的W盘。然后重启进入server2022系统
设置和安装常用软件。之后重启动进入windows11用ATI2013对挂载的W盘进行分区备份到D盘的我的备份里。然后更改window server 2022.vhdx为父盘
名称为window server 2022F.vhdx,然后用BOOTICE1.33里的磁盘映像差分盘设置父盘为D:\window server2022F.vhdx ,子盘为window server 2022.vhdx(安装时候的名称),
这样就不用更改BCD了。下次进系统使用的就是4M(原创差分盘的大小,使用以后就会变几个G)的子盘window server 2022.vhdx,然后父盘就原封不动作为备份父盘了。
另外,本来创建window server 2022.vhdx的容量是60G,后来新创了一个空盘30G的windowserver 2022.vhdx(名称设置都一样),再用ATI2013对30G的空
盘进行挂载恢复。结果成功进入window server2022.vhdx。


作者: linshi456    时间: 2023-1-28 19:23
很好有用,好几个地方都是要注意小心。减少我们新手折腾
作者: hanchi123    时间: 2023-4-24 10:03
感谢分享
作者: 龙之吻li    时间: 2023-5-13 21:07
谢谢分享
作者: weedflower    时间: 2023-5-16 16:44
很有帮助
作者: 54jjban    时间: 2023-5-24 10:14

很有帮助
作者: 呵呵#1861    时间: 2023-6-3 04:49
学习一下
作者: lhsif    时间: 2023-11-5 22:28
厉害了
作者: nowayer    时间: 2023-11-7 04:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: darksky631    时间: 2023-11-7 17:26
谢谢分享
作者: xmepb    时间: 2023-11-12 13:12
好好学习一下
作者: zqfeng01    时间: 2023-11-14 12:14
谢谢分享
作者: xmepb    时间: 2023-11-18 23:24
好好学习一下
作者: 半分回忆    时间: 2024-1-3 03:42
如果前几年看到这帖子,我能剩下2块m.2硬盘钱,vhd测试折腾不下百遍了,成功让2块新硬盘退休,楼主这篇文章真的很详细了,每一个坑我都踩过,很多时候是连环坑,排错真费事。
作者: fuyun    时间: 2024-1-4 09:43
感谢大佬纷享~
作者: 农村户口_1201    时间: 2024-1-24 14:36
虽然没在用, 还是给个赞.
作者: 君临唯一    时间: 2024-1-24 14:56
试试·




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