双系统安装全攻略:从原理到实战的Linux+Windows共存指南
1. 为什么选择双系统一个老玩家的深度思考如果你正在考虑在电脑上安装Linux并且已经看到了“双系统”这个选项那么恭喜你你正站在一个非常有趣的技术十字路口。作为一个在Linux和Windows之间反复横跳了十多年的老用户我深知这个决定背后的纠结。很多人上来就问“怎么装”但在我看来搞清楚“为什么要装双系统”以及“它到底意味着什么”远比直接跳到安装步骤重要得多。这决定了你后续的体验是如鱼得水还是痛苦不堪。首先让我们直面一个核心问题双系统不是虚拟机。这是两个完全不同的技术路径。虚拟机如VMware、VirtualBox是在你现有的Windows系统里通过软件模拟出一个“沙盒”Linux在这个沙盒里运行。它的优点是安全、隔离、方便快照和恢复性能损失对于日常学习也完全可以接受。但缺点同样明显它无法完全调用你的物理硬件尤其是独立显卡性能有损耗并且始终有一种“隔着一层玻璃”的感觉无法获得原生的、完整的Linux体验。而双系统则是让你的电脑在开机时拥有两个完全独立、平起平坐的操作系统。它们各自占据硬盘上的一块独立空间互不干扰。开机时一个叫做“引导程序”通常是GRUB的菜单会跳出来让你选择这次要进入Windows还是Linux。选择哪个哪个就获得这台电脑硬件的完全控制权。这意味着在Linux里你可以榨干显卡的每一分性能来跑深度学习或玩原生游戏可以精细调校每一个内核参数可以获得最纯粹、最底层的系统体验。代价是你需要实实在在地划分出一块硬盘空间给Linux并且承担因操作不当可能导致原有Windows系统无法启动的风险虽然现在风险已大大降低。那么谁真正需要双系统呢我总结了几类典型用户开发者与工程师你需要一个稳定、纯净、高度可定制的开发环境。无论是C/C编译、嵌入式交叉编译、还是Docker/Kubernetes集群搭建原生Linux环境能避免Windows下各种路径、权限和依赖的“玄学”问题。学生与学习者计算机、网络安全、人工智能等专业的学生课程实验和项目往往基于Linux。双系统能让你在真刀真枪的环境里练习iptables、systemd、bash脚本而不是在虚拟机的“温室”里。特定软件依赖者有些专业软件或工具链只在Linux上运行得最好或者干脆只有Linux版本。追求极致性能与控制的极客你就是想完全掌控你的机器讨厌后台不必要的服务享受从内核到桌面环境的每一个定制细节。如果你属于以上任何一类那么双系统就是为你准备的。接下来我将带你走完从“想清楚”到“装稳妥”的全过程其中会包含大量官方教程不会写的细节和踩坑心得。2. 战前准备比安装更重要的四步安装双系统有点像做外科手术术前准备决定了手术的成败。很多人急着下载系统镜像却倒在了第一步。请务必按顺序完成以下准备这能帮你避开90%的常见问题。2.1 硬件与系统的兼容性自查这不是走过场。首先确认你的电脑硬件特别是显卡和无线网卡。NVIDIA显卡在Linux下的驱动一直是个“故事会”虽然现在情况好多了但如果你用的是最新型号的显卡可能需要手动安装闭源驱动过程略有繁琐。AMD和Intel的核显则通常开箱即用。无线网卡方面一些较新的或小众的网卡可能缺乏开源驱动需要寻找替代方案或使用USB网卡。一个简单的办法是用你的电脑型号加上“Linux”作为关键词搜索看看社区里有没有反馈。其次明确你的Windows版本和启动模式。这是现代双系统安装中最关键、也最容易出错的一环。请按照以下流程操作在Windows搜索框输入“系统信息”并打开。找到“BIOS模式”这一项。如果显示“传统”说明你的电脑是传统BIOS MBR分区表。如果显示“UEFI”则说明是UEFI GPT分区表。绝大多数2015年后出厂的电脑都是UEFI模式。再确认一下“安全启动状态”。UEFI模式下可能会有“安全启动”选项。为什么这个如此重要因为Linux的引导程序GRUB需要和Windows的引导方式匹配。UEFI模式下的安装流程、分区方式和传统BIOS完全不同。我们接下来的所有步骤都将以目前主流的UEFI模式为例。如果你的电脑是传统模式网上也有大量教程但请注意分区工具和引导安装的差异。2.2 至关重要的数据备份这是铁律没有商量余地。双系统安装涉及磁盘分区这是有数据丢失风险的直接操作。即使你自认为步骤烂熟于心也请备份。全盘备份推荐使用Windows自带的“文件历史记录”或第三方工具如Macrium Reflect Free将整个系统盘通常是C盘备份到移动硬盘或网络位置。这是最保险的方案。关键数据备份至少将桌面、文档、下载、图片等个人文件夹以及浏览器书签、重要软件的配置文件等复制到非系统盘如D盘或外部存储设备。做完备份心里不慌。即使最坏的情况发生你也能轻松恢复。2.3 为Linux腾出空间磁盘分区规划Linux需要一个家。你需要在现有的硬盘上划出一块未分配的空间给它。绝对不要在已有分区上直接安装那会覆盖你的Windows。在Windows中操作是最安全的右键点击“此电脑” - “管理” - “磁盘管理”。找一个有足够剩余空间的盘符比如你的D盘。右键点击它选择“压缩卷”。输入你要压缩出的空间大小。对于Linux桌面系统建议至少分配80GB以上。如果你想把它作为主力开发环境或者要存放大量数据集那么150GB-200GB会更从容。计算单位是MB1GB 1024MB。点击“压缩”后你会看到一块黑色的“未分配”空间。到此为止不要再进行任何操作不要在这里新建简单卷就把这块未分配的空间留着。Linux安装程序会识别并利用它。2.4 制作启动U盘细节决定成败你需要一个至少8GB的U盘建议USB 3.0及以上里面的数据会被清空请提前备份。选择发行版对于新手Ubuntu 22.04 LTS或Linux Mint是最佳选择。它们硬件兼容性好、社区庞大、文档丰富。本文将以Ubuntu为例。去其官网下载桌面版Desktop的ISO镜像文件。选择刻录工具不要用Windows自带的刻录功能。推荐使用Rufus开源免费。它专门处理UEFI/GPT启动盘非常可靠。使用Rufus刻录插入U盘打开Rufus。设备选择你的U盘。引导类型选择点击“选择”找到你下载的Ubuntu ISO文件。分区类型务必选择“GPT”对应UEFI模式。如果Rufus自动检测为GPT保持即可。目标系统类型选择“UEFI非CSM”。其他选项保持默认点击“开始”。Rufus可能会问你是否以DD镜像模式写入选择默认推荐方式即可。等待写入完成你的可启动U盘就做好了。注意有些电脑特别是品牌机的UEFI设置默认只信任Windows的引导管理器。我们可能需要在安装前后进入BIOS/UEFI设置进行微调。3. 安装实战步步为营的详细流程准备好U盘后重启电脑。在开机logo出现时狂按F2、F12、Delete或Esc键不同品牌电脑按键不同请自行搜索“你的电脑品牌进入BIOS”进入UEFI/BIOS设置界面。3.1 调整UEFI/BIOS关键设置进入后找到以下设置项名称可能略有不同关闭安全启动Secure Boot在“Security”或“Boot”选项卡下。对于许多Linux发行版关闭安全启动可以避免不必要的驱动签名冲突。安装完成后大部分系统可以重新开启它。调整启动顺序Boot Order在“Boot”选项卡下将“UEFI: [你的U盘品牌名]”或“Removable Devices”移动到第一启动项。保存并退出通常是F10。电脑会自动从U盘启动进入Ubuntu的“试用或安装”界面。3.2 图形化安装程序详解选择“Try or Install Ubuntu”先进入Live CD环境。这是一个完整的、运行在内存中的Ubuntu系统你可以先体验一下确认无线网络、声音、显示等基本硬件是否工作正常。确认无误后双击桌面上的“Install Ubuntu”图标开始安装。语言选择选择中文后续安装界面和系统语言都会是中文。键盘布局保持默认。更新和其他软件正常安装vs最小安装新手建议选“正常安装”它会包含网页浏览器、办公套件、媒体播放器等常用软件开箱即用。“最小安装”则只有一个极其干净的系统适合高手。为图形或无线硬件安装第三方软件务必勾选这个选项它会自动安装NVIDIA、AMD等专有驱动以及一些非自由的固件如某些无线网卡驱动能极大提高硬件兼容性。下载更新可以勾选但安装过程中下载可能会慢。也可以安装完系统后再更新。安装类型最关键的一步你会看到几个选项如“清除整个磁盘”、“与Windows Boot Manager共存”等。请选择“其他选项”Something else。这个选项能让你完全手动控制分区过程是最安全、最清晰的方式。手动分区核心操作 现在你看到了整个磁盘的分区列表。找到你在Windows中压缩出来的那块“空闲空间”free space。选中它点击下方的“”号来创建分区。Linux至少需要两个分区推荐三个EFI系统分区大小512MB官方建议最小但考虑到未来多个内核512MB足够。新分区的类型逻辑分区对于GPT磁盘逻辑和主分区区别不大但通常EFI分区被创建为主分区不过安装程序会自动处理这里选逻辑分区没问题。新分区的位置空间起始位置。用于EFI系统分区。这个分区至关重要它是UEFI模式下所有操作系统的引导文件存放地。Windows已经有一个EFI分区了我们不需要新建但必须确保Ubuntu的引导器安装到这个已有的EFI分区里。所以我们先创建它但先不挂载。交换空间swap大小一个经验法则是物理内存大小的1到2倍。如果你有8GB内存设置8GB-16GB的交换空间是合理的。如果内存很大如32GB以上交换空间可以设置得小一些如4GB甚至对于有大量内存的桌面用户可以不要交换分区不推荐但可行。类型逻辑分区。用于交换空间。根分区/大小占用所有剩余空间。类型逻辑分区。用于Ext4 日志文件系统。挂载点/。这是Linux系统的根目录所有其他目录如/home, /usr都将挂载在其下除非你单独为它们分区。分区创建完毕后最关键的一步来了在分区列表的底部有一个“安装启动引导器的设备”下拉菜单。你必须选择你电脑上已有的那个EFI系统分区通常是/dev/nvme0n1p1或/dev/sda1这种格式大小在100MB-500MB之间类型是efi。绝对不能选整个磁盘如/dev/nvme0n1这样GRUB引导程序就会和Windows的引导管理器放在同一个EFI分区内实现双系统引导。时区与用户创建根据提示选择时区上海创建你的用户名和密码。记住这个密码它也是你未来进行系统管理sudo的密码。点击“现在安装”确认分区更改安装程序就会开始复制文件。这个过程大约需要10-20分钟期间你可以继续看设置幻灯片。安装完成后会提示你重启。重启时务必立即拔掉U盘否则电脑可能会再次从U盘启动。4. 安装后的精调与避坑指南重启后你应该会看到一个黑底白字的GRUB引导菜单列出了Ubuntu和Windows Boot Manager或类似的Windows选项。用方向键选择回车进入。如果直接进入了Windows说明GRUB没有正确接管引导。别慌这是常见问题。4.1 GRUB引导菜单丢失或错误的修复如果开机直接进Windows说明Windows的引导管理器覆盖了GRUB。我们需要从Ubuntu Live CD环境修复。再次用U盘启动进入“Try Ubuntu”试用模式。打开终端CtrlAltT。安装必要的工具并修复sudo apt update sudo apt install efibootmgr grub-efi-amd64-signed sudo mount /dev/nvme0n1pX /mnt # 请将X替换为你的Ubuntu根分区号例如p5 sudo mount /dev/nvme0n1p1 /mnt/boot/efi # 挂载EFI分区p1通常是EFI分区号 sudo mount --bind /dev /mnt/dev sudo mount --bind /dev/pts /mnt/dev/pts sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo chroot /mnt grub-install /dev/nvme0n1 # 安装GRUB到磁盘注意这里是整个磁盘设备如nvme0n1或sda update-grub # 生成新的GRUB配置这一步会自动探测到Windows系统 exit sudo reboot重启并拔掉U盘GRUB菜单应该就回来了。进入Ubuntu后第一件事是打开“软件和更新”在“附加驱动”选项卡里检查是否有可用的专有显卡驱动特别是NVIDIA用户选择推荐版本安装并重启以获得最佳的图形性能和功耗管理。4.2 系统更新与基础配置在终端里运行sudo apt update sudo apt upgrade -y这会让你的系统保持最新状态修复安全漏洞。接下来安装一些必备的“瑞士军刀”工具它们会让你后续的使用顺畅无比sudo apt install -y vim git curl wget net-tools htop build-essentialvim强大的文本编辑器。git版本控制工具。curl/wget命令行下载工具。net-tools包含ifconfig等老牌网络工具。htop增强型的系统监控工具。build-essential包含GCC、make等编译工具链是很多软件编译安装的基础。4.3 双系统下的数据共享与时间同步数据共享你肯定希望在两个系统里都能访问某些文件如文档、下载的文件。最安全的方式是创建一个独立的NTFS格式的数据分区。因为Windows原生支持NTFS而Linux通过ntfs-3g驱动也能完美读写。你可以在Windows的磁盘管理里从另一个数据盘非系统盘再压缩出一块空间格式化为NTFS盘符设为E:\DATA之类的。在Ubuntu中它会被自动识别并挂载你可以在/media/你的用户名/下找到它或者将其配置为开机自动挂载到指定目录如/mnt/Data。时间不同步问题这是一个经典坑。Windows默认将硬件时钟RTC视为本地时间Local time而Linux默认将其视为世界协调时UTC。导致的结果是当你从Ubuntu切换到Windows时间会快8小时假设你在东八区。解决方法是在Linux中调整sudo timedatectl set-local-rtc 1 --adjust-system-clock这条命令告诉Linux硬件时钟里存的是本地时间。或者你也可以在Windows里修改注册表让Windows使用UTC但修改Linux这边通常更简单。4.4 性能优化与个性化更换软件源为了获得更快的下载速度可以将软件源更换为国内镜像如阿里云、清华、中科大的源。通过“软件和更新”图形工具可以轻松更换。安装图形化工具如果你喜欢图形界面管理可以安装gnome-tweaks来深度定制GNOME桌面或者安装synaptic新立得这个经典的包管理图形前端。探索终端Linux的精髓在终端。花点时间学习基本的Shell命令ls,cd,cp,mv,rm,grep,find等你的效率会成倍提升。zsh配合oh-my-zsh是一个强大的终端美化与增强方案。5. 当你想说再见安全卸载Linux双系统天下没有不散的筵席。如果你决定移除Linux请务必按正确顺序操作否则可能留下一个无法引导的Windows。正确步骤是在Windows中修复引导这是第一步也是最重要的一步。你需要用Windows安装U盘或恢复环境进入命令提示符使用bcdboot命令重建Windows引导文件。更简单的方法是使用第三方工具如“EasyUEFI”或“EasyBCD”删除GRUB启动项并将Windows Boot Manager设为第一启动项。删除Linux分区确认Windows可以独立正常启动后再回到Windows的“磁盘管理”中。你会看到之前为Linux分配的几个分区Ext4, swap等。右键点击每个分区选择“删除卷”。注意千万不要误删你的Windows分区或那个小容量的EFI系统分区删除后这些空间会合并成一块“未分配空间”。合并未分配空间最后右键点击与这块“未分配空间”相邻的Windows分区通常是你的D盘选择“扩展卷”按照向导将其合并回去。至此你的电脑就恢复到了纯Windows的状态。整个双系统的旅程从规划、安装、使用到卸载形成了一个完整的闭环。记住技术探索的路上大胆尝试细心操作做好备份就没有解决不了的问题。Linux世界的大门已经为你打开剩下的就是尽情探索和创造了。

