无忧启动论坛

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

[分享] 解决windows 无法更新计算机的启动配置的方法就是一个efi分区其它ntfs分区下删掉启动

[复制链接]
跳转到指定楼层
1#
发表于 2019-9-3 23:19:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sairen139 于 2019-9-14 23:36 编辑

解决windows 无法更新计算机的启动配置的方法就是一个efi分区其它ntfs分区下删掉启动文件夹!
最近在某台macbook上制作ramos的前期工作安装双系统时,遇到安装后重启出现windows 无法更新计算机的启动配置的提示,进不去桌面。解决方法就是只留一个efi分区其它ntfs分区下(包括刚安装的系统分区里)删掉启动相关boot文件夹和EFI文件夹即可!原理是系统启动后可能遇到几个启动文件就会产生这种问题。

据我自己的操作经验可以把原efi分区文件全部删除干净,这样安装系统时会自动生成efi分区里的启动文件。

macbook里最好的安装方法就是用winntsetup新安装,然后用驱动总裁导入苹果电脑的磁盘控制器驱动这样就能顺利进入系统桌面了。

注意苹果new macbook 安装完显卡驱动后重启有可能因为显卡驱动igdkmd64.sys的缘故进不去系统桌面,可以先去pe下删掉drivers文件夹里的igdkmd64.sys进入系统。等待一会系统会自行恢复显卡显示。这样就可以继续制作ramos了。

有趣的是windows10制作的这种ramos的最小引导启动镜像vdf里的catroot文件夹可以全部删除,而上次制做的windows81里catroot里需要保留一个和applessd.sys相关的OEM1.cat文件,不同做法的原理我还没在琢磨中,可能是windows10的磁盘控制器是由驱动总裁离线导入的而windows81那个是由winntsetup安装时添加的第三方驱动的缘故,关键是这个windows10里的与applesdd.sys相关文件也是存在于catroot文件夹里的就是图里的OEM25.cat但是却可以在最小引导启动vdf里全部删除掉,这个win10的最小引导启动vdf中就没有catroot文件夹!

另外:直接把最重要的调整驱动的reg里的文本语句全部放在下面的回帖里了贴出来了!

A12C35FC-A09B-4BE6-9B18-62CC36F5FA97.jpeg (2.67 MB, 下载次数: 161)

A12C35FC-A09B-4BE6-9B18-62CC36F5FA97.jpeg

482134FE-8989-49EE-97E1-03997016DBA3.jpeg (2.79 MB, 下载次数: 164)

482134FE-8989-49EE-97E1-03997016DBA3.jpeg

C0483D6A-890F-4871-B056-B2FFB943DFA7.jpeg (2.99 MB, 下载次数: 170)

C0483D6A-890F-4871-B056-B2FFB943DFA7.jpeg

11B40DB2-7006-4721-A80E-8B5F6CD29196.jpeg (1.12 MB, 下载次数: 158)

苹果电脑上制作成功的Ramos

苹果电脑上制作成功的Ramos

747F294D-2AD6-42B8-BAE2-E69774E72A22.jpeg (1.6 MB, 下载次数: 175)

基于坛友leon1005的Win10Ltsb2016x64极限精简版(二次更新)制作的这种Ramos!图一

基于坛友leon1005的Win10Ltsb2016x64极限精简版(二次更新)制作的这种Ramos!图一

AA6BF512-F401-4F33-8808-9AAC3B2241E0.jpeg (1.59 MB, 下载次数: 155)

基于坛友leon1005的Win10Ltsb2016x64极限精简版(二次更新)制作的这种Ramos!图二

基于坛友leon1005的Win10Ltsb2016x64极限精简版(二次更新)制作的这种Ramos!图二

3A9CD3D4-68B4-45FF-954E-7169EF30C336.jpeg (1.49 MB, 下载次数: 164)

基于坛友leon1005的Win10Ltsb2016x64极限精简版(二次更新)制作的这种Ramos!图三

基于坛友leon1005的Win10Ltsb2016x64极限精简版(二次更新)制作的这种Ramos!图三

74E037DD-C116-4B49-A38E-7B227950D0EE.jpeg (1.15 MB, 下载次数: 174)

基于坛友leon1005的Win10Ltsb2016x64极限精简版(二次更新)制作的这种Ramos!图四

基于坛友leon1005的Win10Ltsb2016x64极限精简版(二次更新)制作的这种Ramos!图四

DAADEFC8-9E00-4BFB-AC81-B878B11C9947.jpeg (2.74 MB, 下载次数: 151)

基于坛友leon1005的Win10Ltsb2016x64极限精简版(二次更新)制作的这种Ramos!图五

基于坛友leon1005的Win10Ltsb2016x64极限精简版(二次更新)制作的这种Ramos!图五

D5B4BB51-B89C-4BC8-9824-CAB2F69FF692.jpeg (2.66 MB, 下载次数: 156)

Windows\System32\CodeIntegrity\driver.stl(driver.stl是windows10最小启动vdf唯一一个比win81多的必须文 ...

Windows\System32\CodeIntegrity\driver.stl(driver.stl是windows10最小启动vdf唯一一个比win81多的必须文 ...

1D06CF19-3941-4F94-9321-97D977709D71.jpeg (2.91 MB, 下载次数: 151)

由驱动总裁离线导入的win10和磁盘控制器applessd.sys相关文件可以在最小启动vdf里的catroot文件夹整个全删 ...

由驱动总裁离线导入的win10和磁盘控制器applessd.sys相关文件可以在最小启动vdf里的catroot文件夹整个全删  ...

F5DBA90C-894B-41DC-9673-76B00BB9B6A1.jpeg (1.54 MB, 下载次数: 145)

基于Win 10 LTSB 2016 x64 Wzzok(1216)制造的这种uefi的Ramos

基于Win 10 LTSB 2016 x64 Wzzok(1216)制造的这种uefi的Ramos

17BF8783-A8DD-4CF9-8ABA-34175100C57C.jpeg (2.91 MB, 下载次数: 156)

17BF8783-A8DD-4CF9-8ABA-34175100C57C.jpeg

tiaozhengqudongREG.zip

1.72 KB, 下载次数: 13, 下载积分: 无忧币 -2

评分

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

查看全部评分

2#
发表于 2019-9-4 09:37:10 | 只看该作者
苹果电脑也实行霸道主义
回复

使用道具 举报

3#
发表于 2019-9-4 13:09:06 | 只看该作者
谢谢楼主的分享
回复

使用道具 举报

4#
 楼主| 发表于 2019-9-5 18:27:50 | 只看该作者
本帖最后由 sairen139 于 2019-9-5 19:32 编辑

Win8 win8.1 win2012不带uwf.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\system\ControlSet001\Services\disk]
"Group"="SCSI Class"
[HKEY_LOCAL_MACHINE\system\ControlSet001\Services\volsnap]
"Group"="SCSI Class"
[HKEY_LOCAL_MACHINE\system\ControlSet001\Services\FancyRd]
"Group"="Event Log"
[HKEY_LOCAL_MACHINE\system\ControlSet001\Services\fvevol]
"Group"="SCSI Class"
[HKEY_LOCAL_MACHINE\system\ControlSet001\Services\rdyboost]
"Group"="SCSI Class"


Win8 win8.1 win2012带UWF(工业版).reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\sys\ControlSet001\Services\disk]
"Group"="SCSI Class"
[HKEY_LOCAL_MACHINE\sys\ControlSet001\Services\volsnap]
"Group"="SCSI Class"
[HKEY_LOCAL_MACHINE\sys\ControlSet001\Services\FancyRd]
"Group"="Event Log"
[HKEY_LOCAL_MACHINE\sys\ControlSet001\Services\fvevol]
"Group"="SCSI Class"
[HKEY_LOCAL_MACHINE\sys\ControlSet001\Services\rdyboost]
"Group"="SCSI Class"
[HKEY_LOCAL_MACHINE\sys\ControlSet001\Services\uwfvol]
"Group"="SCSI Class"



