Ubuntu 20.04 LTS 安装与初始化:Rufus写盘到APT配置全记录

简介:这份指南是一份面向Linux新手与开发者的系统性安装配置教程,重点覆盖Ubuntu 20.04 LTS从镜像下载、Rufus启动盘制作、BIOS/UEFI启动顺序调整,到磁盘分区选择、账户创建及系统初始化设置的完整链路。资源以1个docx文档承载全部内容,压缩包整体仅13KB,轻量易读,适合随时查阅或对照实操。目前已有200人学习使用。文档中不仅按顺序给出每个安装环节的操作步骤,还收录了apt update与apt upgrade的更新命令以及Firefox、LibreOffice、Gedit等常用软件的一键安装示例,便于用户在首次进入系统后快速完成基础环境搭建。对于计划脱离Windows/macOS、尝试搭建服务器或多任务办公环境的技术爱好者来说,这份指南既能作为首次安装的逐步说明书,也可当作日常维护的速查手册。

1. Ubuntu 20.04 LTS:一次从镜像下载到初始化配置的完整落地记录

Ubuntu 20.04 LTS 是这几年来最值得装的 Linux 发行版之一,尤其适合那些刚脱离 Windows/macOS、准备搭一台开发机或服务器平台的用户。为什么这么说?因为 20.04 属于长期支持版本,安全更新和软件源维护周期长达五年,社区资料多到绝大多数报错都能直接搜到答案。但正因为它流行,安装过程中的翻车点也多:Rufus 写盘参数不对导致 U 盘无法引导、BIOS/UEFI 里的 Secure Boot 没关导致启动菜单都进不去、分区方案选错把整块硬盘数据清空——这些问题几乎每天都在各大社区重复出现。这篇笔记我会把 Ubuntu 20.04 LTS 从 ISO 镜像下载、Rufus 制作启动盘、BIOS/UEFI 配置、安装引导、APT 包管理初始化这一整套流程拆开写清楚,把我踩过的坑和验证方法一并放进来,新手能照着走通,熟手也能看到参数取舍。

2. 准备工作:ISO 镜像下载与 Rufus 启动盘制作细节

2.1 镜像下载:LTS 版本判定与校验

Ubuntu 桌面版镜像在官方下载页提供多个版本入口,下载前先确认选中的是 20.04 LTS 而不是最新的中间版本。20.04 的 ISO 文件大小通常在 2GB 左右,具体取决于你选的是桌面版还是服务器版。桌面版镜像包含 GNOME 图形环境,适合新手;服务器版没有图形界面,体积更小,适合后面要转纯命令行环境的人。

下载完成后,我一般会顺手校验一下 SHA256 校验值。官方页面提供了对应的 checksum 文件,Linux 下用sha256sum命令,Windows 下用 PowerShell 的Get-FileHash做比对。这一步不是玄学——镜像文件在下载过程中可能因网络原因损坏,如果跳过了校验,制作启动盘后大概率会在安装中途报错,而且这类报错不好排查。我见过不少人栽在这一步,最后重新下载镜像才好。

2.2 Rufus 写盘:分区方案选 GPT 还是 MBR

Rufus 是 Windows 环境下制作 Ubuntu 启动 U 盘最常用的工具,界面简单,写盘速度快。插入容量大于 4GB 的 U 盘后,打开 Rufus,设备选择目标 U 盘,引导类型选择你下载的 Ubuntu 20.04 LTS ISO 镜像,然后关键点来了:分区方案和文件系统类型不能随意默认。

参数项对应 BIOS 模式建议选择
分区方案GPTUEFI 模式(近五年电脑默认)
分区方案MBRLegacy BIOS 模式(老机器)
文件系统FAT32兼容性最好,默认即可
簇大小默认不需要改

我一般会先确认目标电脑是 UEFI 还是 Legacy BIOS 启动。2020 年之后的电脑基本都是 UEFI + GPT,直接选 GPT 分区方案就行;如果是 2015 年前的老机器,不确定的话用 MBR。选错分区方案的结果是:U 盘做完后插到电脑上,Boot Menu 里根本看不到 U 盘启动项,或者能引导但进不了 Ubuntu 安装界面。遇到这种情况不要反复重做 U 盘,先回 BIOS 里看启动模式再对应重刷。

2.3 写盘完成后的验证习惯

