news 2026/10/28 9:13:41

UEFI开机图标替换实战:HackBGRT安装、配置与救砖

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
UEFI开机图标替换实战:HackBGRT安装、配置与救砖

简介:HackBGRT-1.5.1 是一款面向 Windows 10 用户的开机 LOGO 定制工具包,适合希望替换默认启动图标、进行系统个性化设置的普通用户,也适合想研究 BGRT 修改与 EFI 程序实现的开发者。压缩包共 20 个文件,约 73KB,包含 C/C++ 源码、头文件、C# 脚本、Makefile、配置文件、splash.bmp 示例图以及 README、CHANGELOG 等说明文档,兼顾直接使用与源码阅读。已有 4785 人学习或浏览,具备一定参考热度。其价值在于把开机图标替换所需的程序、配置样例和构建线索集中在一起,读者可据此了解 BGRT 图像规格、配置项含义与 EFI 应用的组织方式,并借助示例图快速验证个性化效果;同时源码结构清晰,便于按模块查阅和二次调整。

1. 开机图标换不掉,卡住的多半是 UEFI 引导链

开机图标这事,很多人第一次动手都会栽在同一处:把一张 PNG 改名成 splash.bmp 丢进 EFI 分区,重启后既没有新图,也没有旧图,屏幕就黑在那里,硬盘灯都不闪。换开机画面看着是换一张图,实际动的是 UEFI 引导链上的第一环,少写一个反斜杠就进不去系统。HackBGRT 1.5.1 干的就是这件事:它把自己插在固件和 Windows 之间,先画你的图,再把控制权交回去。适合想把开机图标换成自己作品的折腾党,也适合要给一批机器统一开机画面的装机场景。下面按我实际装的顺序写:先体检固件环境,再解压安装,然后调 config.txt,最后验证和救砖。

2. 装前体检:UEFI 模式、Secure Boot 与 EFI 分区三件事

动手之前先把三项查清楚,比装到一半发现是 Legacy 引导要省事得多。HackBGRT 是一个 x64 的 EFI 应用,它只能跑在 UEFI 引导的机器上,而且因为二进制没有微软签名,Secure Boot 必须处于关闭状态。这两条不满足,后面的步骤全白做。

2.1 用三条命令确认固件模式和 Secure Boot

不要靠“我印象里是 UEFI”来判断,直接查。下面三条命令都在管理员权限的 PowerShell 里跑,输出结果比任何猜测都可靠:

# 1) 看当前系统的引导器路径:winload.efi 是 UEFI,winload.exe 是 Legacy bcdedit /enum "{current}" # 2) 查 Secure Boot 状态:返回 True 表示开着,必须去固件里关掉 Confirm-SecureBootUEFI # 3) 看系统盘的分区表类型:PartitionStyle 应该是 GPT Get-Disk | Where-Object IsBoot -eq $true | Select-Object Number,FriendlyName,PartitionStyle

第一条命令里{current}一定要加引号,PowerShell 会把花括号当成脚本块解析,不加引号会直接报语法错误,这是个新手经常踩到的小问题。输出的path一行如果是\WINDOWS\system32\winload.efi,说明固件走的是 UEFI;如果是.exe结尾,那就是 Legacy/CSM 模式,先去固件里把启动模式改成 UEFI Only 再回来。第二条命令在 Legacy 机器上会直接抛异常,这本身就是一种判断依据。第三条的PartitionStyle必须是 GPT,MBR 磁盘的机器没法用这套流程。

Secure Boot 的开关在固件设置里,不同主板位置不一样,常见做法是进 Setup 之后找 Security、Authentication 或者 Boot 页签下的 Secure Boot 项,改成 Disabled。有些品牌机要求先设一个 supervisor password 才允许改这一项,改完记得把密码清掉,不然下次进 BIOS 还要输。

提示:Secure Boot 关掉之后系统安全性会下降一档,如果这台机器不是自己折腾用的,装完最好评估一下要不要长期保持关闭。

2.2 挂载 EFI 分区:mountvol 比盘符分配干净