Win10.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\system\ControlSet001\Services\disk]
"Group"="SCSI Class"
[HKEY_LOCAL_MACHINE\system\ControlSet001\Services\volsnap]
"Group"="SCSI Class"
[HKEY_LOCAL_MACHINE\system\ControlSet001\Services\FancyRd]
"Group"="Event Log"
[HKEY_LOCAL_MACHINE\system\ControlSet001\Services\fvevol]
"Group"="SCSI Class"
[HKEY_LOCAL_MACHINE\system\ControlSet001\Services\rdyboost]
"Group"="SCSI Class"
[HKEY_LOCAL_MACHINE\system\ControlSet001\Services\volume]
"Group"="File System"
[HKEY_LOCAL_MACHINE\system\ControlSet001\Services\iorate]
"Group"="File System"
[HKEY_LOCAL_MACHINE\system\ControlSet001\Services\uwfvol]
"Group"="SCSI Class"
[HKEY_LOCAL_MACHINE\system\ControlSet001\Control\PnP]
"PollBootPartitionTimeout"=dword:0000ea60

点评

1采取的一些瘦身的方法,当然,这些瘦身中有“健康瘦身”和“有伤瘦身”两种,当然,这些也都是目前个人的一些尝试操作,如非“瘦身”不可,则也可以有点用处,所以做下记录: 健康瘦身: (2)C:\Windows\Softwar  详情 回复 发表于 2019-9-22 19:14
基于Win 10 LTSB 2016 x64 Wzzok(1216)制造的内存盘5G设为5123m,8G设为8198mb!  详情 回复 发表于 2019-9-18 12:29
这种Ramos支持uefi启动的最早系统是Windows7的64位和Windows8的86位和64位。 这楼预留来制作基于坛友dulibo分享]的:LTSB-x86-原版极限精简 20190828 fulibo 发表于 2019-8-28 10:40:26 | 只看该作者 |只看大  详情 回复 发表于 2019-9-9 19:31
这个bat抓起出来的引导启动小镜像小vdf里的system至关重要,后面对接的系统大vdf里的system毫无作用完全可以删除掉!!!!!  详情 回复 发表于 2019-9-6 02:22
适用于windows10的截取正常开机转圈标志最少文件引导vdf镜像的BAT文本文件语句如下(Win10比Win81仅仅是只多了1个driver.stl必须的不可或缺的文件): set SrcDrv=c: set DstDrv=d:\aaaayindaoWindows10VDF md %D  详情 回复 发表于 2019-9-5 22:43
回复

使用道具 举报

5#
 楼主| 发表于 2019-9-5 22:43:08 | 只看该作者
sairen139 发表于 2019-9-5 18:27
Win8 win8.1 win2012不带uwf.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\system\Co ...

适用于windows10的截取正常开机转圈标志最少文件引导vdf镜像的BAT文本文件语句如下(Win10比Win81仅仅是只多了1个driver.stl必须的不可或缺的文件):
set SrcDrv=c:
set DstDrv=d:\aaaayindaoWindows10VDF
md %DstDrv%
%DstDrv%

md %DstDrv%\EFI\Boot
cd /d %DstDrv%\EFI\Boot
copy %SrcDrv%\EFI\BOOT\bootx64.efi

md %DstDrv%\EFI\Microsoft\Boot
cd /d %DstDrv%\EFI\Microsoft\Boot
copy %SrcDrv%\EFI\MICROSOFT\BOOT\BCD

md %DstDrv%\windows\boot\Fonts
cd /d %DstDrv%\windows\boot\Fonts
copy %SrcDrv%\windows\boot\Fonts\msyh_boot.ttf

md %DstDrv%\windows\inf
cd /d %DstDrv%\windows\inf
copy %SrcDrv%\windows\inf\errata.inf

md %DstDrv%\windows\system32
cd /d %DstDrv%\windows\system32
copy %SrcDrv%\windows\system32\apisetschema.dll
copy %SrcDrv%\windows\system32\BOOTVID.DLL
copy %SrcDrv%\windows\system32\C_936.NLS
copy %SrcDrv%\windows\system32\ci.dll
copy %SrcDrv%\windows\system32\hal.dll
copy %SrcDrv%\windows\system32\kd.dll
copy %SrcDrv%\windows\system32\l_intl.nls
copy %SrcDrv%\windows\system32\ntoskrnl.exe
copy %SrcDrv%\windows\system32\PSHED.DLL
copy %SrcDrv%\windows\system32\winload.efi

md %DstDrv%\windows\system32\CodeIntegrity
cd /d %DstDrv%\windows\system32\CodeIntegrity
copy %SrcDrv%\windows\system32\CodeIntegrity\driver.stl

md %DstDrv%\windows\system32\config
Reg save HKLM\system  %DstDrv%\Windows\system32\config\SYSTEM /y

md %DstDrv%\windows\system32\drivers
cd /d %DstDrv%\windows\system32\drivers
xcopy /s %SrcDrv%\windows\system32\drivers

pause >nul

点评

这种Ramos支持uefi启动的最早系统是Windows7的64位和Windows8的86位和64位。 这楼预留来制作基于坛友fulibo分享的:375M内存-运行LTSB2016-x86-极限精简http://bbs.wuyou.net/forum.php?mod=viewthread&tid=416214&  详情 回复 发表于 2019-9-9 19:55
这个bat截取出来引导启动小镜像小vdf里的system至关重要(改Z盘为C盘),后面对接大vdf里的system毫无作用完全可以删除掉!!!!!  详情 回复 发表于 2019-9-6 07:27
batССvdfsystemReg save HKLMsystemZCvdfsystem  详情 回复 发表于 2019-9-6 07:23
回复

使用道具 举报

6#
 楼主| 发表于 2019-9-5 22:48:45 | 只看该作者
如果dg无法克隆物理分区到系统vdf中(克隆开始的时候出现复制中断提示复制文件失败了)可以换用fastcopy这个强力复制软件复制到imdisk挂载出来的盘里。

点评

小vdf引导启动镜像要连续(复制粘贴后取代原件名)。p驱加载的对接大VDF系统【完全镜像】可以不连续,也可以是【智能镜像】当然也可以不连续!  详情 回复 发表于 2019-9-6 21:55
回复

使用道具 举报

7#
 楼主| 发表于 2019-9-6 02:22:36 | 只看该作者
sairen139 发表于 2019-9-5 18:27
Win8 win8.1 win2012不带uwf.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\system\Co ...

这个bat抓起出来的引导启动小镜像小vdf里的system至关重要,后面对接的系统大vdf里的system毫无作用完全可以删除掉!!!!!

点评

原理是第一阶段电脑开机时把引导启动小镜像vdf当成一块带有活动分区的MBR硬盘系统,vdf中的EFI文件夹下的BOOT文件夹下bootx64.efi引导BCD文件,然后到引导启动小镜像vdf中的Winload.efi跟着进到这个vdf里的注册表的C  详情 回复 发表于 2019-9-9 23:52
回复

使用道具 举报

8#
 楼主| 发表于 2019-9-6 07:23:41 来自手机 | 只看该作者
sairen139  2019-9-5 22:43
windows10vdfBATWin10Win81 ...

batССvdfsystemReg save HKLMsystemZCvdfsystem
回复

使用道具 举报

9#
 楼主| 发表于 2019-9-6 07:27:50 | 只看该作者
