蒙自零度科技_游游网

给Win10重新装上“磁盘碎片整理”组件,修复精简系统压缩卷功能

蒙自零度科技_游游网 https://www.hhtc.cc 2021-07-24 23:11 出处:原创 作者:skyyx2002编辑:@skyyx2002
技术在于折腾,越折腾懂得越多!

注意:文章较长,因为较详细的讲解了整个解决过程和思路!如果你对这些不感兴趣,仅仅是想要给Win10重新装上“磁盘碎片整理”组件,修复精简系统压缩卷功能,那么直接拉到文章底部去下载即可!


      前两天,手上维护的一家网吧买了两台很新的电脑,主板是华硕的TUF GAMING B560M-PLUS..

根据以往的经验,新平台上个Win7装一下USB驱动,或者直接上个Win10就可以了

但是呢,这个机子就是不行,无论Win7还是Win10,启动到一半要么蓝屏要么卡死!

百度了一会,基本上是说需要UEFI模式启动才行。但是呢,这个模式之前我从未在网吧客户机上用过,也没有做过这种UEFI的包,

只依稀记得网维大师的官网有一个“UEFI镜像转换工具”。

然后我就去把这个工具下载了下来,结果发现这个工具并不是在服务器上挂载使用,而是要在超级工作站中使用的。。

但是现在客户机连系统都进不去,显然是开不了超级的(其实也可以开,在一个正常的配置里开启超级工作站,然后转换就行)

网吧其它机器都使用的是Win7,也省得麻烦,所以我就找了一个ACPI的改版文件,替换了Win7的原文件,先让这两台新机器能正常运行。。

画一下重点:像B560M这么新的主板,如果启不了无盘系统,解决方法1:Win7环境可以使用修改版的acpi.sys替换原文件即可!为什么Win10不用?因为我没找到Win10的改版acpi.sys..


机器弄好了,但是呢网吧老板还是有点想用Win10!所以回到家之后,打算把Win10的包转换一下,转成支持UEFI(其实不需要转换也可以支持,但是技术在于折腾嘛,越折腾懂的越多..)。

结果,运行顺网的转换工具,却出错了,如图:

给Win10重新装上“磁盘碎片整理”组件,修复精简系统压缩卷功能

为什么会这样?有点懵..

于是我使用了一些工具进行监测,发现“UEFI镜像转换工具”在转换的时候,会调用diskpart.exe这个命令(Windows磁盘管理命令工具)

我推测它是调用diskpart这个命令来创建一个新的分区,然后这个命令执行的时候,不知道遇上了什么不可描述的事情,失败了。。

我想还是先搞清楚“UEFI镜像转换工具”这个工具,大概工作原理再来分析比较好。


于是,我使用VMWARE(虚拟机)安装了一个全新的、未精简优化的Win7系统。为什么装Win7?

因为Win7和Win10像diskpart这类命令工具基本差不多,推测并不会影响测试结果!

而Win7比较小,没那么占磁盘空间,安装起来也比较快,所以选择安装Win7!

装好后,使用“UEFI镜像转换工具”进行转换,很快就成功的完成了!

看了一下磁盘管理,原本的C盘被分出一个500M的EFI分区,里面有UEFI启动所需的文件。。

“UEFI镜像转换工具”工具的大致工作原理也就清楚了:

1、调用diskpart命令创建一个500M的EFI分区

2、往EFI分区中写入UEFI启动所需文件

3、导入注册表


而前面的出错,是在第1步创建EFI分区这里就失败了(出错之后,磁盘管理里可以看到,并没有多出一个分区)。

显然,问题出在diskpart这个命令!

回到出错的系统中,我手动打入了如下命令:

diskpart

sel disk 0

sel vol 0

shrink desired=500

上面的命令是什么作用?

sel disk 0 表示选择系统中的第一块硬盘作为操作对象(这条命令可以不打,只是我习惯性的输入)

sel vol 0 表示选择系统中的第一个卷作为操作对象

shrink desired=500 表示在当前选择的卷上,减少500M的空间(这些空间会成为未分配,可以用于创建分区)。

结果。。像这样:

给Win10重新装上“磁盘碎片整理”组件,修复精简系统压缩卷功能

命令执行之后豪无反映!看磁盘管理里也没有多出“未分配”的空间。问题更明确了,就是出在这个环节。。

但是,没有任何的提示!系统的日志里也没有任何的错误提示!有点懵..


我想了想,原版的系统里是正常的,而我的系统是经过精简、优化的!那么问题肯定就出在精简、优化上了。。

打开精简工具,找了一下,果然找到了:

给Win10重新装上“磁盘碎片整理”组件,修复精简系统压缩卷功能

精简工具里直接就写明了,卷缩放功能依赖于“磁盘碎片整理”这个组件!

那么,解决的方法就简单了?