HackBGRT 的文件最终要落到 EFI 系统分区(ESP)里,这个分区默认没有盘符,资源管理器里看不到。挂载方式我一般用mountvol,它给的是卷挂载点,不会在“我的电脑”里留一个多余的可移动盘:

:: 把 EFI 系统分区挂到 S:(S 只是举例,别用已经被占用的盘符) mountvol S: /S :: 看一眼目录结构,正常应该能看到 EFI 文件夹 dir S:\EFI :: 用完必须卸载,不然重启后挂载点可能残留 mountvol S: /D

/S参数的意思是挂载系统 EFI 分区,不是任意一个 FAT32 分区,这一点很关键——手动挂错分区往里写文件,轻则无效重则破坏别的引导器。ESP 一般只有 100MB 到 300MB,格式是 FAT32,所以别往里塞几十兆的大图,也别在里面建文件夹结构特别深的东西。所有复制操作都要在管理员权限下做,普通权限往 ESP 写文件会被直接拒绝,报“拒绝访问”的时候先想想是不是忘了提权。

如果mountvol S: /S提示找不到分区或者参数无效,基本可以断定这台机器不是 UEFI 引导,回到 2.1 重新确认。

2.3 快速启动、BitLocker 和系统版本这三个前置开关

这三项不处理,装完很可能出现“图没出来”或者“进不去系统”的假故障,浪费一晚上。

快速启动(Fast Startup)是混合休眠机制,关机时把内核状态写进 hiberfil.sys,下次开机走的是恢复路径而不是完整引导。这条路走得快,但第一屏的画面会被固件 Logo 占据更久,HackBGRT 画的那张图可能一闪而过甚至完全不出现。我一般直接关掉:

:: 关闭休眠,同时也会关掉快速启动 powercfg /h off :: 只想关快速启动、保留休眠的话,改注册表这一项 reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /v HiberbootEnabled /t REG_DWORD /d 0 /f

第一条命令的影响是休眠功能没了、C 盘根目录的 hiberfil.sys 会被删掉,换回来的是几十 GB 空间和一条干净的引导路径,我觉得划算。如果要留休眠,就用第二条,只把 HiberbootEnabled 改成 0,重启后生效。

BitLocker 是最容易被忽略的一项。修改引导文件属于启动配置变更,开了 BitLocker 的机器下次开机大概率直接跳恢复界面,要输 48 位恢复密钥。装之前先挂起保护:

:: 先看加密状态,Percentage Encrypted 和 Protection Status 都要留意 manage-bde -status C: :: 挂起保护,重启两次后自动恢复 manage-bde -protectors -disable C: -RebootCount 2

-RebootCount 2表示两次重启之后自动重新启用保护,这个参数比手动 enable/disable 安全,不会因为忘了开回来一直裸奔。如果你不确定要重启几次,宁可填大一点,验证完再手动跑一次manage-bde -protectors -enable C:。

系统版本方面,Windows 10 和 Windows 11 的 x64 版本都能用,ARM64 的机器不行——HackBGRT 是 x64 的 EFI 二进制,架构对不上,放上去也不会被加载。

3. 落地安装:HackBGRT 1.5.1 解压、Setup.exe 与手动替换两条路

环境查完就可以动文件了。HackBGRT 1.5.1 的压缩包解开之后文件不多,但有两条安装路线:一条是官方给的图形化安装器,省事;一条是手动铺文件加改 BCD,可控。两条路我都走过,下面分别说清楚它们到底改了什么。

3.1 压缩包里真正会用到的文件

解压之后先认一遍文件,别一上来就双击:

文件作用要不要动
HackBGRT.efi实际被固件加载的 EFI 应用,负责画图并转交控制权不改名、不编辑
Setup.exe图形化安装/卸载器,会把上面几个文件铺到 ESP 并处理引导以管理员身份运行
config.txt引导路径、图片名、菜单超时等参数要按机器改
splash.bmp示例开机图,可直接替换换成自己的
README 之类的说明文件参数注释和版本说明看一眼就够