Rufus 显示制作完成后,不要急着拔 U 盘。Windows 下打开资源管理器,确认 U 盘的卷标变成了类似 "UBUNTU 20_0" 之类的名称,并且文件系统显示为 FAT32。如果是 exFAT 或 NTFS 格式,说明写盘环节出了问题,可能需要重新换 Rufus 版本再试一次。

这里还有个容易忽略的点:Rufus 在写盘时默认会弹出对话框询问是否写入 ISOHybrid 模式,我一般保持默认。写入完成后 Windows 可能会提示该 U 盘需要格式化,但实际这是正常现象——Windows 只识别到 EFI 分区,所以看不到完整内容,不用去格式化。插到 Ubuntu 安装机器上,启动菜单里能正常识别并引导就算成功。

3. BIOS/UEFI 设置:Secure Boot 和启动顺序的取舍

3.1 进入 BIOS 的快捷键与路径记录

重启电脑后按的键取决于主板或笔记本品牌:最常见的是 F2、F10、F12 和 Delete 键。如果是戴尔系笔记本一般 F2,华硕系主板 Delete 或 F2,惠普系 F10,联想系 F12。我习惯在开机 Logo 出现时就连续点按 F2,如果没进去就重启再试 F12 或 Delete,因为同一品牌不同型号的快捷键也可能不一样。还有一种更省事的做法,Windows 下按住 Shift 点重启,进入高级启动选项后选择“使用设备”,大多数机器在 UEFI 固件设置里能直接重启进 BIOS。

进入 BIOS 后,重点找 Boot 或 Startup 选项卡。不同品牌界面差异很大,但关键项目是这几个:启动顺序(Boot Priority/Order)、安全启动(Secure Boot)和 SATA 模式(SATA Mode)。其中 Secure Boot 是 Ubuntu 安装中最大的坑之一,稍后会详细展开。

3.2 关闭 Secure Boot:为什么必须做这一步

Secure Boot 是 UEFI 安全启动机制,目的是防止未签名引导程序加载。Ubuntu 20.04 的官方内核本身通过签名认证,理论上可以开启 Secure Boot 安装,但实际体验并不好,特别是 Nvidia 显卡驱动这种第三方内核模块,过不了签名验证就会被拒载。我第一次装系统时开着 Secure Boot,系统装完重启后卡在加载界面,花了两个小时排查才意识到问题出在这。

常见做法是进入 BIOS 的 Boot 或 Security 选项卡,找到 Secure Boot 项,状态从 Enabled 改为 Disabled。部分主板还有 Secure Boot Mode 的子选项,需要把 Standard 改成 Custom 才能关闭。改完保存退出,再重新进一次 BIOS 确认启动顺序里 U 盘排在第一位。不关 Secure Boot 的后果不只是安装慢,而且机器新装完驱动就装上不去,新手很容易误判为系统损坏。

3.3 启动顺序调整:U盘排第一还是用 Boot Menu

调整启动顺序时,把 U 盘(通常显示为 UEFI: U盘型号名 或 USB HDD)排到最前面。如果机器支持一次性启动菜单(Boot Menu),我更推荐在开机时按 F12/F11 进入菜单,直接选 U 盘启动,而不是改 BIOS 启动顺序——这样装完系统后不用再进 BIOS 改回来,避免忘记改回顺序导致每次启动都尝试读 U 盘、开机时间变慢。

有个细节值得留意:Boot Menu 里如果出现两个相同名称的 U 盘,一个带 UEFI 前缀,一个不带,选带 UEFI 的。这个选择对应的是你 Rufus 里刷的分区方案,选错会报 "Boot Device Not Found" 之类的错误,但实际上 U 盘和镜像都是好的。

4. 安装过程:磁盘分配和账户创建的几个关键选择

4.1 启动菜单:Try Ubuntu 还是 Install Ubuntu

U 盘引导成功后,GRUB 菜单会出现两个主要选项:Try Ubuntu 和 Install Ubuntu。Try Ubuntu 是直接进入 Live 环境,不写入任何数据;Install Ubuntu 则直接启动安装向导。

我一般建议新手先选 Try Ubuntu 进去看一眼。Live 环境里可以做几件事:确认无线网卡能正常连 WiFi(这能提前暴露部分硬件兼容性问题)、打开终端执行lsblk看一下磁盘分区现状、跑一下内存测试。如果 Live 环境里无线网络用不了,安装完大概率还是用不了,这时候你有机会提前搜解决办法,而不是装完系统再面对一台没网的环境。确认没问题后,桌面上直接双击 Install Ubuntu 图标进入安装流程。

4.2 磁盘分区:擦除安装还是双系统共存