相关新闻

STM32串口通信实战:从硬件连接到协议解析与调试

STM32串口通信实战:从硬件连接到协议解析与调试

1. 项目概述:从“单打独斗”到“协同作战”在嵌入式开发的世界里,让两块STM32单片机“开口说话”,通过串口进行数据交换,这几乎是每个工程师都会遇到的经典场景。这不仅仅是简单的数据收发,它背后涉及的是系统架构的升…

2026/10/16 17:55:54 阅读更多 →
PCB设计中的跨分割问题:原理、危害与高速信号完整性实战规避策略

PCB设计中的跨分割问题:原理、危害与高速信号完整性实战规避策略

1. 项目概述:从“跨分割”这个高频痛点说起干了这么多年硬件设计,尤其是高速板卡,最怕听到的反馈就是“板子回来了,信号不对,有偶发误码”。一通熬夜排查,示波器、逻辑分析仪轮番上阵,最后问题可…

2026/10/17 16:16:35 阅读更多 →
智能图像指纹技术实现高效照片去重

智能图像指纹技术实现高效照片去重

1. 照片管理痛点与解决方案概述每次手机存储空间告急时,相册里那些重复的照片总是最让人头疼的存在。旅游时连拍的相似风景照、微信自动保存的多张相同图片、不同设备间同步导致的重复文件......这些冗余内容不仅占用宝贵存储空间,更让照片管理变得异常混…