解压路径有两个雷:一是别放在中文目录或者带空格的深层路径下,Setup.exe 读取同目录文件时偶尔会出问题;二是别放在 OneDrive 之类的同步目录里,同步进程会在你安装的时候锁文件。我一般解到C:\temp\hackbgrt\这种朴素路径下再操作。

3.2 Setup.exe 装了什么:一次安装的四个动作

右键 Setup.exe 选“以管理员身份运行”,界面很简单,选图片、点 Install 就完事。但它背后做的事值得说清楚,因为出问题时你需要知道去哪找回来:

第一,挂载 EFI 系统分区;第二,在 ESP 上创建\EFI\HackBGRT\目录,把HackBGRT.efi、config.txt、splash.bmp复制进去;第三,把原来的\EFI\Microsoft\Boot\bootmgfw.efi备份成同目录下形如bootmgfw.efi.hackbgrt.bak的文件,然后用自己接管这个位置;第四,写入或调整对应的引导入口,让固件在开机时先加载 HackBGRT。加载完成之后,HackBGRT 再按照配置里的路径去链式加载原始的bootmgfw.efi,Windows 才真正开始启动。

装完别急着重启,先核对一遍落地结果:

mountvol S: /S :: 这四个文件应该在,缺哪个说明复制失败 dir S:\EFI\HackBGRT :: 原始引导器和它的备份都应该在,备份文件大小要跟原文件一致 dir S:\EFI\Microsoft\Boot\bootmgfw.efi* mountvol S: /D

如果\EFI\HackBGRT\里只看到 efi 没有 config.txt,说明安装器没跑完或者中途被杀软拦了,重跑一次;如果备份文件大小是 0 或者干脆不存在,千万别重启,这时候引导链是断的。

注意:装之前把杀毒软件的实时防护临时关一下,EFI 分区写入和引导项修改这两个动作很容易被当成可疑行为拦下来,拦一半的后果比完全不装更麻烦。

3.3 手动路线:不动 bootmgfw.efi,只改 BCD 路径

图形安装器方便,但它会覆盖原始引导文件,出问题时恢复要靠备份文件。我更喜欢另一条路:原厂文件一个字节都不动,只把固件引导管理器指向的路径改掉。这样卸载就是改回来一行命令的事。

:: 0) 先导出 BCD 做后悔药,出问题可以整份还原 bcdedit /export C:\bcd_backup_20250101 :: 1) 挂载 ESP,铺文件到独立目录 mountvol S: /S mkdir S:\EFI\HackBGRT copy /Y HackBGRT.efi S:\EFI\HackBGRT\ copy /Y config.txt S:\EFI\HackBGRT\ copy /Y splash.bmp S:\EFI\HackBGRT\ :: 2) 把固件引导管理器的执行路径指向 HackBGRT bcdedit /set "{bootmgr}" path \EFI\HackBGRT\HackBGRT.efi :: 3) 确认写进去了 bcdedit /enum "{bootmgr}" :: 4) 卸载挂载点 mountvol S: /D

几个参数单独说一下。{bootmgr}指的是固件层的 Windows 启动管理器条目,不是某个具体系统;path是它要加载的 EFI 应用路径,相对 ESP 根目录,开头必须带反斜杠,不能写成S:\...这种带盘符的形式。bcdedit /export导出的是一个完整 BCD 存储,救砖的时候用bcdedit /import C:\bcd_backup_20250101整份还原,比一条条改回来快得多。

还原成原样:

bcdedit /set "{bootmgr}" path \EFI\Microsoft\Boot\bootmgfw.efi

这条路子的代价是:Windows 大版本更新有时会把{bootmgr}的 path 重置回默认值,图标就没了。所以如果你选手动路线,把上面那两行bcdedit /set存成一个fix-logo.cmd放桌面上,更新完跑一次,比重新装一遍省事。

4. 配置 config.txt:图片规格、缩放位置与链式加载路径

装上去只是第一步,画面出来得对不对,全看图和配置。我见过最多的翻车不是安装失败,而是装成功了但图被拉成一团、颜色发紫,或者干脆一片纯色。

4.1 splash.bmp 的硬性规格:24 位、无压缩、贴合屏幕

