news 2026/9/7 13:42:22

香橙派Zero3烧录系统全攻略:从TF卡镜像到首次启动

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
香橙派Zero3烧录系统全攻略:从TF卡镜像到首次启动

收到香橙派Zero3这块小板子之后,第一件正经事不是通电把玩,而是“烧录系统”。OrangePi Zero3 基于全志H618芯片,默认不带系统,系统装在TF卡里,你往卡里写什么,它开机就跑什么。这一步做顺了,后面折腾NAS、软路由、下载机、电视盒子都顺;这一步翻车,可能卡在通电没反应、显示器黑屏、SSH连不上,半天找不到原因。这篇文章就把“香橙派烧录系统”这件事从头到尾拆开讲清楚,覆盖镜像下载、工具选型、Windows和Linux下的完整实操、常见报错排查,以及我反复折腾后总结的几条经验,给第一次上手Zero3的朋友一条能直接照着走的路线。

1. 认识OrangePi Zero3与烧录的核心思路

1.1 这块板子到底是什么定位

OrangePi Zero3目前常见的版本有2GB、4GB、8GB内存三个档位,核心SoC是全志H618,四核Cortex-A53,默认主频1.5GHz左右,带Mali-G31 GPU,支持4K视频解码。板载一个千兆网口、三个USB 2.0、一个USB-C供电口,还有一个Micro HDMI输出。这个硬件规格决定了它的典型用途:跑轻量级Linux服务、做下载机、做小型NAS、做Kodi播放器、做内网穿透节点等等。

和树莓派Zero 2W相比,Zero3最大的优势是内存选项更多,8GB版本在百元级开发板里属于比较能打的。但这也带来一个问题:硬件能力再强,系统装不好都是白搭。开发板上电后没有任何固件预装,引导全靠TF卡上的系统镜像,所以烧录就是玩Zero3的第一个门槛。

网上搜索“香橙派烧录系统”时,经常会看到瑞芯微芯片的烧录教程,比如rk3588烧录系统需要用RKDevTool、DriverAssitant之类的Windows工具,走的是USB线刷模式。这个知识点有用,但别跟Zero3搞混。Zero3用的是全志H618,不是瑞芯微RK3588,绝大多数场景直接从TF卡启动,不需要拆机、不需要短接、不需要USB线刷工具。搞清楚芯片型号再选烧录方案,能少走很多弯路。

1.2 为什么要单独把“烧录”拿出来讲

很多新手第一次看到“烧录系统”四个字,下意识以为是复制文件到TF卡。实际上嵌入式开发板的系统烧录,本质上是向块设备(TF卡)的原始扇区写入镜像数据,其中包含了分区表、引导程序(U-Boot)、Linux内核、设备树(DTB)和根文件系统。这跟往U盘里拷贝一个ISO、双击setup.exe装Windows完全是两码事。

启动流程大概是这样的:芯片上电后,内部的BootROM优先从TF卡读取引导程序,引导程序再加载内核和设备树,内核最终挂载根文件系统完成启动。烧录的正确性直接影响这条链路上的每一环。比如分区表写错,U-Boot找不到内核;镜像没写完整,根文件系统挂载失败;引导参数不对,内核起来了但控制台黑屏。这些现象看起来千奇百怪,归根结底都是“镜像写入出了问题”。

可以用一个类比帮助理解:TF卡是毛坯房,系统镜像是已经装修好的完整户型,烧录不是把设计图打印出来放进去,而是整个房间“连墙体带水电”整体浇筑进去。烧录工具写的是扇区级数据,不是文件级数据。

1.3 烧录工具选型:用哪个最稳

烧录工具非常多,我实际用过的主要有四个:balenaEtcher、Raspberry Pi Imager、Win32DiskImager和Linux下的dd命令。它们各有优缺点,适合不同场景。

工具系统平台优点缺点
balenaEtcherWindows/macOS/Linux图形化、全平台、自动校验偶尔对读卡器敏感
Raspberry Pi ImagerWindows/macOS/Linux支持自定义设置、口碑好、稳定部分镜像需要解压后才能识别
Win32DiskImagerWindows老牌、轻量界面老、无校验功能
dd命令Linux/macOS灵活、可控、写脚本方便误操作会清空整个磁盘,危险