sairen139 发表于 2019-9-5 22:43
适用于windows10的截取正常开机转圈标志最少文件引导vdf镜像的BAT文本文件语句如下(Win10比Win81仅仅是 ...

这个bat截取出来引导启动小镜像小vdf里的system至关重要(改Z盘为C盘),后面对接大vdf里的system毫无作用完全可以删除掉!!!!!
回复

使用道具 举报

10#
 楼主| 发表于 2019-9-6 21:55:54 | 只看该作者
sairen139 发表于 2019-9-5 22:48
如果dg无法克隆物理分区到系统vdf中(克隆开始的时候出现复制中断提示复制文件失败了)可以换用fastcopy这 ...

小vdf引导启动镜像要连续(复制粘贴后取代原件名)。p驱加载的对接大VDF系统【完全镜像】可以不连续,也可以是【智能镜像】当然也可以不连续!
回复

使用道具 举报

11#
 楼主| 发表于 2019-9-7 19:51:28 来自手机 | 只看该作者
本帖最后由 sairen139 于 2019-9-7 20:05 编辑

(将下面的文本另存为.reg文件)

Windows Registry Editor Version 5.00
;开启Windows 7文件/文件夹手动排序功能
[-HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"FullRowSelect"=dword: 00000000
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders]
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\1]
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\1\Shell]
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\1\Shell\{5C4F28B5-F869-4E84-8E60-F11DB97C5CC7}]
"Rev"=dword:00000000
"FFlags"=dword:41000011
"Vid"="{65F125E5-7BE1-4810-BA9D-D271C8432CE3}"
"Mode"=dword:00000006
"LogicalViewMode"=dword:00000002
"IconSize"=dword:00000030
"ColInfo"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,fd,df,df,fd,10,\
00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,18,00,00,00,30,f1,25,b7,ef,47,\
1a,10,a5,f1,02,60,8c,9e,eb,ac, 0a,00,00,00,a0,00,00,00,30,f1,25,b7,ef,47,1a,\
10,a5,f1,02,60,8c,9e,eb,ac,04,00,00,00,c8,00,00,00,35,4b,17,9b,ff,40,d2,11,\
a2,7e,00,c0,4f,c3,08,71,03,00,00,00,80,00,00,00,35,4b,17,9b,ff,40,d2,11,a2,\
7e,00,c0,4f,c3,08,71,02,00,00,00,80,00,00,00
"Sort"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,30,f1,\
25,b7,ef,47,1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,01,00,00,00
"GroupView"=dword:ffffffff
"GroupByKey:FMTID"="{B725F130-47EF-101A-A5F1-02608C9EEBAC}"
"GroupByKey:PID"=dword:00000004
"GroupByDirection"=dword:00000001
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell]
"WFlags"=dword:00000000
"ShowCmd"=dword:00000001
"HotKey"=dword:00000000
"KnownFolderDerivedFolderType"="{57807898-8C4F-4462-BB63-71042380B109}"
[ HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{5C4F28B5-F869-4E84-8E60-F11DB97C5CC7}]
"Rev"=dword:00000000
"FFlags"=dword:43000001
"Vid"="{137E7700-3573-11CF-AE69-08002B2E1262}"
"Mode"=dword:00000004
"LogicalViewMode"=dword:00000001
"IconSize"=dword:00000010
"ColInfo"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,fd,df,df,fd,10,\
00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,18,00,00,00,30,f1,25,b7,ef,47,\
1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,10,01,00,00,30,f1,25,b7,ef,47,1a,\
10,a5,f1,02,60,8c,9e,eb,ac,0e,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10,\
a5,f1,02,60,8c,9e,eb,ac,04,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10,a5,\
f1,02,60,8c,9e,eb,ac,0c,00,00,00,50,00,00,00
"Sort"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, 00,01,00,00,00,30,f1,\
25,b7,ef,47,1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,01,00,00,00
"GroupView"=dword:00000000
"GroupByKey:FMTID"="{00000000-0000-0000-0000-000000000000}"
"GroupByKey:PID"=dword:00000000
"GroupByDirection"=dword:00000001
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{5fa96407-7e77-483c-ac93-691d05850de8}]
"Rev"=dword:00000000
"Vid"="{137E7700-3573-11CF-AE69-08002B2E1262}"
"Mode"=dword:00000004
"LogicalViewMode"=dword:00000001
"IconSize"=dword:00000010
"ColInfo"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,fd,df,df,fd,10,\
00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,18,00,00,00,30,f1,25,b7,ef,47,\
1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,10,01,00,00 ,30,f1,25,b7,ef,47,1a,\
10,a5,f1,02,60,8c,9e,eb,ac,0e,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10,\
a5,f1,02,60,8c,9e,eb,ac,04,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10,a5,\
f1,02,60,8c,9e,eb,ac,0c,00,00,00,50,00,00,00
"Sort"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,30,f1,\
25,b7,ef,47,1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,01,00,00,00
"GroupView"=dword:00000000
"GroupByKey:FMTID"="{00000000-0000-0000-0000-000000000000}"
"GroupByKey:PID"=dword:00000000
"GroupByDirection"=dword:00000001
"FFlags"=dword:43000001
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{7d49d726-3c21-4f05-99aa-fdc2c9474656}]
"Rev"=dword:00000000
"Vid"="{137E7700-3573-11CF-AE69-08002B2E1262}"
"Mode"=dword:00000 004
"LogicalViewMode"=dword:00000001
"IconSize"=dword:00000010
"ColInfo"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,fd,df,df,fd,10,\
00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,18,00,00,00,30,f1,25,b7,ef,47,\
1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,10,01,00,00,30,f1,25,b7,ef,47,1a,\
10,a5,f1,02,60,8c,9e,eb,ac,0e,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10,\
a5,f1,02,60,8c,9e,eb,ac,04,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10,a5,\
f1,02,60,8c,9e,eb,ac,0c,00,00,00,50,00,00,00
"Sort"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,30,f1,\
25,b7,ef,47,1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,01,00,00,00
"GroupView"=dword:00000000
"GroupByKey:FMTID"="{00000000-0000-0000-0000-000000000000}"
"GroupByKey:PID"=dword:00000000
"GroupByDirection"=dword:00000001
"FF lags"=dword:43000001
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{94d6ddcc-4a68-4175-a374-bd584a510b78}]
"Rev"=dword:00000000
"Vid"="{137E7700-3573-11CF-AE69-08002B2E1262}"
"Mode"=dword:00000004
"LogicalViewMode"=dword:00000001
"IconSize"=dword:00000010
"ColInfo"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,fd,df,df,fd,10,\
00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,18,00,00,00,30,f1,25,b7,ef,47,\
1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,10,01,00,00,30,f1,25,b7,ef,47,1a,\
10,a5,f1,02,60,8c,9e,eb,ac,0e,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10,\
a5,f1,02,60,8c,9e,eb,ac,04,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10,a5,\
f1,02,60,8c,9e,eb,ac,0c,00,00,00,50,00,00,00
"Sort"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ,00,01,00,00,00,30,f1,\
25,b7,ef,47,1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,01,00,00,00
"GroupView"=dword:00000000
"GroupByKey:FMTID"="{00000000-0000-0000-0000-000000000000}"
"GroupByKey:PID"=dword:00000000
"GroupByDirection"=dword:00000001
"FFlags"=dword:43000001
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{b3690e58-e961-423b-b687-386ebfd83239}]
"Rev"=dword:00000000
"Vid"="{137E7700-3573-11CF-AE69-08002B2E1262}"
"Mode"=dword:00000004
"LogicalViewMode"=dword:00000001
"IconSize"=dword:00000010
"ColInfo"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,fd,df,df,fd,10,\
00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,18,00,00,00,30,f1,25,b7,ef,47,\1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,10,01,00,00,30,f1,25,b7,ef,47,1a,\
10,a5,f1,02,60,8c,9e,eb,ac,0e,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10,\
a5,f1,02,60,8c,9e,eb,ac,04,00,00,00,78,00,00,00,30,f1,25,b7,ef,47,1a,10,a5,\
f1,02,60,8c,9e,eb,ac,0c,00,00,00,50,00,00,00
"Sort"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,30,f1,\
25,b7,ef,47,1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,01,00,00,00
"GroupView"=dword:00000000
"GroupByKey:FMTID"="{00000000-0000-0000-0000-000000000000}"
"GroupByKey:PID"=dword:00000000
"GroupByDirection"=dword:00000001
"FFlags"=dword:43000001
----------------------------------------我是华丽的分割线----------------------------------------------
导入reg文件后,注销后重新登录即可发现鼠标可以随意拖动文件/文件夹了。
< /p>
如果要取消这个功能,可以用下面的注册表文件:
Windows Registry Editor Version 5.00
;关闭Windows 7文件/文件夹手动排序功能
;http://hi.baidu.com/bbis
[-HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"FullRowSelect"=-
----------------------------------------我是华丽的分割线----------------------------------------------
有些电脑导入后,在计算机里不显示硬盘下的蓝色容量指示条,因为每个电脑的注册表对应的硬盘显示容量这个数值都不一样,所以红色数值1,
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\1]
适用于我自己的电脑,怎么才能修改成自己的电脑呢,导入注册表后打开任意打开一个文件夹,选择图标的 排列方式,任意选择一种排列方式,关闭窗口。然后重新打开桌面的计算机,任意选择一种排列方式,再关闭。
操作后打开注册表,定位到:
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\]
会发现里面有数字,例如1,2,4,8,12,752等等,把数字填到下面的注册表中导入进去即可:
(可以一个一个数字替换测试,直至找到属于硬盘容量指示条的数字)


Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\你找到的数字]
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\你找到的数字\Shell]
[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Wind ows\Shell\Bags\你找到的数字\Shell\{5C4F28B5-F869-4E84-8E60-F11DB97C5CC7}]
"Rev"=dword:00000000
"FFlags"=dword:41000011
"Vid"="{65F125E5-7BE1-4810-BA9D-D271C8432CE3}"
"Mode"=dword:00000006
"LogicalViewMode"=dword:00000002
"IconSize"=dword:00000030
"ColInfo"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,fd,df,df,fd,10,\
00,00,00,00,00,00,00,00,00,00,00,04,00,00,00,18,00,00,00,30,f1,25,b7,ef,47,\
1a,10,a5,f1,02,60,8c,9e,eb,ac,0a,00,00,00,a0,00,00,00,30,f1,25,b7,ef,47,1a,\
10,a5,f1,02,60,8c,9e,eb,ac,04,00,00,00,c8,00,00,00,35,4b,17,9b,ff,40,d2,11,\
a2,7e,00,c0,4f,c3,08,71,03,00,00,00,80,00,00,00,35,4b,17,9b,ff,40,d2,11,a2,\
7e,00,c0,4f,c3,08,71,02,00,00,00,80,00,00,00
"Sort"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,30,f1,\
25,b7,ef,47,1a,10,a5,f1,02,60,8c,9e,eb, ac,0a,00,00,00,01,00,00,00
"GroupView"=dword:ffffffff
"GroupByKey:FMTID"="{B725F130-47EF-101A-A5F1-02608C9EEBAC}"
"GroupByKey:PID"=dword:00000004
"GroupByDirection"=dword:00000001
  
  


