无忧启动论坛

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

[原创] 为VHD系统正名,开机启动慢的原因终于找到了。

    [复制链接]
跳转到指定楼层
1#
发表于 2024-8-25 12:44:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 baby1277 于 2024-8-26 21:59 编辑

最近的写了个VHD开机还原脚本,http://bbs.wuyou.net/forum.php?m ... 1158&extra=page%3D1

刚开始时没有发现有多大的问题,但后来就发现不对劲了,越到后面使用bcdedit /import 命令时系统直接假死20秒左右。

我一直觉得是bootmgr和系统版本兼容性的问题,也没有纠结,待有时间解决再这个问题。同时也发现开机时间也是越来越长

电脑买回来的时候很高兴特意用秒表测了下,从按开机键到显示桌面一共用了20秒,但自从使用了VHD系统后开机的时间

是越来越长用分钟起步,刚开始是一分钟,慢慢变成两分钟,直到现在开机已经用时三分钟了,实在受不了,于是我重新分区

使用U盘运行Setup.exe安装还是无济于事,开机还是三分钟,我甚至怀疑是我的SSD坏了遇到了奸商,但硬件检查没有问题

我再回头研究下发现一个奇怪的问题,就是我的BCD文件出奇的大  700KB左右, 这个文件我是看着它慢慢的变大。

我记得刚刚接触VHD系统时BCD只有36KB,所以我就怀疑开机速度和BCD文件的大小有关系。

于是我在PE下把ESP分区格式化后修复引导后查看BCD文件只有20KB 然后重启系统查看BCD文件居然又回到了700KB

开机的时间还是三分钟,这时我就怀疑ESP上的BCD文件肯定不是原件,而是副本,正本应该存在于主板上一个独立存储芯片。

我为什么这样怀疑,原因是每次开机是主机都会发出一种呲呲的声音,我猜是在读取或者写入这个独立存储芯片。

因为固态硬盘运行时一般不会发出声音的,而且我每次运行bcdedit命令时也会发出这种呲呲的声音,则更加确定的我想法。

直到我在 UEFI启动区 看得这篇文章http://bbs.wuyou.net/forum.php?m ... 1710&extra=page%3D1

才验证了我的想法,原来它有个名称叫:NVRAM   (非易失性随机访问存储)

我怀疑UEFI的工作原理是:当发现bcd和NVRAM不一样时   把bcd增量到NVRAM  然后再同步到ESP分区

我们可以理解为NVRAM为增量正本     bcd为副本     问题就出在这个NVRAM上,这个家伙只会变大不会变小,

BCD文件中包含你每次磁盘硬件引导信息,例如我使用了一次U盘启动系统,BCD文件就会添加一项  固件应用程序

这个U盘的固件应用程序是一次性,用完一次后就像垃圾一样留在BCD文件里面,然后就保存到NVRAM上。

打开cmd控制台执行 bcdedit /enum FIRMWARE  我们就可以发现U盘固件应用程序每次都不一样。上次使用的也留在。

我先查看下BCD文件大小,然后使用U盘启动一次系统,再看下BCD文件的大小,果然BCD文件又增加了几个字节。

这就是我的BCD文件越来越大的原因    频繁的使用U盘启动PE系统 在三个月的时间内原先36KB变成700KB

每次使用U盘添加的固件应用程序信息会不断的保存到NVRAM 所以使用U盘启动PE系统的次数越多开机就越慢 这就是真相

VHD系统的使用U盘启动PE的次数比本地磁盘系统的次数多   开机相对慢也是大概率的事情,VHD系统开机慢就变成事实。

所以我要为VHD系统正名:VHD系统开机不慢 微软只是背锅侠,世界500强的主板厂商才是罪魁祸首。

知道了原理的就想着如何删除NVRAM和BCD中的固件应用程序,这样就能减小BCD文件的大小,回到以前的开机速度。

由于我过于频繁使用U盘启动系统,导出的TXT文件足足有5000多行  一个固件应用程序占用5行,也有1000多个啊

于是写了个脚本运行了70分钟,期间CPU占用30%  风扇疯狂的转,也是无语的很。

重启系统后开机时间用了20秒   心中激动坏了,电脑终于恢复了,和刚买回来的一样。