解决方法:重新精简,保留“磁盘碎片整理”这个组件

这样当然是可以解决!但是这意味着我需要重新精简、安装、优化、打包。。

这种没有技术难度,但是重复的工作,会让我觉得愚蠢且无聊!

本着:技术在于折腾,越折腾懂得越多的宗旨!我决定给出错的系统,重新加上“磁盘碎片整理”这个组件!!

当然,本着能躺着就不站着的原则,首先还是百度了一番。。

结果另人意外,百度上居然找不到重新加入“磁盘碎片整理”组件的方法!!

我想,大概是遇到这个问题的人,都选择了重新精简、安装、优化、打包。。


百度没有,那就自己来吧,多大点事?

Win7、Win10组件安装相关的东西,之前并没有研究过,但是XP、2003我是研究过不少的。。

根据XP时代的经验,系统组件一般是一个.inf的配置文件 + 一些exe、DLL文件。

配置文件中往往会标明这些文件最终将被放在哪个目录,将会写入哪些注册表。。

但是在Win10的安装文件里,我却没有找到.inf的配置文件,当然组件所需要的exe、dll等文件是有的。看来和XP的配置方式不太一样

这些文件是怎么提取的?很简单,通过对比!

1、使用精简工具,只精简“磁盘碎片整理”这个组件

2、将原版的和精简后的install.wim文件解压到不同目录

3、对比这两个目录中的不同


我想,直接把提取出来的这些文件放到相应的系统目录中,会不会就可以了?

试了一下,不行。。

当然,验证“压缩卷”这个功能正不正常,不用shrink desired=500这个命令也行,我们可以在磁盘管理中点击右键,选择“压缩卷”,如图:

给Win10重新装上“磁盘碎片整理”组件,修复精简系统压缩卷功能

如果跳出错误提示,那肯定是不正常的:

给Win10重新装上“磁盘碎片整理”组件,修复精简系统压缩卷功能


根据我的认知,一个系统程序用不了,如果需要的文件都有了,那最大的可能是因为缺少相关的注册表!

注册表要去哪里搞?说起来很简单,从一个正常的系统中提取出来即可。做起来呢?其实还是有点麻烦的。。

注册表的内容何其多!要想找出相关的注册表,常用两种方法:

1、根据文件名猜测性搜索

2、使用ProcessMonitor这类的工具进行监测、分析

我选择了第一种方法,因为第二种方法所需的时间和精力往往更多!

“磁盘碎片整理”功能的主要程序有两个,一个是defrag.exe、另一个是dfrgui.exe

所以,我搜索并导出了几乎所有和这两个名称有关的注册表键值(搜索的时候不要加.exe)!

为什么是导出了几乎所有,而不是导出了所有?因为根据我的经验,某些键值仅是系统的操作记录或者缓存记录,并不需要导出!

结果导出了多少的键值呢?随便看看:

给Win10重新装上“磁盘碎片整理”组件,修复精简系统压缩卷功能

不多不多,也就几十个而已...

有几个好像重复了,我比较懒,懒得去整理。。毕竟,只是导入几个重复的文件,没有任何影响

另外说一下,这些注册表我是从Win11里导出的!对,你没有看错,是从Win11里导出的!

为什么不从Win10导出?因为Win10和Win11其实是相同的内核,Win11可以看做是更新版本的Win10,像磁盘碎片整理这种几年不需要改动的组件,基本不会有变化!

而我研究的时候,用的是Win11,也就直接导出了。


将提取出来的所有注册表和文件,导入到出错的系统里。。

你要一个一个的导入注册表我没意见,如果觉得这样子太愚蠢了,那我们还是使用批处理吧!

当然,我的包里有这个批处理,可以直接点击。至于包嘛,拉到文章最下方去下载即可。

但是批处理的内容我仍写出来:for %%s in (*.reg) do reg import %%s


再次点击“压缩卷”功能,提示变得不同了!

好像是提示什么服务未找到,还是未运行什么的,好吧,忘记截图了-_-

根据经验,某些注册表导入之后,是需要重启才会生效的。。

于是重启,再次点击,久违的界面出现了:

给Win10重新装上“磁盘碎片整理”组件,修复精简系统压缩卷功能

shrink desired=500这个命令能用了吗?可以了

UEFI镜像转换工具”工具能用了吗?也可以了。。


至此,问题解决。。

那么文件去哪里下载,当然是这里:

Win10磁盘碎片整理组件,链接:https://pan.baidu.com/s/1cY791OZADRc5lNnWRqEKtg  提取码:v6nw 


skyyx2002  2021.07.25  原创不易,转载请注明出处!


0
×
给作者送弹药
¥1 ,用微信支付更换
立即支付
×

微信扫码支付

赞赏金额:¥2

精彩评论

暂无评论...
验证码 换一张
取 消