回复

使用道具 举报

12#
 楼主| 发表于 2019-9-9 19:31:31 | 只看该作者
sairen139 发表于 2019-9-5 18:27
Win8 win8.1 win2012不带uwf.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\system\Co ...

这种Ramos支持uefi启动的最早系统是Windows7的64位和Windows8的86位和64位。
这楼预留来制作基于坛友dulibo分享]的:LTSB-x86-原版极限精简 20190828   
fulibo
发表于 2019-8-28 10:40:26 | 只看该作者 |只看大图 回帖奖励
支持无忧,加入VIP会员,赠积分,送勋章,获论坛最高级会员权限 !
都精简了,就留下net3.5,net4,旧版组件!
系统运行流畅!
回复

使用道具 举报

13#
 楼主| 发表于 2019-9-9 19:55:24 | 只看该作者
sairen139 发表于 2019-9-5 22:43
适用于windows10的截取正常开机转圈标志最少文件引导vdf镜像的BAT文本文件语句如下(Win10比Win81仅仅是 ...

这种Ramos支持uefi启动的最早系统是Windows7的64位和Windows8的86位和64位。
这楼预留来制作基于坛友fulibo分享的:375M内存-运行LTSB2016-x86-极限精简http://bbs.wuyou.net/forum.php?m ... %BC%F2&mobile=2
回复

使用道具 举报

14#
 楼主| 发表于 2019-9-9 23:14:41 来自手机 | 只看该作者
以上所有经验均基于UEFI+GPT的组合,而实际上,UEFI启动(Windows操作系统)的话,并不强制要求硬盘必须为GPT分区,而是只要硬盘上存在EFI启动文件且位于FAT(16/32)分区就可以了(UEFI无法从NTFS分区启动)。因此如果是小于2.2T的硬盘,不必非得转换成GPT也可以引导系统启动。也就是说,UEFI+MBR也是可行的,而GPT硬盘的话,则必须使用UEFI引导,BIOS无法原生引导GPT硬盘上的操作系统(Windows)。    关于这一点,如果感觉不能理解的话,可以通过以下具体应用来参考。  注:    综观网上那些关于UEFI的所谓技术类文章,除了毫无实用价值和实际意义,而且都不同程度的存在各种各样的因循误导,继而被以讹传讹,最终成为一些人坚信不疑的“定律”。这样的误导主要表现为两点:  1.就是刚刚说的,“UEFI启动系统必须是GPT分区”,这个已经说得很明白了,并且有实例解析,无需再讨论。 2.另外一个就是不知道从什么时候什么人开始谣传的“UEFI的优势就是启动速度快”或者“UEFI启动比传统BIOS启动速度快”。无论UEFI还是GPT,与电脑启动速度没有任何必然联系。或者说,只要硬件环境相同、系统一样,无论UEFI+GPT安装还是BIOS+MBR安装系统,启动速度没有区别。     有了以上的经验总结,就可以轻松解决以下问题了:  1.UEFI+GPT环境下以任意方式安装操作系统(单系统或者多系统)。这个不必详解了    2.最主要的问题:UEFI+GPT引导修复操作(EFI引导文件损坏、ESP分区损坏或者丢失之后手动重建EFI引导等等)。这个在此也不做详解,这是这段时间反复研究、实践的最重要成果,因此姑且算是有所保留卖个关子吧,如果是结合以上几点经验总结,对UEFI+GPT有一定的了解之后,应该不难揣摩出办法    3.如果主板不支持UEFI,使用折中的办法来解决大硬盘使用问题,这个问题以前我也已经多次提过。  第一种办法就是使用多块硬盘,MBR+GPT组合,MBR硬盘作为启动引导盘。    小于2.2T的硬盘采用MBR,大于2.2T的硬盘采用GPT,这样的话,解决方案就很灵活了,可以根据以上所列相同点的第1条和补充里面第2条,使用MBR硬盘建一个非隐藏活动主分区,放置系统引导文件,然后将系统安装在MBR硬盘或者GPT硬盘都可以,无论单系统还是多系统都无所谓,两块硬盘交叉安装操作系统也没有任何问题  强调两点:    1.这样安装的话不限于64位操作系统及XP以上版本,理论上只要是能对GPT硬盘进行读写的系统版本就可以安装。实际测试,32位XP和2003sp1以及之前的版本,电脑事先安装GPT硬盘的情况下,即使系统安装在MBR硬盘,原版系统安装,没有问题,如果是Ghost系统,有可能出现卡死或者蓝屏等问题导致无法顺利安装;先在MBR硬盘安装好系统,然后再装GPT硬盘,无论原版还是Ghost系统都没有问题,只是GPT分区无法识别(解决方法很简单,就是使用2003sp2的disk.sys文件替换到以上系统,就可以完美识别GPT分区,此法简单易操作,且不涉及系统稳定问题,感兴趣的话可以自行搜索)。64位XP安装在MBR硬盘,引导、启动都没有问题,安装在GPT硬盘无法引导。其他系统无论32位还是64位,无论安装在MBR还是GPT,都可以正常引导启动;    2.BIOS安装系统到GPT硬盘仅限于Ghost方式,Ghost解压完毕后手动修复引导即可。  第二种办法是单块大于2.2T的硬盘+U盘或者光盘组合    使用GPT分区结构对硬盘进行分区,是否创建ESP分区都无所谓,因为主板不支持UEFI,创建此分区也没什么用,全凭个人爱好了。然后只能使用Ghost方式解压安装操作系统到硬盘,无论单系统还是多系统,全部安装完毕后,准备一个U盘,大小无所谓,只要不小于十几M就行,使用分区软件设为活动主分区,插在电脑上。进PE(2003sp1以上版本),手动或者使用工具软件修复单系统或者多系统引导,将引导文件写入U盘。然后就可以使用此U盘启动所安装的单系统或者多系统了。此方法实际上就是用U盘代替了第一种方法中的小硬盘而已,没什么本质区别。(这个方法大概10年前我就在电脑论坛发过帖子,当时考虑的是用U盘做一个系统启动钥匙,因为系统引导文件在U盘上,电脑如果不插这个U盘是无法启动的。MBR硬盘系统:Windows864位+Windows732位+WindowsXP32位,GPT硬盘系统:Windows832位+Windows764位+WindowsVista32位,测试环境:杂牌945主板、32M老U盘,测试通过。)    另外还可以再使用光盘来代替U盘,具体方法说起来更简单,用软件创建一个可启动光盘(创建方法自行查询,会做的不用讲,压根没接触过的,另开帖子专门讲也不一定看得懂),然后将上面U盘里的系统启动文件加进去刻录就可以了。然后使用此光盘启动电脑,效果和U盘是一样的。此方法仅仅作为一种可行性的介绍,不推荐使用,U盘比这个方便的多,没必要多此一举。  备注:使用此方法,理论上来讲凡是可以对GPT进行读写的系统都适用,但实际上XP以上系统无论32位还是64位操作系统全部测试可行,但是2003sp1及XP64位这些可以读写GPT的系统也不行,这个不知道是由于NT5.X的ntldr引导机制还是其他的什么原因,有知道原因的朋友不吝赐教!  注:    1.除专门标明“Ghost系统”,本文所提及的系统安装均为微软原版Windows系统,不包含任何修改版本 。   2.非UEFI主板安装原版系统到GPT磁盘,只能采取wim直接解压到分区或者先将系统Ghost化,然后解压安装的办法。    3.本文所有结论全部为反复多次实际测试结果,不是设想、假设,更不是想象或者幻想以及想当然的以为。   4.本文内容已经多次修订和修改,这是个人的一点经验总结,难免有纰漏以及表达不准确之处,望有相关经验的朋友给予更多帮助。
回复

使用道具 举报

15#
 楼主| 发表于 2019-9-9 23:52:10 | 只看该作者
本帖最后由 sairen139 于 2019-9-10 00:25 编辑
sairen139 发表于 2019-9-6 02:22
这个bat抓起出来的引导启动小镜像小vdf里的system至关重要,后面对接的系统大vdf里的system毫无作用完全 ...

原理是第一阶段电脑开机时把引导启动小镜像vdf当成一块带有活动分区的MBR硬盘系统,vdf中的EFI文件夹下的BOOT文件夹下bootx64.efi引导BCD文件,然后到引导启动小镜像vdf中的Winload.efi跟着进到这个vdf里的注册表的C盘是不是内存盘是不是耦合(所以说这个引导小镜像vdf里的system注册表至关重要!)。下一阶段第二阶段就是加载对接PrimodiskRamdisk的智能镜像的系统大VDF,即P驱生成内存盘,验mbr和磁盘签名,进windows系统桌面就可以使用了!(这个系统大VDF里的system文件毫无影响可以直接删除掉!)

7D1AE475-D068-4FA0-8B5C-7B4795978EA7.jpeg (1.96 MB, 下载次数: 153)

BCD可以用Bootice新建一个

BCD可以用Bootice新建一个
回复

使用道具 举报

16#
 楼主| 发表于 2019-9-12 11:31:47 | 只看该作者

二、VHD/VHDX虚拟硬盘的架构是什么,和物理的硬盘相比,VHD/VHDX虚拟硬盘有何不同?

一个传统的物理硬盘抛开物理组成部分的话,物理组成部分无非就是:接口、Buffer、主控芯片、RAM、电机(SSD就是Flash颗粒)。剩下的就是一个地址序列,这个序列从0~n-1,每个地址包含512B(字节)的控件。一般我们将这些地址称作逻辑块地址(LBA),每块由512B组成。分区表的作用是:告诉系统,磁盘的分区有几个,开始位置和结束位置。磁盘分区表格式目前主要有两种MBR分区表和GUID分区表(GPT)。
VHD/VHDX虚拟硬盘是没有所谓的物理组成部分的,因此VHD/VHDX虚拟硬盘的架构其实就表现为是一个地址序列。
同样,我们先来说说VHD:
在微软的VHD 文件格式规范中【http://download.microsoft.com/do ... 20Spec_10_18_06.doc】,虚拟硬盘VHD文件格式有三种类型:
固定虚拟硬盘:VHD映像文件在存储上预分配为所请求的最大大小。固定虚拟硬盘是用相同容量的VHD 文件模拟同样容量的一个虚拟硬盘,固定虚拟硬盘的VHD 文件在创建时,已分配了全部的空间,确定了大小,不随着数据的写入而改变。
可扩展方式:也称为“动态”和“可动态扩展”方式,VHD映像文件仅使用存储上足够空间来存储虚拟磁盘当前包含的实际数据。创建此类型的虚拟磁盘时,VHD API不会根据请求的最大大小测试物理磁盘上的可用空间,因此可以成功创建最大大小大于可用物理磁盘空间的动态虚拟磁盘空间。值得注意的是,VHD动态虚拟磁盘的最大大小为2,040GB。
差异方式:这种方式是建立在母盘(固定、动态或差分VHD)上的快照,必须有一个基本的VHD虚拟硬盘作为父虚拟磁盘,不能独立存在。在父虚拟磁盘之上创建差异磁盘之后,任何后续写入都写入到差异VHD映像文件中,并且不会修改父VHD映像文件。而且,差异磁盘可以在差异磁盘之上再建立差异磁盘。这也就是CitrixPVS多版本管理的技术。
上述的三种,每一种类型都有着自己的文件格式。

1、固定虚拟硬盘

VHD虚拟硬盘的固定虚拟硬盘的格式:
0?wx_fmt=png
固定虚拟硬盘的VHD 格式分为两个结构:数据区域和页脚区域。数据区域结构和虚拟硬盘相同,即数据区的扇区与虚拟硬盘的扇区顺序映射。页脚结构是所有类型的VHD 文件共有的结构,位于文件的尾部,占据一个扇区的大小(512B字节)。整个文件的大小是设定的VHD虚拟硬盘大小加上页脚大小(一个扇区),即VHD虚拟硬盘的真实大小是我们设置的值(比如40GB)加上一个扇区的大小(512B字节)。 固定虚拟硬盘所支持的硬盘大小受到操作系统的限制。例如,在FAT32文件系统上,虚拟硬盘的最大大小为4 GB。
而固定虚拟硬盘的VHD虚拟硬盘页脚区域里面有什么呢?根据VHD文件格式的规范文档说明,该页脚格式是所有的VHD类型都共享的格式,也就是该页脚区域的格式是通用的。其页脚区域规定:
硬盘页脚字段

大小(字节)

Cookie(标识)

8

Features(特性)

4

File Format Version(文件格式版本)

4

Data Offset(数据偏移量)

8

Time Stamp(时间戳)

4

Creator Application(应用程序创建者)

4

Creator Version(创建者版本)

4

Creator Host OS(创建者系统)

4

Original Size(原始长度)

8

Current Size(当前长度)

8

Disk Geometry(磁盘参数)

4

Disk Type(磁盘类型)

4

Checksum(校验和)

4

Unique Id(唯一ID)

16

Saved State(保存状态)

1

Reserved(保留)

427

其完整格式如下所示:
0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23


标识

特性

文件格式版本

数据偏移量


时间戳

应用程序创建者

创建者版本

创建者系统

原始长度


当前长度

磁盘参数

磁盘类型

校验和

唯一ID


唯一ID

存态

保留


保留(427字节)








从图上可以看出,页脚结构共有512 字节,其定义了VHD 文件标志、类型、容量等相关信息。下面介绍页脚区域各个字段的意义。
(1)Cookie标识占8 字节。Cookie用于标识硬盘映像的原始唯一创建者。值区分大小写。固定虚拟硬盘的值是“conectix”字符串。cookie存储为8个字符的ASCII字符串,其中“c”在第一个字节,“o”在第二个字节,依此类推。
(2)特性占4 字节。这个字段说明该文件支持的特定功能,常用特性有:无、临时、保留。无特性表明该文件没有嵌入特定功能;特性为临时,表明这是一个临时的VHD 文件,当关机时会被删除;保留特性下,这一位的值必须置为1。
功能



未启用任何功能

0x00000000

临时

0x00000001

保留

0x00000002

(3)文件格式版本占4 字节。表明VHD 的版本信息。此字段分为主要/次要版本,并与创建文件时使用的规范的版本相匹配。最高有效的两个字节用于主要版本。最低有效两个字节是次要版本。这必须与文件格式规范匹配。对于当前规范,此字段必须初始化为0x00010000。
(4)数据偏移量占8字节。该字段保存从文件开头到下一个结构的绝对字节偏移量。此字段用于动态磁盘和差异磁盘,但不用于固定磁盘。对于固定磁盘,此字段应设置为0xFFFFFFFF。
(5)时间戳占4字节。此字段存储硬盘映像的创建时间。这是从UTC/ GMT时区2000年1月1日12:00:00:00开始计时以来的秒数。
(6)应用程序创建者占4字节。此字段用于记录哪个应用程序创建了硬盘。该字段是一个左对齐的文本字段。它使用单字节字符集。如果硬盘由Microsoft Virtual PC创建,则在此字段中写入“vpc”。如果硬盘映像由MicrosoftVirtual Server创建,则在此字段中写入“vs”。其他应用程序应使用自己的唯一标识符。每个应用程序在Windwos中都会有一个自己唯一的标识符。
(7)创建者版本占4字节。此字段保存创建硬盘映像的应用程序的主要/次要版本。
(8)创建者系统占4字节。此字段存储在其上创建此磁盘映像的主机操作系统的类型。
(9)原始长度占8字节。此字段存储创建时从虚拟机的角度来看的硬盘大小(以字节为单位)。此字段用于信息目的。
(10)当前长度占8字节。此字段从虚拟机的角度存储硬盘的当前大小(以字节为单位)。在固定虚拟硬盘格式下,此值与创建硬盘时的原始大小相同。在动态方式下,此值可根据硬盘是否扩展而更改。
(11)硬盘参数占4字节。此字段存储硬盘的磁道,磁头和每磁道的扇区值。
磁盘参数字段

大小(字节)

Cylinder

2

Heads

1

Sectors per track/cylinder

1

当硬盘被配置为ATA硬盘时,ATA控制器使用CHS值(即,磁道,磁头,每磁道的扇区)来确定磁盘的大小。当用户创建具有一定大小的硬盘时,虚拟机中的硬盘映像的大小小于用户创建的硬盘映像的大小。这是因为从硬盘大小计算的CHS值向下取整。
(12)磁盘类型占4字节。
磁盘类型字段





0

Reserved (deprecated)

1

Fixed hard disk

2

Dynamic hard disk

3

Differencing hard disk

4

Reserved (deprecated)

5

Reserved (deprecated)

6

(13)校验和占4字节。此字段只检验VHD 文件的页脚区域,不包括数据部分。校验和是由页脚中除去校验和字段的信息之后计算得到的。如果校验和出错,则认定文件损坏。
(14)唯一ID占16字节。每一块硬盘都有一个唯一ID用于识别硬盘。该唯一的ID是一个128位的通用唯一标识符(UUID)。此字段用于将父硬盘映像与其差异硬盘映像进行关联。
(15)已保存状态占1字节。此字段保存一个字节标志,描述系统是否处于保存状态。如果硬盘处于保存状态,则该值设置为1。无法在保存状态的硬盘上执行压缩和扩展操作。
(16)保留占427字节。此字段顾名思义的保留字段,用于今后可能的参数以及字段扩展,其存储的数据全部是0。它的大小是427字节。

2、可扩展方式(动态)虚拟硬盘

由于可扩展的VHD虚拟硬盘的动态性,因此不同于固定虚拟硬盘的VHD的格式。可扩展的VHD 大小随着写入的数据而动态变化。比如创建一个60GB的可扩展的VHD文件时,它的初始大小可能仅为几百MB,但是随着后期数据的不断写入,可扩展的VHD文件逐渐增加,并最终达到60GB的最大值。这中间存储的数据是随机的,杂乱无章的。因此就必须得有一个类似于记录本一样的东西来记录后来增加的这些数据是存储于那个柱面的那个扇区上。
VHD可扩展的虚拟硬盘格式在规范文档中表示如下:
0?wx_fmt=png
逻辑结构图表示如下:
0?wx_fmt=png
由上图可看出,一个扩展的VHD文件由页脚备份区域、头部区域、块分配表、数据区和页脚区域组成。页脚备份区域是对页脚区域的备份,位于文件的第0 扇区;头部区域是1024字节的固定长度,位于文件的第1、2 扇区;块分配表位于头部区域之后,每个条目占4 字节,其随着数据的增长而动态扩展扇区,不固定长度;数据区位于块分配表之后,每个数据块包括扇区位图和块数据,分别为512 字节和2 MB,同样其随着数据的增长而动态扩展扇区,不固定长度;页脚区域是512字节,与固定虚拟硬盘VHD的页脚区域是一样的大小,只是其中关键值不同,其位于文件的最后一个扇区;

1、页脚备份区域

是对页脚区域的备份,其数据和页脚区域一摸一样,因此了解了页脚区域就行,页脚区域在上述的固定虚拟硬盘中以及进行了详细计介绍。

2、头部区域

可扩展的VHD的头部区域表示文件的概况,包括数据块大小,块分配表位置和数量,以及关于差分等重要信息。
在VHD格式规范文档中,可扩展的VHD文件头部的格式如下表所示:
可扩展磁盘头部字段

大小(字节)

Cookie(标识)

8

Data Offset(数据偏移量)

8

Table Offset(表偏移量)

8

Header Version(头部版本)

4

Max Table Entries(最大表条目)

4

Block Size(块大小)

4

Checksum(校验和)

4

Parent Unique ID(母盘唯一ID)

16

Parent Time Stamp(母盘时间戳)

4

Reserved(保留)

4

Parent Unicode Name(母盘Unicode名称)

512

Parent Locator Entry 1(母盘定位器条目1)

24

Parent Locator Entry 2(母盘定位器条目2)

24

Parent Locator Entry 3(母盘定位器条目3)

24

Parent Locator Entry 4(母盘定位器条目4)

24

Parent Locator Entry 5(母盘定位器条目5)

24

Parent Locator Entry 6(母盘定位器条目6)

24

Parent Locator Entry 7(母盘定位器条目7)

24

Parent Locator Entry 8(母盘定位器条目8)

24

Reserved(保留)

256

其逻辑结构如下图所示:
0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23


标识

数据偏移量

表偏移量


头部版本

最大表条目

块大小

校验和

母盘唯一ID


母盘唯一ID

母盘时间戳

保留

母盘Unicode名称


母盘Unicode名称(512B字节)



母盘定位器条目1


…………


母盘定位器条目8


保留(256B字节)




下面提供了可扩展VHD虚拟硬盘头部字段的详细说明。
(1)Cookie标识占8字节。此字段保存值为“cxsparse”。此字段标识头部是否为合法的头部字段。
(2)数据偏移量占8字节。此字段包含硬盘映像中下一个结构的绝对字节偏移量。目前未被现有任何所格式使用,默认设置为0xFFFFFFFF。
(3)表偏移量占8字节。此字段存储文件中块分配表(BAT)的绝对字节偏移量。由于前两个字段为固定长度,因此块分配表总是从0x600 处开始,字段固定为0x600。
(4)头部版本占4字节。此字段用于存储可扩展VHD虚拟硬盘头部的版本。该字段分为主/次版本。最低有效两个字节表示次版本,最高有效两个字节表示主版本。这必须与文件格式规范匹配。对于本规范,此字段必须初始化为0x00010000。主版本将仅在标头格式修改为不再与产品的旧版本兼容时增加。
(5)最大表条目占4字节。此字段保存BAT中存在的最大条目。这应该等于磁盘中的块数(即磁盘大小除以块大小)。
(6)块大小占4字节。该字段定义了块的容量。块是动态和差异硬盘的扩展单元。它以字节存储。此大小不包括块位图的大小。它只是块的数据部分的大小。每个块的扇区必须总是2的幂次方。默认值为0x00200000(表示块大小为2 MB)。
(7)校验和占4字节。此字段持有动态头部的基本校验和。它是除去头部字段之外其他所有字段之和的一个补码,和页脚区域的校验和计算是一样的。如果校验和验证失败,则会判定文件已损坏。
(8)母盘唯一ID占16字节。此字段用于区分硬盘。差异硬盘存储母盘的128位UUID。可扩展的VHD 虚拟硬盘中这个字段置零。
(9)母盘时间戳占4字节。此字段存储母盘的修改时间戳。这是从时区UTC / GMT 2000年1月1日12:00:00:00开始计算以来的秒数。
(10)保留占4字节。此字段置为零。
(11)母盘Unicode名称占512字节。此字段包含母盘文件名的Unicode字符串(UTF-16)。
(12)母盘定位器条目占192字节(8个条目,每个条目24字节)。这些条目在存储差异硬盘的母盘定位器的文件中存储绝对字节偏移量。用来在不同平台之间迁移VHD文件。此字段仅用于差异磁盘,对于动态磁盘设置为零。
下表描述了每个定位器条目内的字段。
母盘定位器表字段

大小(字节)

Platform Code

4

Platform Data Space

4

Platform Data Length

4

Reserved

4

Platform Data Offset

8

平台代码占4字节。平台代码描述了哪种平台特定的格式用于文件定位器。对于Windows,文件定位器存储为路径(例如,“c\disksimages\ParentDisk.vhd”)。在Macintosh系统上,文件定位器是包含“别名”的二进制大对象(blob)。母盘定位器表用于支持跨平台移动硬盘映像。
一些当前的平台代码包括以下:
Platform Code

Description

None  (0x0)


Wi2r  (0x57693272)

[deprecated]

Wi2k  (0x5769326B)

[deprecated]

W2ru  (0x57327275)

Unicode  pathname (UTF-16) on Windows relative to the differencing disk pathname.

W2ku  (0x57326B75)

Absolute  Unicode (UTF-16) pathname on Windows.

Mac  (0x4D616320)

(Mac  OS alias stored as a blob)

MacX(0x4D616358)

A file URL with UTF-8 encoding conforming to RFC 2396.

平台数据空间占4字节。此字段存储存储母盘定位器所需的512字节扇区数。
平台数据长度占4字节。此字段存储母盘定位器的实际长度(以字节为单位)。
保留占4字节。此字段必须设置为零。
平台数据偏移占8字节。该字段存储存储平台特定文件定位器数据的绝对文件偏移量(以字节为单位)。
(13)保留占256字节。初始化为零。

3、块分配表

块分配表简称BAT,是可扩展VHD文件格式中一个重要的结构,存储了虚拟硬盘到VHD文件的地址映射信息。它由可扩展虚拟硬盘头部的“表偏移”字段指向。
BAT的大小是在创建硬盘期间计算的。BAT中的条目数是完全展开时存储磁盘内容所需的块数。例如,使用2 MB块的基本单位数据块来存储2GB数据,磁盘映像需要1024个BAT条目。 每个条目都是4个字节长,那么大小就为4096个字节。,从块分配表的第1个字节(0x600)开始,所有未使用的表条目都初始化为0xFFFFFFFF。
BAT总是扩展到扇区边界。 可扩展磁盘头部中的“最大表条目”字段指示有多少条目有效。
BAT的条目存储了虚拟硬盘的块地址映射到VHD文件的绝对扇区偏移量,表示虚拟硬盘的块中的数据存储在VHD 文件中以该扇区开始的数据块内。如果向虚拟硬盘的块写入数据,那对应的块分配表的条目为该块在VHD文件分配空间;如果虚拟硬盘的块没有数据写入,那对应的块分配表条目就不分配空间。这保证了虚拟硬盘通过块分配表的动态更新可以随时向VHD 文件写入数据,也阐明了VHD文件容量的动态变化。
其具体的流程图如下图所示:
0?wx_fmt=png
上图中描述了虚拟硬盘的数据块到VHD文件的数据块的映射关系。块分配表的条目与虚拟硬盘块的数目是保持一致的,且硬盘的第n个块对应块分配表的条目n,也就是一一对应的关系,这样的好处是方便的进行读取的时候按顺序查找所存储的数据在哪个数据块上。但VHD文件的数据区的数据块的顺序不与此对应。图中,块分配表的条目0为虚拟硬盘的第0块分配到VHD文件中以某扇区开始的第1块,即写入虚拟硬盘第0 块的数据会存储在VHD 文件的某扇区第1块数据块区域,这里的某扇区即是VHD文件存储在真实硬盘上的扇区。因此我们就可以理顺VHD虚拟硬盘快分配表的工作模式了:
1)、数据写入到虚拟硬盘数据块。数据首先写入到VHD虚拟硬盘的数据块中;
2)、记录块分配表。然后根据其数据块写入的对应块分配表,记录相应的虚拟硬盘数据块到VHD文件的数据区域的数据块的地址映射信息。