我的建议是:Windows用户优先用balenaEtcher,逻辑简单,选镜像、选磁盘、点Flash,三步完成,写完自动校验。Raspberry Pi Imager也不差,但有些第三方镜像(比如Armbian的某些版本)识别时会有兼容性提示。Linux用户直接dd配合管道流,效率最高,后面实操部分我会详细写。

如果你要烧录的是瑞芯微RK3588这类芯片的开发板,走的是eMMC线刷模式,需要专门的工具,这里不展开。Zero3这类全志芯片TF卡启动的产品,用Etcher和dd就足够了,不需要装任何驱动,也不需要额外软件。

2. 烧录前准备:镜像与工具避坑指南

2.1 镜像去哪下载,怎么选版本

镜像下载是最容易被忽视、又最容易出问题的一步。香橙派官方提供了一个wiki站点,里面有Zero3的官方镜像发布页,常见的有官方维护的Debian、Ubuntu,以及社区比较活跃的Armbian第三方镜像。个人经验是:如果打算长期跑服务,首选Armbian,社区活跃、软件源配置方便、内核更新及时;如果只是体验桌面环境,官方Debian或Ubuntu都行,桌面比Armbian的轻量桌面更完整一点。

下载镜像时务必认准官方渠道。开发板圈子经常有人从网盘、论坛、群聊里转发所谓“优化版”“精简版”镜像,里面被人塞挖矿脚本、后门SSH密钥的案例不是没有。我踩过一次坑,在一个第三方网盘下载了一个号称“开机自动配置好环境”的镜像,烧录后跑了两天发现CPU占用异常,检查发现被人植入了挖矿程序。从那以后我只从官方wiki列出的镜像地址下载,下载完顺手核对文件哈希值,官方页面一般会给出SHA256值,用命令行工具比对一下,这个习惯花不到一分钟,但能省掉后期全部排查时间。

版本选择上还要注意一点:Zero3镜像和Zero2、Zero3的早期测试版可能不通用。部分旧镜像对H618芯片的电源管理、HDMI兼容性支持不完整,会随机出现开机死机、温度过高降频的问题。建议选择标注“stable”或release版本的镜像,不要贪新用RC候选版。

2.2 TF卡选购:容量、速度与假卡问题

TF卡是整个烧录链条里最容易翻车的硬件。很多新手把烧录失败、启动卡死、莫名其妙丢数据归咎于操作不当,实际查来查去发现是卡本身有问题。

先说容量。Zero3系统镜像解压后通常在4GB到8GB之间,但镜像只占运行空间的一部分,系统运行后还要写日志、装软件、缓存数据。最低建议16GB起步,32GB更合适,64GB往上对于跑服务来说属于富余。容量不是越大越好,买太大但速度慢的杂牌卡,体验反而不如一张靠谱的32GB。

再说速度。TF卡上标注的Class 10、U1、U3、A1、A2这些参数要会看。对于Zero3来说,Class 10、U1是最低底线,U3或A1以上体验更好。系统运行的时候,IO读写非常频繁,卡的速度直接影响开机速度、软件安装速度、系统流畅度。我用过一张杂牌“Class 10”卡和一张闪迪的U3卡做对比,同样刷Armbian,开机时间从接近两分钟缩短到二十多秒,差距非常明显。如果预算允许,选知名品牌(闪迪、三星、铠侠)的A2卡,省心。

最需要警惕的是扩容卡。这类卡实际物理容量远小于标称容量,写入数据超过真实容量后就会出现文件损坏、分区表错乱。检测方法很简单:烧录完系统后,在Linux下执行f3readf3write写满全卡测试,或者在Windows下用H2testw扫描一遍。不过说实话,正规渠道买的大品牌卡基本不会遇到这个问题,拼多多、闲鱼上的超低价“工业级”大容量卡是重灾区,尽量避开。

2.3 读卡器、宿主机与烧录前的重要检查

读卡器往往是“最后排查”的部件,但它对烧录成功率的影响被严重低估。我之前用过一个十几块的USB 2.0读卡器,烧录过程中Etcher频繁报错、校验失败,换了一个USB 3.0的读卡器后一次通过。原因是劣质读卡器供电不稳,长时间高速写入时TF卡会掉线。