2026/10/3 5:54:30 阅读更多 →

最新新闻

Excel数据透视表实战:从源数据清洗到动态汇总的完整指南

Excel数据透视表实战:从源数据清洗到动态汇总的完整指南

简介:这份《Excel数据透视表应用大全》面向需要处理大量业务数据的职场人士与Excel进阶学习者,帮助解决多维度汇总、分类比较与百分比分析等实际分析难题。资源以Word文档形式呈现,共1个doc文件,压缩包约10MB,内容围绕…

2026/10/17 16:16:28 阅读更多 →
糖尿病预测项目实战:从Jupyter Notebook到完整机器学习建模链路

糖尿病预测项目实战:从Jupyter Notebook到完整机器学习建模链路

简介:这是一套以 Jupyter Notebook 为核心的糖尿病预测入门项目,面向机器学习初学者与数据分析爱好者,演示如何利用 Pima Indians Diabetes 数据集完成从数据清洗、EDA 可视化、特征工程到模型训练与评估的完整流程。压缩包共 4 个文件、约 3…

2026/10/17 16:16:28 阅读更多 →
UML建模实战:校园图书管理系统需求分析与代码生成全解析

UML建模实战:校园图书管理系统需求分析与代码生成全解析

简介:在软件工程实践中,需求分析是决定系统质量的关键环节,而UML建模为需求到设计的转化提供了标准语言。通过用例图明确参与者与功能边界,利用类图梳理实体关系,再借助顺序图推演业务流程,这一系列静态与动…