重新试了下bcdedit /import 命令也不卡了 ,看了下BCD文件恢复为36KB大小。

困扰许久问题终于可以解决,开机还原的脚本又重新安排上岗了。




以下我使用到的脚本,创作不易希望大家回帖支持一波!

我的bcd文件.rar (116.32 KB, 下载次数: 85) 删除BCD和NVRAM中无效的固件对象.rar (494 Bytes, 下载次数: 180)

点评

支持原创  发表于 2024-8-25 12:57

评分

参与人数 8无忧币 +36 收起 理由
snakegao + 5 赞一个!
lbw2007 + 5 支持
879792799 + 5 人才啊 好犀利眼神!
新空气 + 5 赞一个!
zlq_hysy + 3 支持爱钻研的人
likeyouli + 5 既然要分就给你分,省的再说我..
l3429900 + 3 很给力! 恭喜成功,谢谢分享
yyz2191958 + 5 赞一个!

查看全部评分

2#
 楼主| 发表于 2024-8-25 12:45:02 | 只看该作者
本帖最后由 baby1277 于 2024-8-26 22:07 编辑

但愿我的情况是少数情况,如果开机时间慢的话也自查下BCD文件的大小。
回复

使用道具 举报

3#
发表于 2024-8-25 12:56:31 | 只看该作者
回复看看
回复

使用道具 举报

4#
发表于 2024-8-25 13:07:30 | 只看该作者
看看,多个参考
回复

使用道具 举报

5#
发表于 2024-8-25 13:19:19 | 只看该作者
支持baby1277
回复

使用道具 举报

6#
发表于 2024-8-25 13:21:50 | 只看该作者
支持原创
回复

使用道具 举报

7#
发表于 2024-8-25 13:24:05 | 只看该作者
宝贵经验,值得学习和借鉴
回复

使用道具 举报

8#
发表于 2024-8-25 13:25:16 | 只看该作者
感谢分享,技术高手!是删除存在主板的文件?还是引导文件?

点评

bcdedit命令可以直接删除主板上NVRAM的文件  详情 回复 发表于 2024-8-25 13:29
回复

使用道具 举报

9#
 楼主| 发表于 2024-8-25 13:29:00 | 只看该作者
本帖最后由 baby1277 于 2024-8-25 13:31 编辑
2013ertert 发表于 2024-8-25 13:25
感谢分享,技术高手!是删除存在主板的文件?还是引导文件?

bcdedit命令可以直接编辑主板上NVRAM的文件
回复

使用道具 举报

10#
发表于 2024-8-25 13:38:59 | 只看该作者
为楼主点赞
回复

使用道具 举报

11#
发表于 2024-8-25 13:42:35 | 只看该作者
感谢分享吧,没碰到过这么变态的事情
回复

使用道具 举报

12#
发表于 2024-8-25 13:47:24 | 只看该作者
好文章,释疑性强
回复

使用道具 举报

13#
发表于 2024-8-25 13:51:42 | 只看该作者
为VHD系统正名
回复

使用道具 举报

14#
发表于 2024-8-25 14:06:14 | 只看该作者
学习学习
回复

使用道具 举报

15#
发表于 2024-8-25 14:06:31 | 只看该作者
回复

使用道具 举报

16#
发表于 2024-8-25 14:14:51 | 只看该作者
学习学习,谢谢!
回复

使用道具 举报

17#
发表于 2024-8-25 14:35:32 | 只看该作者
学习一下!
回复

使用道具 举报

18#
发表于 2024-8-25 14:45:23 | 只看该作者
佩服楼主的钻研精神
回复

使用道具 举报

19#
发表于 2024-8-25 14:49:41 | 只看该作者
感谢分享
回复

使用道具 举报

20#
发表于 2024-8-25 14:58:00 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

21#
发表于 2024-8-25 15:00:46 | 只看该作者

回复看看
回复

使用道具 举报

22#
发表于 2024-8-25 15:10:25 | 只看该作者
支持原创.为你点赞
回复

使用道具 举报

23#
发表于 2024-8-25 15:13:33 | 只看该作者

支持原创
回复

使用道具 举报