烧录前有几个检查项值得列出来:

  • 确认TF卡里没有重要数据,烧录会彻底清空整张卡。
  • 如果有重要数据,先用读卡器连电脑复制出来,再烧录。
  • 烧录过程中保持读卡器稳定连接,不要碰USB接口,不要拔卡。
  • Windows下建议用管理员身份运行烧录工具,避免权限不足导致写入中断。
  • 烧录前可以先用SD Card Formatter工具对TF卡做一次“快速格式化”或“覆盖格式化”,把分区表清干净,避免旧分区残留造成引导异常。

这些看起来都是小事,但在实际排查过程中,“读卡器导致烧录失败”和“旧分区残留导致启动异常”这两个原因出现的概率远比想象中高。

3. 手把手烧录实操:三种方式完整过程

3.1 Windows下用balenaEtcher烧录

balenaEtcher是我在Windows上最常用的烧录工具。到官网下载对应版本的安装包,装完后打开,界面很朴素,就三个步骤。

第一步,点击“Flash from file”选择镜像文件。Etcher支持直接选择.img.xz压缩包,它会自动解压后写入,不用提前手动解压。这一点很省事,官方镜像很多都是xz压缩包格式,直接选就行。

第二步,点击“Select target”选择目标磁盘。这里要仔细看清楚盘符、容量,别选成自己的移动硬盘或U盘。Etcher在Windows下会隐藏系统盘,降低误操作概率,但自己仍然要确认一次。选择磁盘后,Etcher会显示该磁盘的容量信息,目标TF卡容量和标签一般能对上,比如16GB的卡显示约14.9GB,32GB的卡显示约28.8GB。

第三步,点击“Flash!”开始写入。写入时间取决于镜像大小和TF卡速度,一般5-15分钟。写入完成后Etcher会自动执行“Validation”校验,比对写入数据与镜像是否一致,这一步非常重要,千万不要跳过。校验通过后,Windows会弹出提示“此磁盘需要格式化”,直接取消,千万别点格式化。此时可以安全弹出TF卡,插到Zero3上准备启动。

Etcher在我实际使用中有个小问题:部分读卡器在写入完成后无法正常弹出,提示设备被占用。解决办法是直接关闭Etcher,等几秒,再在“此电脑”里右键弹出,一般就正常了。如果还不行,检查后台有没有杀毒软件正在扫描读卡器,临时暂停扫描后再试。

3.2 Linux/macOS下用dd命令烧录

如果日常主力机是Linux或macOS,用dd命令烧录其实比Etcher更直接。第一次用dd的同学最容易犯的错,是把镜像写到了整个磁盘而不是某个分区,或者搞错设备名。

先执行lsblk查看当前磁盘列表,找到TF卡对应的设备名。一般SD卡读卡器对应的是/dev/sdb/dev/sdc,按容量大小基本能确认。仔细分清/dev/sdb/dev/sdb1的区别:前者是整个设备,后者是设备上的某个分区。烧录要写整个设备,也就是不带数字的/dev/sdb

如果TF卡上已有分区且被自动挂载,先卸载:

sudo umount /dev/sdb1

如果TF卡有多个分区,需要把每个分区都卸载,或者直接用sudo umount /dev/sdb*这种通配符写法(如果提示目标忙,先关闭文件管理器窗口)。

确认卸载后,执行烧录命令。官方镜像一般是.img.xz,直接先解压再写入当然可以,但更推荐用xzcat管道流,省去了解压所占的磁盘空间:

xzcat orangepizero3_xxx.img.xz | sudo dd of=/dev/sdb bs=4M conv=fsync status=progress

命令参数解释一下:bs=4M表示每次读写4MB,写TF卡比较合适;conv=fsync确保数据真正落盘后再返回;status=progress会显示实时写入进度。整个写入过程中如果看到“No space left on device”报错,基本是镜像解压后超过了TF卡容量,换大容量卡重来。

写入完成后,执行sudo sync,确保缓存数据全部落盘,然后就可以拔卡了。Linux下还有一种验证方式,用sudo hdparm -r /dev/sdb或者重新插拔后用lsblk看分区结构,但最直观的还是直接插到板子上看能不能启动。