UEFI 里的 BMP 解析器不像 Windows 的那么宽容,它基本只认最朴素的那种 BMP:24 位真彩色、无压缩。带调色板的 8 位图、带 alpha 通道的 32 位图、用了 RLE 压缩的图,都可能解析成花屏或者干脆画不出来。尺寸上,直接按屏幕原生分辨率出图,别指望它帮你缩放——缩放逻辑在不同固件上表现不一致,有的居中有的拉伸。

ImageMagick 一条命令就能出合格的图:

magick input.png \ -resize 1920x1080^ \ -gravity center \ -extent 1920x1080 \ -type TrueColor \ BMP3:splash.bmp

-resize 1920x1080^里的^表示按短边填满,保证图能盖住整个画面不留黑边;-gravity center -extent 1920x1080是把溢出部分居中裁掉,得到精确的 1920×1080;-type TrueColor强制转成 24 位;BMP3:这个前缀是关键,它指定输出 BMP 第三版格式,也就是最经典的未压缩 24 位结构,不加这个前缀 ImageMagick 有可能按别的变体写文件。

出图之后验一下位深,别只看文件名:

# 读位深、尺寸和像素格式,正常应该是 Format24bppRgb Add-Type -AssemblyName System.Drawing $img = [System.Drawing.Image]::FromFile("C:\temp\splash.bmp") "{0}x{1} {2}" -f $img.Width, $img.Height, $img.PixelFormat $img.Dispose()

输出里如果出现Format32bppArgb或者Format8bppIndexed,回去重新导出。图片文件体积控制在几兆以内,ESP 只有一百来兆,塞一张 4K 的未压缩 BMP 会直接把分区写满,后面的文件就复制不进去了。

4.2 config.txt 逐项过一遍

config.txt在\EFI\HackBGRT\目录下,跟HackBGRT.efi同级。格式很简单,#开头是注释,键=值,等号两边不留空格。一份能跑的单系统配置大概长这样:

# \EFI\HackBGRT\config.txt # 路径一律相对 ESP 根目录,用反斜杠,开头不能少 # 被接管的原始引导器,装在默认位置时就是这一条 Path=\EFI\Microsoft\Boot\bootmgfw.efi # 开机画面用的图片,相对 HackBGRT 目录 Image=splash.bmp # 是否挂在 Windows 启动管理器条目下引导,单系统填 1 BootManager=1 # 启动菜单停留秒数,单系统 0,双系统建议 3 BootManagerTimeout=0
参数常见取值改错的后果
Path\EFI\Microsoft\Boot\bootmgfw.efi写错或指向不存在的文件,HackBGRT 画完图之后找不到下一棒,黑屏停住
Imagesplash.bmp文件名对不上就退回默认画面,不会报错,很容易误判成没装上
BootManager1(走 Windows 启动管理器)/ 0(直接注册固件项)双系统下取 0 有可能绕过系统的引导菜单,另一个系统进不去
BootManagerTimeout0~5单系统填大了每次开机都要多等几秒,填 0 又可能来不及按方向键进菜单

关于缩放和画面位置,1.5.1 的config.txt里有一组控制画面摆放的项,但取值语义在不同小版本之间改过。我的做法是打开压缩包里那份带注释的 config.txt,照着它自己的注释改,而不是从别处抄一份配置贴过来——抄来的值大概率对不上这一版的解析逻辑。如果这份 config.txt 里压根没有某一项,说明这版不支持,硬加进去不会生效,还可能让解析器读到一半就停了。

改配置有个铁律:改完必须完整重启一次才算数,热重启不一定重新走固件加载流程。

4.3 多系统与双硬盘下 Path 怎么填

单系统没什么好纠结的,Path 指默认那条就行。多系统要注意三种情况。

同一块硬盘、同一个 ESP 上装了两个 Windows,它们共用\EFI\Microsoft\Boot\bootmgfw.efi,改完之后两个系统的开机图标都会变,包括它们各自的启动菜单背景。这种情况没法只改一个,接受就好。