2026/10/17 16:16:28 阅读更多 →
React入门笔记:组件化、JSX与Hooks实战指南

React入门笔记:组件化、JSX与Hooks实战指南

磨蹭了很久,终于开始系统性梳理React的学习笔记了。前端框架用了不少,但每次都是照着文档敲,敲完就忘,这次决定用"写笔记"的方式逼自己把原理层面的东西弄透。这篇笔记是第一阶段的内容,从组件化思想、JSX语法、状态管理到Hooks的基本用法,全部基于我实际敲代码时的理…

2026/10/17 16:16:28 阅读更多 →
GA-LSTM:用遗传算法自动搜索LSTM超参数,告别手动调参

GA-LSTM:用遗传算法自动搜索LSTM超参数,告别手动调参

简介:基于遗传算法优化LSTM的Python实现资源,面向需要提升时间序列预测准确率的深度学习开发者与研究人员。项目将GA全局搜索能力与LSTM序列建模优势结合,通过GA自动寻优LSTM权重、偏置等参数,缓解传统RNN梯度消失问题&#xff0c…

2026/10/17 16:16:28 阅读更多 →
MySQL学生成绩管理系统数据库设计:需求分析、建表、视图与存储过程完整方案

MySQL学生成绩管理系统数据库设计:需求分析、建表、视图与存储过程完整方案

简介:这份资源是北邮研一数据库课程大作业的完整详解文档,面向正在修读数据库系统课程、需要完成课程设计的研究生及高年级本科生。内容围绕学生成绩管理系统展开,覆盖需求分析、数据库设计、ER图绘制、逻辑结构设计与建表程序等完整流程&…

2026/10/17 16:15:27 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 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/16 21:54:38 阅读更多 →
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/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练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/16 14:23:36 阅读更多 →