3.3 烧录完成后的首次启动与连接

烧录完成只是第一步,真正考验人的是第一次启动。把TF卡插入Zero3的卡槽,接上USB-C电源线,上电。这里特别提醒,电源适配器建议用5V/3A以上的,至少也要5V/2A。如果供电不足,会出现两个典型现象:一是指示灯常亮但系统反复重启,二是接上USB设备后系统直接掉盘死机。我最初用手机旧充电头(5V/1A)测试,结果卡在U-Boot阶段完全起不来,换回正经电源秒进系统。

启动后如何连上系统,常见有三种方式:

第一种,HDMI接显示器。Zero3的Micro HDMI接口需要一根Micro HDMI转HDMI的线或者转接头,接上显示器后能看到启动日志和登录提示。注意部分显示器对分辨率兼容性差,会提示无信号,可以先试试给config.txt加上hdmi_mode=16强制指定1080P输出。

第二种,串口连接。用USB转TTL串口模块,接板子上的调试串口引脚,波特率一般是115200。串口能看到完整的U-Boot引导日志和内核日志,排查启动问题最有用,但新手需要额外准备模块,操作门槛稍高。

第三种,SSH网络连接。这需要先知道板子的IP地址。最简单的办法是登录路由器后台,在DHCP客户端列表里找主机名为orangepizero3(或类似名字)的设备。如果路由器后台不方便查看,也可以用nmap扫描局域网:

nmap -sP 192.168.1.0/24

或者用arp -a查看局域网IP和MAC的对应关系,Zero3的MAC前缀通常能对应到某个IP。

默认账号密码在官方wiki的说明里,一般是root用户配合一个默认密码,或者orangepi用户配合orangepi密码,具体以你下载的镜像说明为准。首次登录后别急着折腾,先执行系统更新,把软件源、内核模块更新到最新版本,再开始装应用。

3.4 特殊场景:瑞芯微RK3588系列烧录的前置认知

热词里有“rk3588烧录系统”,我顺带说清楚,给后面可能换板子的朋友做个铺垫。Zero3这种全志H618芯片走的是TF卡烧录,而RK3588开发板(比如Orange Pi 5系列)通常板载eMMC或NVMe,烧录方式完全不同。瑞芯微芯片一般用RKDevTool工具,配合DriverAssitant驱动,通过USB线连接电脑,在MaskROM或Loader模式下把固件写入eMMC,或者通过SD卡启动工具制作升级卡。

与TF卡烧录最大的区别在于:USB线刷需要安装驱动、进入Loader模式,操作门槛和失败风险都更高。如果手上有RK3588的板子,烧录前务必确认你的固件镜像格式(是update.img还是分区镜像),不同格式在RKDevTool里的处理方式不一样,选错会直接刷成砖。这个知识点今天先用不上,但香橙派家族玩深了大概率会碰到,提前有个认知框架,到时候不慌。

4. 常见问题与排查技巧实录

4.1 上电后完全没反应,指示灯不亮或疯狂闪烁

这个问题要先排除电源。Zero3板载两个指示灯:红色电源灯和绿色状态灯。红色灯不亮,说明根本没通电或者电源电压过低,换电源适配器和数据线。这里的数据线很容易被忽略,很多USB-C线只支持充电不支持数据传输,或者线材过细导致压降大。我实测过用一条标称5V/2A的廉价线,把线温都烧热了,板子还是反复重启。用原装正规线材能省掉很多莫名其妙的坑。

红色灯亮、绿色灯不亮,说明供电有了但固件没正常启动。优先怀疑TF卡:重新插拔、重新烧录、换一张卡试试。绿色灯快速闪烁通常代表系统正在引导或读取TF卡,持续快速闪烁则可能是镜像写入有问题,或者TF卡读取速度太慢导致内核加载超时。

如果手头有USB转TTL串口模块,这个阶段接上串口看日志是最高效的排查方式。U-Boot阶段的日志能直接告诉你设备树有没有加载、内存识别是否正确、TF卡有没有被识别。没有串口模块的话,也可以用“最小系统替换法”逐个排除:换电源、换卡、换线,三步下来大部分硬件问题都能找到答案。