两块硬盘各自有独立 ESP 的双系统,HackBGRT 只作用于你安装时所在的那个 ESP,另一个系统完全不受影响。但注意固件启动顺序里排在前面的是哪一条,如果默认从另一块盘引导,你改的那个 ESP 根本轮不到加载。

还有一种是 Linux 的 GRUB 在前、Windows 在后。HackBGRT 只挂在 Windows 启动管理器这条链上,从 GRUB 菜单跳进 Windows 的时候,加载的是 GRUB 转交的引导器,HackBGRT 那张图不会出现。想让图标生效,得让固件直接把 Windows Boot Manager 排在第一位。

5. 排错清单:黑屏、花屏、更新后失效与卸不干净

装完之后能正常开机的都不叫问题,真正麻烦的是那几种“看起来坏了但还能救”的状态。下面四条是我自己踩过或者帮人收拾过的,按现象、原因、解决分开写,遇到对应症状直接对号入座。

5.1 重启后黑屏,或者卡在厂商 Logo 不动

现象:按电源键之后,厂商 Logo 闪过,然后屏幕全黑,硬盘灯不闪,等十分钟也没动静,只能长按电源关机。

原因:HackBGRT.efi 被加载了,但它找不到Path指向的原始引导器。常见的是这几种:Path里少写了开头的反斜杠;指向的文件被改名或者删掉了;安装器把bootmgfw.efi替换成了自己却没留备份。FAT32 的路径解析对大小写不敏感,但对开头那个反斜杠很敏感,少了就直接解析失败。

解决:用 Windows 安装盘或者 PE U 盘启动,进命令提示符,先把路径改回默认值:

:: 把引导路径改回原厂值 bcdedit /set "{bootmgr}" path \EFI\Microsoft\Boot\bootmgfw.efi :: 确认改成功了再重启 bcdedit /enum "{bootmgr}"

如果原文件已经被替换掉了,挂载 ESP 之后把bootmgfw.efi.hackbgrt.bak复制回bootmgfw.efi再重启。这一步千万别顺序搞反,先恢复文件再改路径,否则改了路径也一样找不到。

5.2 图出来了,但被拉扁、错位或者一片花屏

现象:开机第一屏确实出现了自己的图,但比例不对,圆形的头像变成椭圆;或者画面右边一条彩色噪点,左边是正常的。

原因:图片不是 24 位未压缩 BMP。带 alpha 通道的 PNG 转出来的 BMP 是 32 位,固件按 24 位去读就会错位;8 位索引色图因为缺少调色板信息也会画成花屏。另一个原因是图片尺寸和屏幕原生分辨率差太多,固件按自己的规则硬缩放。

解决:用 4.1 里那条 ImageMagick 命令重新导出一份,BMP3:前缀和-type TrueColor都要带上,然后用 PowerShell 那段脚本确认PixelFormat是Format24bppRgb。尺寸统一改成屏幕原生分辨率,比如笔记本常见 1920×1080、2560×1600,台式机 2K 屏就出 2560×1440,别用 4K 图让它去缩。

5.3 一次系统更新之后,图标变回 Windows 默认

现象:某次重启之后开机画面又变回原版 logo,去 ESP 里看\EFI\HackBGRT\目录还在,文件也在。

原因:累积更新或者大版本升级会重写\EFI\Microsoft\Boot\下的引导文件和 BCD 存储,把{bootmgr}的 path 重置回默认值,或者直接把bootmgfw.efi覆盖回原厂版本。文件还在但没人调用了,就成了摆设。

解决:重跑一次 Setup.exe 的 Install,或者把 3.3 里那条bcdedit /set "{bootmgr}" path \EFI\HackBGRT\HackBGRT.efi再执行一遍。我现在的习惯是把这几条命令存成一个fix-logo.cmd,每次大更新之后跑一次,比重新解压安装快得多。

5.4 卸载之后进不去系统

现象:在 Setup.exe 里点了卸载,重启直接掉进固件设置界面,或者屏幕上显示找不到可引导设备。

原因:卸载逻辑把备份的bootmgfw.efi还原了,但{bootmgr}的 path 还指着\EFI\HackBGRT\HackBGRT.efi,而那个文件已经被删了。路径存在、文件不存在,固件加载失败。