安装向导走到 "Installation type" 这一步时,绝大多数人的纠结都集中在这里。如果你决定这台机器完全跑 Ubuntu,选 "Erase disk and install Ubuntu" 是最省心、最不容易出错的方案;如果想要保留 Windows 做双系统,选 "Install Ubuntu alongside Windows Boot Manager"。

这里要特别提醒一个风险点:如果之前硬盘上已经存在非 Windows 的操作系统或自定义分区布局,GRUB 和安装器可能无法正确识别的多启动结构,选 alongside 选项时可能出现分区表识别失败。我之前在一台装过多个 Linux 发行版的机器上选过 alongside,安装器直接报错,最后只能手动分区。我的做法是:双系统需求强烈时,先备份数据,进 Live 环境用 GParted 手动把空闲空间划成 ext4,再回安装器选 Something else 手动挂载,比自动分配更可控。

选择擦除安装时,安装器默认会用 LVM(逻辑卷管理)并创建 swap,其实自动布局对多数场景够用。但如果你的灵感来自“想给后续开发环境留独立分区”,那别在安装时做太复杂的规划,先默认装好,后续用 GParted 再调整也不迟。

4.3 时区、用户名和密码设置要点

磁盘分配确认后,进入时区和账户设置。时区选择会影响系统的硬件时钟处理方式,特别是双系统环境下 Windows 和 Ubuntu 对硬件时钟的解读不一样,容易导致两边时间差 8 小时。双系统用户建议在 Ubuntu 里执行sudo timedatectl set-local-rtc 1 --adjust-system-clock,把 RTC 设为本地时间,否则每次切系统都要手动校时。

用户名和密码方面,我建议用户名用全小写字母,不要带特殊字符,因为部分开发工具对用户名中的空格或大写字母支持得不好,后面很多环境变量和路径都会引用/home/用户名,改起来极其麻烦。密码也不要设置太简单,安装过程不会校验强度,但后续sudo操作全靠这个密码。安装向导最后会问是否加密 home 目录,除非你有明确的隐私需求,否则我都建议不加密——加密 home 目录在后续系统崩溃恢复时会带来额外的解锁步骤,对新手并不友好。

5. 初始化配置:APT 更新策略和常用软件安装组合

5.1 首次启动检查项

Ubuntu 20.04 装完首次进桌面后,建议先做三个检查再开始装软件:第一,确认系统能正常识别网络,终端里执行ip a看网卡有没有获得 IP 地址;第二,打开终端执行sudo apt update,确认软件源能正常访问;第三,确认系统版本信息无误,执行lsb_release -a。

这一步能帮你判断后续问题排查的方向。如果软件源访问超时,大概率是网络问题或源镜像问题;如果网卡没有 IP,那就先解决驱动和网络连接,再做软件安装。很多人装完系统急着装软件,结果 ap t 报错一长串,最终发现网都没连上,属于绕路踩坑。

5.2 apt update 与 apt upgrade 的区别和执行顺序

初始化配置里最关键的一条命令组合是:

sudo apt update && sudo apt upgrade

apt update是同步软件源索引,它会读取/etc/apt/sources.list和/etc/apt/sources.list.d/目录下的源配置,检查软件源里的软件包列表是否发生变化,并将元数据缓存到本地。这一步不会升级任何软件,只更新索引。apt upgrade才是真正执行软件包升级,它会根据apt update获取到的元数据,将系统内已安装的软件升级到软件源中的最新版本。

这两个命令必须按顺序执行,缺一不可。跳过apt update直接执行apt upgrade,系统用的还是旧索引,要么提示所有软件都是最新状态(其实是假象),要么报版本不一致的错误。首次升级时间可能比较长,取决于网络速度和软件包数量,20.04 全新安装后一般会有 500MB 到 1GB 左右的更新量,耐心等它跑完,中途不要强制断开终端。

5.3 常用软件安装组合和 APT 包管理习惯

更新完系统后,我一般会按下面这组命令把基础软件装好:

sudo apt install -y firefox gedit libreoffice p7zip-full htop curl git

-y参数让 apt 不再交互式询问是否继续安装,适合批量安装。firefox是浏览器,gedit是 GNOME 默认文本编辑器,libreoffice是办公套件,p7zip-full提供 7-Zip 压缩格式支持,htop是终端下的进程管理器,curl和git是开发必装基础工具,后续装开发环境基本都要用到。