4.2 烧录工具报错、校验失败或烧录后启动卡死

烧录工具报错的原因很杂,我总结出三个高频来源:读卡器不稳、镜像文件损坏、目标磁盘选错。校验失败基本等于写入数据与源文件不一致,最常见的是读卡器在写入过程中掉线。换读卡器重烧,别反复用同一个报错的读卡器试,浪费时间。

镜像下载不完整也会导致启动卡死,这类问题有时候很难直接看出来,因为压缩包可能在解压时才报错,或者解压正常但内核加载时缺少关键文件。解决方式是重新下载一次,并核对官方给出的SHA256校验值。Windows下用PowerShell命令:

Get-FileHash 你的镜像文件 -Algorithm SHA256

Linux下用sha256sum命令,对比官方页面公布的值,一致再烧录。

烧录完成后Windows提示“需要格式化”是最容易踩的坑。这个提示是因为Windows不认识Linux分区格式,正常的。不要点格式化,直接拔卡。真的误点了格式化,卡上的分区表会被改写,只能重新烧录。所以这个提醒我要重复两遍:看到“需要格式化”不要理它。

4.3 系统启动后黑屏、HDMI无信号,但板子看起来在运行

电源灯亮、TF卡灯闪烁、似乎已经运行起来了,但显示器黑屏,这个情况排查起来需要一点耐心。最常见的原因有三个:显示器分辨率兼容问题、镜像里的HDMI驱动默认参数不对、硬件接触不良。

先从软件层排查。官方镜像默认的HDMI配置不一定适配所有显示器,尤其是部分老款显示器对特定分辨率不敏感。可以尝试修改TF卡boot分区下的config.txt或uEnv.txt,把HDMI模式改为强制1080P输出。具体方法:把TF卡插回电脑,读取boot分区,找到hdmi_mode或类似配置,改成hdmi_mode=16(1080P60Hz),保存后重新插入板子启动。不同镜像的配置文件名和参数名略有差异,Armbian一般叫armbianEnv.txtconfig.txt,官方Debian/Ubuntu镜像通常在boot分区下有config.txt

硬件接触不良也很常见。Zero3的Micro HDMI口比较小,转接头和线材的兼容性参差不齐,插的时候往往感觉插进去了但实际接触不到位。可以拿牙签或镊子轻轻清理一下接口里的灰尘,多次插拔尝试不同角度。

实在不行就放弃HDMI,直接走SSH连接。Zero3定位是服务器型产品,跑服务场景本来就不需要接显示器,能用SSH连上,说明系统已经正常启动,不是系统坏了,只是显示接口的问题。我后来调Zero3基本不接HDMI,全部通过SSH管理,省心得多。

4.4 启动后显示“磁盘空间不足”或根分区只有一半容量

很多初次接触开发板的朋友烧录完系统后,发现df -h看到根分区容量只有4GB或8GB,而TF卡明明是32GB,第一反应是“烧录出了问题”。其实这是正常现象:官方镜像出厂时,根文件系统分区大小固定为镜像本身的大小,不会自动扩展到整张TF卡。也就是说,你能用到的空间一开始只有镜像分区那么大,剩余空间是未分配的。

解决方法有两个。

第一个,用raspi-configarmbian-config里的扩展分区功能。Armbian镜像第一次启动时一般会自动扩展根分区,或者你可以在控制台执行armbian-config,在System菜单里找到“Expand filesystem”选项,按提示重启即可。Debian/Ubuntu官方镜像如果没有这个工具,可以安装cloud-guest-utilsgrowpart来手动扩展。

第二个,手动扩展分区。先在系统里执行lsblk查看当前分区布局,假设TF卡是/dev/mmcblk0,rootfs在/dev/mmcblk0p2。用cfdisk /dev/mmcblk0删除原来的第二分区,重新创建一个包含所有剩余空间的第二分区,保存退出后执行:

sudo resize2fs /dev/mmcblk0p2

注意cfdisk的操作顺序一定不能搞错:分区删除后新分区的起始位置必须和原分区一致,否则会丢失文件系统。新手如果不确定起始扇区号,我强烈建议用growpart代替手动操作:

sudo apt install cloud-guest-utils sudo growpart /dev/mmcblk0 2 sudo resize2fs /dev/mmcblk0p2

