无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 16099|回复: 56
打印 上一主题 下一主题

[转贴 ] VHDX差分多系统注意事项 常识性的内容适合菜鸟阅读!!

  [复制链接]
跳转到指定楼层
1#
发表于 2022-6-15 12:04:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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条。






评分

参与人数 3无忧币 +15 收起 理由
2011simongao + 5 赞一个!
新空气 + 5 折腾
plusv + 5 赞一个!

查看全部评分

2#
发表于 2022-6-15 12:28:48 | 只看该作者
是的,在我的几台机器上,母系统改动之后,子系统都必须还原成零差分。

点评

恩 是个坑  详情 回复 发表于 2022-6-15 12:34
回复

使用道具 举报

3#
 楼主| 发表于 2022-6-15 12:34:18 | 只看该作者
481416322 发表于 2022-6-15 12:28
是的,在我的几台机器上,母系统改动之后,子系统都必须还原成零差分。

恩  是个坑
回复

使用道具 举报

4#
发表于 2022-6-15 13:11:46 | 只看该作者
虽然没在用,
还是给个赞.

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

点评

哈哈 这是给菜鸟看的  详情 回复 发表于 2022-6-15 13:23
回复

使用道具 举报

5#
发表于 2022-6-15 13:11:58 | 只看该作者
罗罗索索说了一大堆,其实都是常识性的知识。

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

另外,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
复制代码

点评

我有一个81的VHDX,可以运行, 可是建立的子VHDX死活运行不了,版主大大知道原因吗?  详情 回复 发表于 2022-6-15 13:22

评分

参与人数 1无忧币 +5 收起 理由
879792799 + 5 很给力!

查看全部评分

回复

使用道具 举报

6#
 楼主| 发表于 2022-6-15 13:22:48 | 只看该作者
Climbing 发表于 2022-6-15 13:11
罗罗索索说了一大堆,其实都是常识性的知识。

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

我有一个81的VHDX,可以运行,  可是建立的子VHDX死活运行不了,版主大大知道原因吗?

点评

原因找到了http://bbs.wuyou.net/forum.php?mod=viewthread&tid=430750&page=1#pid4590650  发表于 2022-6-16 16:04
那只能怀疑你用的81有问题。我用的没遇到过。错误信息是什么?  详情 回复 发表于 2022-6-15 17:01
回复

使用道具 举报

7#
 楼主| 发表于 2022-6-15 13:23:30 | 只看该作者
plusv 发表于 2022-6-15 13:11
虽然没在用,
还是给个赞.

哈哈 这是给菜鸟看的
回复

使用道具 举报

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

点评

谢谢分享  详情 回复 发表于 2022-6-15 15:03
回复

使用道具 举报

9#
 楼主| 发表于 2022-6-15 15:03:41 | 只看该作者
minchengan 发表于 2022-6-15 13:45
刚才在WinToGo的Win10系统里创建VHDX,win11的成功了,并且能够做成差分,正常运行。不过一个win8.1的未成 ...

谢谢分享
回复

使用道具 举报

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

评分

参与人数 1无忧币 +5 收起 理由
879792799 + 5 好办法啊!我怎么没想到,哈哈

查看全部评分

回复

使用道具 举报

11#
发表于 2022-6-15 17:01:25 | 只看该作者
879792799 发表于 2022-6-15 13:22
我有一个81的VHDX,可以运行,  可是建立的子VHDX死活运行不了,版主大大知道原因吗?

那只能怀疑你用的81有问题。我用的没遇到过。错误信息是什么?

点评

谢谢指点,哪我换个系统试试  发表于 2022-6-15 17:17
回复

使用道具 举报

12#
发表于 2022-6-15 17:17:27 | 只看该作者
不错不错,根据需要折腾
回复

使用道具 举报

13#
发表于 2022-6-15 19:08:17 来自手机 | 只看该作者
确实初见VHD/VHDX的时候很惊艳,于是就用虚拟机最低硬件做个VHD系统,这样到别的电脑都是直接复制后修复下VHD引导就开机能用,部署都省了,基本几分钟就搞定。装好驱动后直接差分,母盘隐藏只读,然后旁边放个批处理执行删除复制差分后的文件用来还原。