4、数据块

数据块由扇区位图和数据组成。对于VHD可扩展硬盘,扇区位图指示了哪些扇区包含有效数据(值为1),以及哪些扇区未被使用(值为0)。对于差异硬盘,扇区位图指示哪些扇区位于差异磁盘(值为1)内,哪些扇区位于母盘(值为0)中。位图总计有512字节即一个扇区大小。
0?wx_fmt=png
块是扇区倍数的乘方。默认情况下,块的大小为4096个512字节扇区(2 MB)。虚拟硬盘的所有块必须具有相同的大小。此大小在可扩展虚拟硬盘头部的“块大小”字段中定义。
位图中的相应位为零的块中的所有扇区必须在虚拟硬盘上包含512字节的零。访问磁盘映像的软件可以利用该假设来提高性能。
虚拟硬盘的块经块分配表分配空间后,指向数据块中的扇区位图,通过查看扇区位图的每一位,确认块数据区的使用情况,然后进行对数据的操作。
明白了上述的基本知识之后,我们来说说如何实现可扩展的虚拟硬盘?
首先,数据块按需分配。创建可扩展的虚拟硬盘时,最初不为其分配数据块。新创建的映像仅包含前面描述的数据结构(包括可扩展的虚拟硬盘头部和块分配表BAT)。
当数据写入映像时,可扩展的虚拟硬盘将为写入的数据扩展一个个新的数据块。然后BAT被一一对应进行更新,以包含在映像内分配的每个新数据块的偏移量。
VHD有一个计算公式可以让虚拟硬盘知道其将虚拟硬盘的数据块中的扇区映射到VHD映像文件块中的那个扇区。
要从引用的扇区号计算块号,该公式如下所示:
BlockNumber = floor(RawSectorNumber / SectorsPerBlock)
SectorInBlock = RawSectorNumber%SectorsPerBlock
BlockNumber用作BAT的索引。 BAT条目包含块位图开始的绝对扇区偏移,后面跟块的数据。以下公式可用于计算数据的位置:
ActualSectorLocation = BAT[BlockNumber] + BlockBitmapSectorCount + SectorInBlock
以这种方式,可以以任何顺序分配块,同时保持其通过BAT的排序找到数据。