解决:还是先改路径再删目录。

:: 1) 路径改回原厂引导器 bcdedit /set "{bootmgr}" path \EFI\Microsoft\Boot\bootmgfw.efi :: 2) 确认无误后,挂载 ESP 删掉残留目录 mountvol S: /S rmdir /S /Q S:\EFI\HackBGRT mountvol S: /D

如果连命令提示符都进不去,用安装盘进修复模式跑bootrec /rebuildbcd重建引导记录。这条命令会扫描硬盘上所有 Windows 安装并重写 BCD,双系统机器上要格外小心,重建之后启动菜单的顺序可能变。

6. 验证跑通:重启三次就能确认引导链真的换了

很多人装完看到图出来了就收工,结果过两天系统一更新又变回去,回头再查已经想不起当初是怎么配的。我现在的做法是装完立刻做一轮验证,把三个层面的证据都留一份。

先看引导配置层面。跑一条命令就知道固件引导管理器现在指向谁:

# 看 {bootmgr} 的 path 是不是指向 HackBGRT bcdedit /enum "{bootmgr}" | Select-String "path" # 顺便把 ESP 里的文件清单和大小记下来,出问题时好对比 mountvol S: /S Get-ChildItem S:\EFI\HackBGRT | Select-Object Name,Length Get-ChildItem S:\EFI\Microsoft\Boot\bootmgfw.efi* | Select-Object Name,Length,LastWriteTime mountvol S: /D

期望的结果是:path那行显示的是\EFI\HackBGRT\HackBGRT.efi(走手动路线)或者被接管后的默认路径(走 Setup.exe 路线,这种情况看文件时间戳更准);\EFI\HackBGRT\下 efi、config、bmp 三个文件齐全;bootmgfw.efi和它的备份文件大小一致。

再看文件完整性。备份文件坏了是最隐蔽的故障——HackBGRT 能正常加载,但转交下一棒的时候加载到一个损坏的引导器,表现是画面出来后转圈转一会儿就重启。装完立刻比一次哈希:

# 备份和原文件应该是同一个东西的两种状态,大小必须一致 Get-FileHash S:\EFI\Microsoft\Boot\bootmgfw.efi.hackbgrt.bak -Algorithm SHA256

最后是实际开机验证,走三次:

次数操作期望
第一次完全关机再开机(不是重启)厂商 Logo 之后出现自己的图,接着进系统
第二次进固件设置,什么都不改,保存退出图照样出现,说明引导路径在固件层面是稳定的
第三次重启一次,观察转交过程图之后正常转圈进桌面,没有中途重启或黑屏

第一次一定要用完全关机,因为快速启动关掉之前那种“关机”其实是休眠,走的是另一条路径,验证不出问题。第二次进 BIOS 保存退出这一步很多人省掉,但它能暴露固件把启动项写死在 NVRAM 里的问题——有些主板在 CMOS 掉电或者清空之后会丢掉自定义启动项,配置就白做了。

三次都过,才算真的跑通。

提示:验证完别忘了把 BitLocker 保护开回来,跑一次manage-bde -protectors -enable C:,别让机器一直处于无保护状态。

从那以后我每次动引导相关的东西,都会在重启之前跑一遍bcdedit /export加文件清单核对,宁可多花三分钟,也不想再体验一次抱着笔记本蹲在地上找恢复密钥的感觉。这套流程照着走一遍,开机图标换成自己的图之后,剩下的就是挑一张别太花的图了。希望帮到你。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/28 9:13:38

JavaWeb图书馆管理系统源码:JSP+Servlet+JDBC借阅实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/28 9:13:00

汽车电子底层软件中的数学:从ADC标定到PID与CRC

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/28 9:12:26

YOLOv5训练DNF识别模型:自动脚本目标检测避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/28 9:12:09

工控数据类型与值范围详解:PLC、Modbus 实战避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/28 9:11:35

BMS电池管理系统国产AFE芯片选型与替代实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/28 9:09:55

工业视觉测量精度实战:标定误差与光照漂移的工程化解法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华