点评

这个思路挺厉害 我有空也学习一下!  详情 回复 发表于 2022-6-15 21:23

评分

参与人数 1无忧币 +5 收起 理由
879792799 + 5 好厉害!学习啦

查看全部评分

回复

使用道具 举报

14#
发表于 2022-6-15 19:25:25 | 只看该作者
感谢分享
回复

使用道具 举报

15#
发表于 2022-6-15 20:21:25 | 只看该作者
谢谢分享。
回复

使用道具 举报

16#
 楼主| 发表于 2022-6-15 21:23:51 | 只看该作者
283598328 发表于 2022-6-15 19:08
确实初见VHD/VHDX的时候很惊艳,于是就用虚拟机最低硬件做个VHD系统,这样到别的电脑都是直接复制后修复下V ...

这个思路挺厉害 我有空也学习一下!
回复

使用道具 举报

17#
发表于 2022-6-16 12:37:01 | 只看该作者
刚弄了个win7 x64 efi引导的vhd,用nt6 oem loader v3.3.1和小马的都激活不了,有没有谁有激活工具能提供一下

点评

https://github.com/zbezj/HEU_KMS_Activator/releases 试试这个 应该可以激活!  详情 回复 发表于 2022-6-16 15:03
回复

使用道具 举报

18#
 楼主| 发表于 2022-6-16 15:03:57 | 只看该作者
minchengan 发表于 2022-6-16 12:37
刚弄了个win7 x64 efi引导的vhd,用nt6 oem loader v3.3.1和小马的都激活不了,有没有谁有激活工具能提供一 ...

https://github.com/zbezj/HEU_KMS_Activator/releases   试试这个 应该可以激活!

点评

谢谢,已找到激活工具了  发表于 2022-6-16 15:20
回复

使用道具 举报

19#
发表于 2022-6-25 11:01:48 | 只看该作者
咨询下,有没有做过性能测试,实盘安装、vhdx单文件、vhdx差分下的比较。
回复

使用道具 举报

20#
发表于 2022-6-25 14:08:14 | 只看该作者
差分跟vmware里的快照基本一样的原理。linux里的lvm好像也有这个功能,不过忘的差不多了

评分

参与人数 1无忧币 +5 收起 理由
879792799 + 5 赞一个!

查看全部评分

回复

使用道具 举报

21#
发表于 2022-7-3 23:38:56 | 只看该作者
學習了,謝謝樓主分享
回复

使用道具 举报

22#
发表于 2022-10-22 23:28:30 | 只看该作者
感谢分享,收藏备用。
回复

使用道具 举报

23#
发表于 2022-10-31 10:28:42 | 只看该作者
感谢分享!
回复

使用道具 举报

24#
发表于 2022-11-6 15:12:09 | 只看该作者
多谢楼主分享的电脑知识,学习一下啊
回复

使用道具 举报

25#
发表于 2022-11-20 23:05:36 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

26#
发表于 2022-12-10 08:55:08 | 只看该作者
很有帮助。
回复

使用道具 举报

27#
发表于 2023-1-27 12:24:30 | 只看该作者
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。

评分

参与人数 1无忧币 +5 收起 理由
879792799 + 5 谢谢大大分享!

查看全部评分

回复

使用道具 举报

28#
发表于 2023-1-28 19:23:12 来自手机 | 只看该作者
很好有用,好几个地方都是要注意小心。减少我们新手折腾

点评

我也不完全对 仅供参考 的却好多坑  发表于 2023-1-28 20:08
回复

使用道具 举报

29#
发表于 2023-4-24 10:03:38 | 只看该作者
感谢分享

点评

谢谢关注!  发表于 2023-4-24 10:29
回复

使用道具 举报

30#
发表于 2023-5-13 21:07:53 | 只看该作者
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-27 10:25

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表