5、页脚区域

当新分配一个数据块时,页脚区域必须被推回到文件的末尾。


本文出自 “我拿流年乱了浮生” 博客,请务必保留此出处http://www.voidcn.com/article/p-ctdfokra-bdx.html
相关文章
1. PVS架构之VHD虚拟磁盘
2. PVS架构之VHD虚拟磁盘 一
3. PVS架构之VHD虚拟磁盘②
4. 虚拟机磁盘快照(vhd格式)
5. Windows7虚拟盘(VHD)API
6. subst虚拟磁盘
7. Windows 7安装到虚拟磁盘VHD文件中
8. Bcdedit添加VHD(虚拟磁盘)系统启动菜单
9. 通过VHD虚拟磁盘实现多系统安装
10. 用VHD文件将Windows 7安装到虚拟磁盘
更多相关文章...
回复

使用道具 举报

17#
 楼主| 发表于 2019-9-18 12:29:01 | 只看该作者
本帖最后由 sairen139 于 2019-9-18 15:05 编辑
sairen139 发表于 2019-9-5 18:27
Win8 win8.1 win2012不带uwf.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\system\Co ...


基于Win 10 LTSB 2016 x64 Wzzok(1216)制造的内存盘5G设为5123m,7g设为7170m,8G设为8198mb!
硬盘整数分区对照表
硬盘G数 算法1(NTFS) 算法2(Fat32)
1 1028 1024
2 2056 2052
3 3075 3080
4 4103 4108
5g 5123 5136
6 6150 6164
7g 7170 7192
8g 8198 8220
9 9217 9248
10 10245 10276
20 20482 20556
30 30726 30836
40 40963 41116
50 51208 51396
60 61444 61676