apt 包管理有几个值得养成的习惯。第一,安装软件前先sudo apt update,确保索引是最新的;第二,搜索软件用apt search 关键词,不确定包名时先搜再装;第三,卸载软件用sudo apt remove 包名,连同配置文件一起清干净用sudo apt purge 包名;第四,定期执行sudo apt autoremove清理无人依赖的历史包,避免磁盘空间被无意义占用。另外,除非你有特殊需求,否则不建议在系统里混用snap和apt装同一款软件,可能出现版本冲突和桌面菜单混乱的问题。

6. 验证跑通和排错:确认系统装对了、驱动没翻车

6.1 系统版本与硬件识别验证

装完系统、基础软件配好后,第一件事不是急着用,而是先跑一轮系统健康检查。我最常用的三条命令:

lsb_release -a uname -a sudo lshw -short

lsb_release -a确认发行版信息和版本号;uname -a查看内核版本,Ubuntu 20.04 初始内核是 5.4 系列;sudo lshw -short列出一份硬件摘要清单,用于确认声卡、网卡、显卡是否被系统正常识别。如果某样硬件在lshw输出里缺失或显示 UNCLAIMED,说明驱动没有正确加载,这比逐个测试功能快得多。

6.2 网络与图形界面验证

网络验证方面,我建议执行ping -c 3 archlinux.org(对外部网络连通性)、ping -c 3 github.com(验证对常用开发域名访问),以及apt update(验证软件源可达)。图形界面方面,打开设置查看"关于"页面确认 GNOME 版本为 3.36,再确认桌面效果显示正常。

显卡驱动验证是个容易忽略的环节。Ubuntu 20.04 默认使用开源的 nouveau 驱动(N 卡),如果安装时没有遇到问题,但桌面画面偶尔卡顿或花屏,多半是这个原因。常见做法是打开"软件和更新",在"附加驱动"选项卡里切换到专有驱动(nvidia-driver-xxx),重启生效。切换前建议记下当前驱动版本,万一回滚还能找到路径。

6.3 常见问题排查记录:三条被问了无数遍的坑

现象 1:启动时卡在黑屏或 Ubuntu Logo 不动。

原因多为两处:一是 Secure Boot 未关闭导致内核对第三方模块加载失败;二是显卡驱动冲突。解决方法是先强制重启进 BIOS 关闭 Secure Boot;如果问题依旧,在 GRUB 菜单按e编辑启动项,在 linux 那一行末尾追加nomodeset,再按 F10 启动。这个参数让内核不加载显卡驱动直接用基础显示模式,能进系统后去换驱动或调整配置。

现象 2:第一次执行 sudo apt update 时大量 404 或跳过警告。

这个报错在 20.04 上最常见的场景是软件源里混入了旧版本仓库,需要检查/etc/apt/sources.list里的代号是否全部为 focal。如果之前手动添加过某些第三方源,先注释掉再执行sudo apt update定位问题源。另外部分国内镜像源同步滞后,建议更换为主镜像源后再试。

现象 3:U盘启动后提示 "Failed to load ldlinux.c32" 或直接进 Windows。

原因八成是 Rufus 写盘时分区方案和 BIOS 启动模式不匹配。Legacy BIOS 模式下不能用 GPT 分区方案启动,需要在 Rufus 里把分区方案改成 MBR 重新制作。如果机器是 UEFI 而 SS D 里原本装的是 Windows,检查 Boot Menu 是否选择了带 UEFI 前缀的 U 盘项。

现象 4:安装过程到 80% 左右卡住不动。

这个位置通常是安装器在安装 GRUB 引导程序或复制文件,也可能是在执行在线更新。如果选择了安装时下载更新且网络较慢,卡住是正常的。但如果进度条长时间不移动,切换 TTY 查看日志,多数情况是镜像校验问题——重新用 U 盘引导,进 Live 环境先校验 ISO,然后重装。

6.4 新装系统的备份习惯

从那以后我每次装完系统,都会强制走一遍"验证三步":先跑sudo apt update && sudo apt upgrade确认系统更新闭环正常,再跑sudo lshw -short确认关键硬件都被识别,最后用sudo timeshift做一个初始快照。这一步很多人会跳过,但实际上它是最便宜的后悔药——新装完的干净系统做一个快照,后续配置环境、装软件把系统搞挂时,十分钟就能回到当前这个稳定状态,比重新装一遍省事得多。希望这篇记录能帮你顺利把 Ubuntu 20.04 LTS 装起来并稳定用下去。

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

相关新闻

Spring Boot来访管理系统实战:从表结构设计到核心接口落地