24#
发表于 2024-8-25 15:26:57 | 只看该作者
为VHD系统正名,开机启动慢的原因终于找到了。感谢分享!
回复

使用道具 举报

25#
发表于 2024-8-25 15:30:15 | 只看该作者
佩服楼主的钻研精神
回复

使用道具 举报

26#
发表于 2024-8-25 15:38:44 | 只看该作者
支持楼主的钻研精神
回复

使用道具 举报

27#
发表于 2024-8-25 15:42:40 | 只看该作者
本帖最后由 likeyouli 于 2024-8-25 16:04 编辑

看看隐藏再说,,   以下为啥我也不知道,大家都看楼主...
@echo off
:: 删除BCD和NVRAM中无效的固件对象 (baby1277)
for /f "delims=" %%i in ('bcdedit /enum FIRMWARE^|find "标识符"^|findstr /i /v "bootmgr default current"') do for /f "tokens=2" %%a in ('echo %%i') do bcdedit /delete  %%a
解析一下 :         bcdedit /enum FIRMWARE|find "标识符"|findstr /i /v "bootmgr default current"  : 貌似输出不含"bootmgr default current"的,也就是后边的  ('echo %%i')的内容,我的电脑输出完为这样:
标识符                  {1dd104f1-0c3a-11ef-8634-806e6f6e6963}
标识符                  {1dd104f2-0c3a-11ef-8634-806e6f6e6963}
标识符                  {4726f0c4-0477-11ef-9ad6-806e6f6e6963}
标识符                  {4b950bd6-5d4e-11ef-8655-806e6f6e6963}
标识符                  {67107b64-5d6a-11ef-8658-806e6f6e6963}
标识符                  {67107b65-5d6a-11ef-8658-806e6f6e6963}
标识符                  {67107b66-5d6a-11ef-8658-806e6f6e6963}
标识符                  {d758d7a0-5d45-11ef-8651-806e6f6e6963}
标识符                  {d758d7a2-5d45-11ef-8651-806e6f6e6963}
标识符                  {d758d7a3-5d45-11ef-8651-806e6f6e6963}
   然后再用do for /f "tokens=2" %%a in, 提取到{}里的内容,也就是把前边的标识符几个字截去掉,最后再用 do bcdedit /delete  %%a 删除。
       如有解析错误,在所难免,敬请指正。



点评

对,是这个解释。 bcdedit /enum FIRMWARE|find "标识符"|findstr /i /v "bootmgr default current" 输出包含 “标识符” 但不包含 "bootmgr default current" 上个字样的内容 然后用 for /f "tokens=2" %%a  详情 回复 发表于 2024-8-25 16:15
我改了一下描述。放心就行,看到这里的人也不知道是啥,论坛里很多大神,不会因为我这样做影响你出名成为众人仰慕的大神的。  发表于 2024-8-25 16:07
请尊重下原创作者,论坛上很反感这种行为。这是忌讳,最好不要做。  发表于 2024-8-25 15:54
回复

使用道具 举报

28#
发表于 2024-8-25 15:46:46 | 只看该作者
回复

使用道具 举报

29#
发表于 2024-8-25 16:13:20 | 只看该作者
赶紧看了下自己的,电脑和U盘上的BCD文件没有增大。
嗯,还未曾遇到过LZ这样的问题。
回复

使用道具 举报

30#
 楼主| 发表于 2024-8-25 16:15:21 | 只看该作者
likeyouli 发表于 2024-8-25 15:42
看看隐藏再说,,   以下为啥我也不知道,大家都看楼主...
@echo off
:: 删除BCD和NVRAM中无效 ...

对,是这个解释。
bcdedit /enum FIRMWARE|find "标识符"|findstr /i /v "bootmgr default current"
输出包含 “标识符”  但不包含 "bootmgr default current" 三个字样的内容
然后用 for /f "tokens=2" %%a in () 截取第二行 do  bcdedit /delete  %%a

点评

我是论坛的无名小卒,,你放心就行,你帮了别人,别人肯定会记住你的,尤其你前边还有一大段解释。只要你有技术,又愿意分享,记住你是早晚的事。任何人都搅不了你的局。2年来,我都记住论坛上好几个人了,他们帮了  详情 回复 发表于 2024-8-25 16:23
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-1 14:18

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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