365E99DF-7600-42A9-950A-F793A6685D30.png (394.98 KB, 下载次数: 152)

365E99DF-7600-42A9-950A-F793A6685D30.png
回复

使用道具 举报

18#
 楼主| 发表于 2019-9-22 19:14:04 | 只看该作者
sairen139 发表于 2019-9-5 18:27
Win8 win8.1 win2012不带uwf.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\system\Co ...

1采取的一些瘦身的方法,当然,这些瘦身中有“健康瘦身”和“有伤瘦身”两种,当然,这些也都是目前个人的一些尝试操作,如非“瘦身”不可,则也可以有点用处,所以做下记录:
健康瘦身:
(2)C:\Windows\SoftwareDistribution\目录:系统更新相关文件制作ramos前可以完全删除!

(3)C:\Users\Administrator\AppData\Local\Temp目录:用户操作过程中与安装MS软件过程中产生的临时文件
(4)有关虚拟内存的分页文件占用C盘的空间如何转换,这个可绝对是一个瘦身的有效途径哦,毕竟有2G左右的空间呢?但是,我们已经不能像以前的操作系统一样,直接在“我的电脑”->属性->高级系统设定->设定中进行直接修改了,因为以前系统会默认在C盘划分虚拟内存的分页文件,这时,你发现C盘后面写的是“系统管理”,怎么办?选中它,并将它强行修改为无分页,再在其他盘内添加相同大小的虚拟内存即可,当然,记得重启电脑哦!
有伤瘦身:
(5)C:\MSOCache\AllUsers目录:Office相关的一些资源文件文件,有可能会对用户在使用到一些暂时没有安装的office功能的时候,不能进行自动安装的功能,属于轻型“有伤瘦身”吧,但是,这个瘦身的效果可谓非常明显:一般情况下能有1G左右的收获吧。
(6)C:\Windows\Installer目录:安装一些软件时用于安装及卸载文件存放的地方,大概占用空间1G左右空间,属于“有伤瘦身”,代价是会导致一些安装程序的程序图标消失,使用快捷方式无法正确定位到应用程序,同时也会造成一些安装程序无法通过“安装卸载”进行删除,因为其中包含的一些卸载文件也在其中,当然,这个倒不影响正常的使用,图标无法正常识别,文件还是可以照常使用的,如果真是“穷”到买不起硬盘的话,这也是条出路。(注:可以通过从其他机器中拷贝相同版本的相关Office安装目录即可恢复!)
PS:以上的所有方式都不会导致系统出现灾难性异常,所以大家不要担心,请放心尝试,后两个方法可斟酌尝试!个人浅见,还有待进一步实际验证,有何言误之处,还请大家指点一二!
windowsserver2008终极减肥攻略
1、C:\Windows\Web\Wall***自带墙纸,不需要的可以删除掉。
2、C:\Windows\System32\DriverStore\FileRepository系统自带驱动程序备份,大小为1.09G,可以删除(删除后,使用部分移动设备可能会出现小问题)。
3、C:\Boot此文件夹存放的是Windows不同语言的启动界面,大小为13.4M,只保留ZH-CN目录即可,其它目录可以删除。
4、C:\Windows\DownloadedProgramFiles一些软件在安装过程中释放出来的文件,删除即可。
5、C:\Windows\Help帮助文件,大小为156M,全部删除。
6、C:\Windows\IME系统自带输入法,其中c:\Windows\IME\IMESC5微软拼音输入法,因为现在其他输入法还常出现打不出字的兼容性问题,建议保留这个输入法。c:\Windows\IME\IMEJP10,日文输入法,建议删除。c:\Windows\IME\imekr8韩文输入法,建议删除。c:\Windows\IME\IMETC10繁体中文输入法,建议删除。c:\Windows\System32\IME这里面也是一些输入法文件,总大小为72.2M,文件夹对应输入法同上。
7、C:\Windows\Installer此文夹内的文件是对已安装程序进行修改或者删除时用的,如果确认已安装程序不需要再进行修改或删除,可将其内清空。日后若需删除某程序,可重新安装后再删除。
8、C:\Windows\winsxs\Backup一些备份文件,可将其删除。
9、C:\ProgramData  文件夹内是一些已安装软件的安装程序和运行必备文件,删除不太重要的安装文件即可。
10、C:\用户\公用(即C:\Users\Public)  所有用户公用文件夹,可将其内所有非隐藏属性文件全部清空,保留原有目录结构即可
11、C:\hiberfil.sys文件该文件为休眠功能所占用的虚拟内存,同机器内存一样大,非常占空间,可在运行中键入powercfg-hoff关闭休眠功能,会自动删除该文件。然后,控制面板/电源选项/更改计划设置/使计算机进入休眠状态/选择从不。
Hiberfil.sys 是 Windows 休眠功能(Windows Hibernation)将内存数据与会话保存至硬盘、以便计算机断电重新启动后可以快速恢复会话所需的内存镜像文件。在早期版本的 Windows 中,Hiberfil.sys 文件的大小等同于物理内存大小;而在 Windows 7 中,Hiberfil.sys 可以在物理内存大小的 50%-100% 的范围自行调整。因此, Windows 7 的 Hiberfil.sys 大小不一定等同于物理内存大小。
如果你有超大内存,那么Hiberfil.sys 会占用很大的磁盘空间。
如果你不想C盘被无情的占用,那么Follw Me!
我的C盘被占用了5.89G!晕啊!
删除,是删不掉的!
为什么无法将 Hiberfil.sys 由系统分区根目录转移至其它位置,这是由于 Windows 要想在硬盘的其它位置读取启动文件,必须首先加载文件系统驱动程序。但是已经转入休眠状态的 Windows,其文件系统驱动程序在 Hiberfil.sys 里。不加载文件系统驱动,Windows 就无法读取 Hiberfil.sys;不读取 Hiberfil.sys,Windows 就无法加载文件系统驱动。
无法修改 Hiberfil.sys 的所在位置是 Windows 7 减小 Hiberfil.sys 的原因之一;提高 Hiberfil.sys 的文件利用率是减小 Hiberfil.sys 的另一个原因。随着计算机物理内存容量越来越大,多数计算机都有相当一部分物理内存处于空闲状态,并非每次休眠都有完全等同于物理内存容量的内存数据需要保存为 Hiberfil.sys。在早期版本的 Windows 中,尽管 Hiberfil.sys 的大小始终等同于物理内存大小,但 Windows 每次休眠时也并没有从头到脚地更新 Hiberfil.sys 的所有内容。换言之,早期版本的 Windows 的 Hiberfil.sys 存在着没有充分利用的浪费的空间。
为了节省系统分区的硬盘空间,Windows 7 在计算机转入休眠之前,可以将内存数据进行 0-50% 比率的压缩,从而将 Hiberfil.sys 减小为物理内存大小的 50%-100%。这个百分比可以通过 POWERCFG 命令配合 -H -SIZE
参数进行设置。
首先要用管理员身份打开命令提示符
操作顺序如下。开始,附件,命令提示符,右键,管理员方式 打开。
比如在物理内存容量 4GB 的 Windows 7 计算机中,如果以管理员权限执行命令:
powercfg -h -size 70
即可将这台计算机的 C:\Hiberfil.sys 减小为 2GB 的 70%,即 2.8GB。
在默认的系统设置中,Windows 7 使用物理内存容量的 75% 做为 Hiberfil.sys 默认的文件大小,这是 Windows 开发团队在评估了大多数计算机的物理内存容量与内存空间占用后设置的平衡值。百分比设置得太大,容易造成系统分区空间浪费;百分比设置得太小,也可能因为 Hiberfil.sys 空间不足引起休眠失败。如果我们在 Windows 7 中执行休眠时遇到如下故障代码的蓝屏,即表明当前 Hiberfil.sys 设置得太小了:
STOP:0x000000A0 INTERNAL_POWER_ERROR
参数 1
参数 2
参数 3
(参数 1 始终为 0x0000000B、参数 2 是 Hiberfil.sys 大小的字节数、参数 3 是无法被压缩并写入 Hiberfil.sys 的剩余的内存数据字节数)
此时,我们必须放弃失败的休眠,以正常模式重新启动 Windows 7,然后重新设置 Hiberfil.sys 的大小。
我们在 Windows 7 中可以根据自己计算机的实际情况,通过 POWERCFG -H -SIZE
设置合适的 Hiberfil.sys 大小。如果计算机内存容量不大或硬盘容量很大,不在乎几百 MB 至 1GB 的空间开销,我们可以将 Hiberfil.sys 设置为物理内存容量的 100%,这样 Windows 7 可以省去压缩内存数据的步骤;如果计算机内存容量很大或系统分区可用空间非常紧张,可以将 Hiberfil.sys 设置为更小的物理内存容量百分比,但要小心 Hiberfil.sys 设置得太小可能会存在休眠失败的风险。对于大部分的普通用户而言,如果我们不确定应该如何设置 Hiberfil.sys 的大小,保持 Windows 7 默认设置的 Hiberfil.sys 为物理内存容量的 75% 即可。
如何删除Hiberfil.sys文件?
首先要用管理员身份打开命令提示符
操作顺序如下。开始,附件,命令提示符,右键,管理员方式 打开。
命令窗口中输入 powercfg -h off,即可关闭休眠功能,同时 Hiberfil.sys 文件也会自动删除。
开启休眠功能:在cmd 命令窗口中输入 powercfg -h on ,就能开启休眠功能。
到此为止,您学会了吗?
回复

使用道具 举报

19#
发表于 2023-12-17 22:03:21 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

20#
发表于 2023-12-31 23:49:20 | 只看该作者
感谢分享
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-29 02:58

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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