growpart会自动保持起始位置不变,只把分区末尾扩展到整卡,非常安全。扩展完成后,df -h就能看到根分区已经占满32GB容量了。

4.5 常见问题速查表

我把高频问题整理成一个速查表,方便遇到问题时快速对照。

现象可能原因排查/解决
红色电源灯不亮电源适配器问题、数据线问题换5V/3A电源,换USB-C线
绿色灯闪烁但HDMI无信号HDMI兼容性、镜像配置改hdmi_mode=16,换线材,改用SSH连接
系统反复重启供电不足换大功率电源,避免同时带多个USB设备
Etcher校验失败读卡器掉线、镜像损坏换读卡器,重新核对SHA256
启动后卡在U-Boot界面TF卡容量太小、镜像不完整、卡速太慢换大容量高速卡,重新烧录
根分区容量不对镜像未自动扩展分区growpart + resize2fs
SSH连不上IP未知、SSH服务未启动路由器后台查看IP,确认默认账号密码

写在最后:给新手的几条实在建议

烧录这件事,单看操作特别简单,无非是“选镜像、选卡、写入”,但它牵扯到的坑真的不少。我把这段时间反复折腾的经验浓缩成三句话:第一,镜像一定从官方渠道下载,下载完核对校验值,别贪方便用网盘转发版;第二,电源和TF卡是整个系统稳定性的地基,电源选5V/3A以上,TF卡选正规品牌的高速卡,这两样钱不能省;第三,遇到问题先看日志,有条件就上串口,没条件就在启动阶段逐个替换硬件排查,别一直在烧录这一步打转。

Zero3这块板子烧好系统之后,能干的事情很多,我后来拿它做了家庭网络里的下载机和小型NAS,24小时开机,功耗低、噪音小,日常负载下CPU温度稳定在五十度左右,体验比预想中稳定。后续有机会我再写写具体的服务部署、性能调优、散热改装这些内容。第一次烧录系统,不用有压力,多备几张TF卡,把几个版本的镜像都试一遍,感受一下不同系统在这块板子上的表现差异,这个过程本身就能帮你积累很多嵌入式Linux的实操认知。

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

高效工作法则:学会思考,掌握五大管理工具

目录 一、PDCA循环 (戴明循环) (一)简单介绍 (二)戴明循环的步骤 (三)戴明循环的步骤和方法 二、RACI模型 三、RCA法则 四、SWOT分析法 (一)基本说明…

作者头像 李华
网站建设 2026/9/7 13:38:12

提升JVM性能:CMS垃圾回收器的优化分析与案例研究

目录 一、CMS基本介绍 二、CMS回收过程讲解 (一)初始标记——标记直接GC Roots == STW (二)并发标记——对老年代所有对象进行GC Roots追踪(最耗时) (三)重新标记 == STW (四)并发清理 三、CMS优缺点分析总结 (一)优缺点总结 (二)内存碎片解决优…

作者头像 李华
网站建设 2026/9/7 13:36:26

ML-KWS-for-MCU源码评测:嵌入式MCU上的关键词识别实战

关注嵌入式AI有一阵子的朋友,应该都绕不开ARM官方在GitHub上开源的ML-KWS-for-MCU。这个项目把关键词识别(KWS)从云端搬到了Cortex-M系列MCU上,给出来一套从模型训练、量化、模型转换到嵌入式端推理的完整参考实现。我最近因为手头…

作者头像 李华
网站建设 2026/9/7 13:36:04

MODBUS RTU调试实战:寄存器地址换算与CRC校验避坑指南

上周调一块温控板,上位机用Modbus Poll轮询一切正常,换成我们自己的单片机做主站以后,读回来的寄存器数值开始不对劲。一开始我怀疑是缓冲区、中断、DMA哪里没配好,抓了半个下午的包,最后才发现问题根本不在程序上——…

作者头像 李华
网站建设 2026/9/7 13:34:48

文件夹标签批量打印:Excel数据+邮件合并与Python脚本自动化方案

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

作者头像 李华
网站建设 2026/9/7 13:31:49

计算机系统结构实验指南:从模拟器配置到报告撰写的完整流程

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

作者头像 李华