Spring Boot来访管理系统实战:从表结构设计到核心接口落地

简介:基于Spring Boot框架的来访管理系统源码包,面向需要开发访客登记、预约与来访统计场景的Web开发者,覆盖管理员与访客两类角色,包含个人中心、访客管理、访客预约管理、访客来访管理等核心模块,体现前后端分离的分…

2026/10/20 23:16:46 阅读更多 →
车载Android音频HAL Server启动全流程拆解:从init到AudioFlinger

车载Android音频HAL Server启动全流程拆解:从init到AudioFlinger

车载Android项目里,音频问题占了启动阶段很大一部分工作量。一开机没声音、开机声音卡顿、语音助手唤醒失败、电话切音区不生效,追到最底层,几乎都会汇聚到一个进程:Audio HAL Server。很多同学知道有这么一个vendor进程&#xff…

2026/10/20 23:15:44 阅读更多 →
diagram-design 实战:用约束型规范让技术图会说话

diagram-design 实战:用约束型规范让技术图会说话

1. 从一张草图到一套系统:diagram-design 到底在解决什么问题第一次看到 “diagram-design” 这个标题,很多人会以为它只是教你怎么把图画得好看一点。但真正做过技术方案、写过设计文档、给团队讲过架构的人都知道,画图这件事从来不只是“美…

2026/10/20 23:15:44 阅读更多 →

最新新闻

WorkBuddy Skill机制实战:从目录设计到热加载的完整拆解

WorkBuddy Skill机制实战:从目录设计到热加载的完整拆解

WorkBuddy 的 Skill 机制我算是从零开始一点一点啃下来的。最早接触它的时候,我以为就是个普通的插件系统,无非是放几个脚本、写个配置文件、按需加载而已。真正深入进去才发现,一套设计良好的 Skill 机制,涉及存放路径、加载时序、更新策略和长期维护四个维度,每个维度里还藏着…

2026/10/20 23:45:38 阅读更多 →
LLM代理重构GPU算子优化流程:从瓶颈诊断到Kernel改写

LLM代理重构GPU算子优化流程:从瓶颈诊断到Kernel改写

做GPU算子优化这行,真正让我觉得工作流被彻底重写的转折点,是2026年下半年开始,我们把LLM代理正式当成“一等优化手段”来用。以前提到优化kernel,大家脑子里是Nsight Compute、SASS汇编、occupancy分析这些传统套路,现…

2026/10/20 23:45:38 阅读更多 →
AI编码助手如何应对复杂大项目?从SWE-bench冠军到代码关系网实测

AI编码助手如何应对复杂大项目?从SWE-bench冠军到代码关系网实测

标题里塞满了流量词:“AI编码新王炸”“SWE-bench冠军”“免费登场”“专治复杂大项目”“硬刚 Cursor”。我第一反应是,又来了。这半年AI编码工具的新闻标题一个比一个猛,今天有人拿下榜单第一,明天宣布开放免费,后天…

2026/10/20 23:45:38 阅读更多 →
jQuery大文件分片上传:从原理到源码的完整实践

jQuery大文件分片上传:从原理到源码的完整实践

前阵子有位做内部管理后台的朋友问我:网页端能不能用jQuery实现大文件分片上传?最好直接给份能跑的源码。他说自己系统的视频上传一直卡在超时失败,网上搜到的分片上传示例大多绑定了Vue或React的生态,塞进依赖混乱的老项目里根本…

2026/10/20 23:45:38 阅读更多 →
单人创业如何把AI当成超级员工:岗位设计、工作流与质检指南

单人创业如何把AI当成超级员工:岗位设计、工作流与质检指南

一个人创业还算新鲜吗?前两年大家讲项目,多少还得强调“我有合伙人、有个小团队”;到了现在这个时点,很多单干的朋友已经把AI当成实实在在的“第一个超级员工”在用。我身边好几个做电商、做内容、做轻咨询的人,真正干…

2026/10/20 23:45:38 阅读更多 →
Deepagents自动化测试实战:从断言设计到稳定性体系建设

Deepagents自动化测试实战:从断言设计到稳定性体系建设

做过AI Agent相关开发的朋友应该都有同感:写一个能跑通的代理不难,难的是让它稳定地跑完一百遍。LLM天然带有随机性,同样的输入,今天输出这个结果,明天就可能换个路径,哪怕最终答案都对,中间调用…

2026/10/20 23:44:36 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

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

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

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

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

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

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/20 9:50:45 阅读更多 →