
装 Ubuntu 这件事说难不难说简单也真能翻车。我第一次给人装的时候卡在Minimal BASH-like line editing is supported这一行 GRUB 提示符前面整整半小时最后发现是启动盘写到 90% 的时候我顺手把 U 盘拔了。这种事网上的教程基本不会提但真正吃掉你一个下午的就是它们。ubuntu 安装这件事的本质是把一份经过验证的操作系统镜像写进可引导介质再把它展开到目标磁盘并让固件知道该从这里启动。听起来只有四步但每一步都埋着分支镜像选哪个版本、启动盘用不用 DD 模式、分区表是 GPT 还是 MBR、UEFI 还是 Legacy、Secure Boot 开不开、要不要和 Windows 共存。任何一个分支选错结果就是一个装不进去的晚上。这篇东西写给三类人看手里刚拿到一台机器想正经装一次 Ubuntu 的、要在 Windows 旁边装双系统但怕把数据搞丢的、以及用虚拟机或 WSL 只是想先把环境跑起来的。我会把每一步的为什么这么做讲清楚参数怎么算出来也写出来最后贴一张排错速查表基本覆盖你大概率会撞上的坑。不适合纯理论派适合马上要动手的人。1. 装系统之前先做决策版本、路线和硬件三条线动手之前不把这三条线定了后面就是白折腾。我见过太多人镜像下到一半、分区划到一半才开始犹豫我是不是该装服务器版然后重来。1.1 Ubuntu 版本怎么挑LTS 是默认答案但不是唯一答案Ubuntu 的发布节奏是固定的每年 4 月和 10 月各一版版本号就是年月比如 24.04 是 2024 年 4 月。每隔两年的 4 月版本是LTS长期支持版普通版本只维护 9 个月LTS 版本桌面版有 5 年的标准安全更新周期。这就是选版本的第一个判断点你的机器是要用两三年的就别碰非 LTS。第二个判断点是 22.04 还是 24.04。24.04 LTS 换了一套全新的安装器基于 Flutter 重写的界面逻辑和以前完全不一样分区页面的措辞、按钮位置都变了22.04 用的还是老安装器网上大量教程都是照着老界面写的。如果你完全照着某篇旧教程做结果发现界面对不上那不是你的问题是版本差异。硬件较新12 代以后的 Intel、较新的 AMD 平台、新显卡建议直接上 24.04内核对新硬件的支持更完整硬件比较老、或者你依赖某个只在 22.04 上验证过的软件栈那就 22.04。第三个判断点是桌面环境。官方主推的是 GNOME 版本镜像大约 6GB 上下。如果你机器内存只有 4GB 或者更少别硬上 GNOMEKubuntuKDE、XubuntuXFCE、LubuntuLXQt这些官方风味版在同等硬件上会轻快很多。服务器场景直接下 Server 版镜像体积小、没有图形界面装完就是一个干净的终端。1.2 四条落地路线物理单系统、双系统、虚拟机、WSL 各适合谁同样是装 Ubuntu落地方式完全不同选错路线比选错版本更浪费时间。下面这张表是我自己按折腾成本和实际收益排出来的路线适用场景折腾成本主要代价物理机单系统主力开发机、要跑 GPU、要长时间编译中原系统被覆盖数据必须先备份双系统共存主力 Windows 偶尔 Linux、课程作业高分区/引导风险磁盘空间切分虚拟机安装学习、试错、跑一次性环境低性能有损嵌套虚拟化有坑WSLWindows 上写代码、跑命令行工具链最低不是完整系统内核行为有差异虚拟机这条路特别值得说明因为热词里vmware虚拟机安装ubuntu和虚拟机安装ubuntu系统出现的频率非常高。虚拟机的价值在于敢乱搞分区划错了删掉虚拟机重来五分钟把系统搞崩了快照一回滚就回来了。学习 Linux 基础、练命令行、跑个数据库虚拟机完全够用。WSL 则是另一类东西。它不是一个装在虚拟机里的完整系统而是 Windows 内核提供的一层兼容层加上一个真实的 Linux 用户态。日常写代码、跑 git、跑 Python、跑 NodeWSL 的体验流畅得多文件系统互访也方便。但要注意WSL 里的 systemd 默认是不开的需要自己在/etc/wsl.conf里打开内核版本也和主线发行版不完全一致涉及内核模块、Docker 的某些网络模式、GPU 直通这些场景会和物理机有差异。我的建议很直接先虚拟机或 WSL 摸熟再考虑物理机或双系统。这不是保守这是省时间。1.3 动手前的硬件和固件体检这一步最容易被跳过但它决定了你能不能顺利进安装界面。上机之前我一般会做这几项检查。首先是磁盘模式。很多预装 Windows 的笔记本出厂时 SATA/存储控制器工作在 RAID 或者 Intel RST 模式有的 BIOS 里叫 Intel VMDUbuntu 安装器在这种模式下看不到硬盘你会看到分区页面里空空如也。解决办法是进 BIOS 把存储模式改成 AHCI。但这里有个坑Windows 在 RAID 模式下装的直接切 AHCI 会蓝屏。正确顺序是先进入 Windows 安全模式或者用命令让系统预加载storahci驱动再切 BIOS 设置具体做法是管理员权限运行bcdedit /set safeboot minimal重启进 BIOS 切成 AHCI 保存正常进一次系统后再执行bcdedit /deletevalue safeboot这样 Windows 就能在新模式下正常启动。其次是引导模式和磁盘分区表。现代机器基本都是 UEFI GPT但有些老机器或者被改过的机器是 Legacy BIOS MBR。这两者不能混UEFI 固件引导 UEFI 模式装的系统Legacy 引导 Legacy 装的。判断方法很简单Windows 下按 WinR 输入msinfo32看BIOS 模式这一行写的是 UEFI 还是传统。装之前先确认清楚后面做启动盘的时候选择要和这个一致。第三是 Secure Boot。Ubuntu 对 Secure Boot 是支持的官方镜像带了签名的引导程序所以开着也能装。但如果你后面要装 NVIDIA 闭源驱动、装 VirtualBox 的内核模块这些第三方模块没有签名Secure Boot 会拦下来安装过程中会弹出一个 MOK 密码设置界面你需要记住那个密码并在重启后的蓝色界面里手动录入。嫌麻烦的话装之前先把 Secure Boot 关掉装完驱动再决定开不开。第四是虚拟化。虚拟机路线要在 BIOS 里打开 Intel VT-x 或者 AMD-V不开的话虚拟机软件会直接拒绝启动或者跑得慢到没法用。WSL2 也依赖这个。第五是空间。物理机装 Ubuntu我建议给根分区至少留 60GB双系统的话从 Windows 磁盘管理里先压缩出未分配空间注意是未分配不是新建一个 NTFS 分区。2. 材料准备镜像、启动盘、分区表三件事决策做完接下来是把物料备齐。这一章里最容易出错的是分区规划因为它不可逆。2.1 镜像从哪拿顺手把校验和验一遍镜像只有两个正规来源Ubuntu 官方发布站点以及官方认可的国内镜像站。国内镜像站清华、中科大、阿里云等的同步速度快很多尤其是 6GB 的桌面版镜像从国外站点拉可能要一两个小时从国内镜像站通常几分钟。目录结构是固定的进去找releases/下面的版本目录下载ubuntu-xx.xx.x-desktop-amd64.iso或者live-server-amd64.iso。文件名里的amd64是架构名Intel 和 AMD 的 64 位处理器都用这个不是只给 AMD 的。下完之后我强烈建议验一次哈希。理由很实在镜像下载中断、镜像站同步出问题、磁盘写入错误都会导致 ISO 损坏而损坏的镜像往往能正常进入安装界面装到一半才报错那时候你已经把原来的系统擦掉了。Linux 或 macOS 下直接sha256sum ubuntu-24.04.1-desktop-amd64.isoWindows 下用自带工具certutil -hashfile ubuntu-24.04.1-desktop-amd64.iso SHA256把输出和下载页面上的SHA256SUMS文件里对应那一行对比完全一致才算通过。差一个字符都别用重新下。提示不要用第三方高速下载器或者网盘转存的镜像。镜像体积大中转环节越多损坏概率越高而且你无法验证来源。2.2 启动盘怎么做Rufus、balenaEtcher、Ventoy 怎么选三个工具我都用过各有明确的使用场景RufusWindows 平台首选体积小、免安装、速度快。它的优势是选项暴露得清楚分区类型GPT/MBR、目标系统类型UEFI/BIOS、文件系统FAT32/NTFS都能手动指定。你要做 UEFI 启动盘就选 GPT UEFI。缺点是选项多选错了它也不拦你。balenaEtcher跨平台界面极简只有选镜像、选盘、开始三步几乎不会选错。缺点是它会自动判断你失去了对分区表的手动控制而且它会默认做一次校验速度慢一些。Ventoy这个思路完全不同。它只往 U 盘里写一次引导程序之后你把 ISO 文件直接拷贝到 U 盘里就能启动想换系统只要换文件不用重新写盘。经常装系统的人用它会省很多事。缺点是少数机器的固件对它的兼容性不好遇到启动不了的机器还是得回到 Rufus。有一个细节必须讲Rufus 写盘的时候会问你ISO 镜像模式还是DD 镜像模式。默认选 ISO 镜像模式它会把 U 盘格式化成 FAT32 再把文件解压进去之后 U 盘还能正常存东西。DD 模式是逐字节写入U 盘会被写成一个不可读的镜像而且容量会显示成镜像的大小。DD 模式的好处是百分百还原遇到 ISO 模式启动不了的机器可以试试它。两种模式写的盘都能引导。还有一个 FAT32 的限制要知道单文件不能超过 4GB。Ubuntu 的 ISO 里最大的单个文件通常不会超所以 FAT32 没问题。但如果你用 Ventoy 同时放好几个镜像某些镜像里有大文件就需要把 Ventoy 的数据分区设成 exFAT。注意写盘过程中绝对不要拔 U 盘、不要让电脑休眠。我开头提到的那个 GRUB 命令行就是写到一半拔盘导致的。写完之后Windows 可能会弹出需要格式化此磁盘那是它不认识 Linux 分区格式直接点取消。2.3 分区规划把每个分区该多大算出来分区是整件事里唯一不可逆的部分所以我把它拆开算。UEFI GPT 的一套典型方案如下挂载点建议大小文件系统作用与理由EFI 系统分区512MB–1GBFAT32存放引导程序Windows 自带的通常只有 100MB容易满/60–120GBext4系统和软件装的东西多就往上加swap内存大小要休眠或 4–8GB不休眠swap休眠必须 ≥ 物理内存/home剩余全部ext4用户数据重装系统时可以保留几个判断逻辑说明一下。ESP 分区为什么建议单独建 512MB 而不是复用 Windows 那个因为 Windows 建的 ESP 只有 100MBWindows 自己的引导文件就占了一大半剩下可能只剩二三十兆。Ubuntu 装进去勉强够但每次 Windows 更新、每次内核升级都在这几十兆里挤早晚出问题。硬盘空间现在这么便宜单独给 512MB 买个安心很值。注意 ESP 只能有一个挂在/boot/efi上如果你已经有 Windows 的 ESP 且空间充足也可以直接复用。swap 大小怎么定关键在于你要不要休眠。Linux 的休眠是把内存内容整个写到 swap 分区再断电所以 swap 必须 ≥ 物理内存否则休眠会失败。如果你不用休眠笔记本上更常用挂起swap 给 4–8GB 就够甚至可以用 swap 文件代替分区。内存很大32GB 以上的机器配一个等于内存大小的 swap 分区就是白扔 32GB 硬盘空间这时候用 swap 文件更灵活。/home单独分出来的意义要重点说这是让你的重装成本降到最低的关键。系统装在/上个人文件、配置、代码全在/home里。下次重装或者换发行版只要安装时不格式化/home所有数据原样保留。我自己的习惯是从第一台机器开始就把/home独立出来这些年前后重装过十几次文档和配置一次都没丢过。要不要 LVMLVM 的好处是分区可以后期扩容、能做快照。桌面用户不必强求但如果你打算长期用、磁盘又会后期加装LVM 值得开。加密全盘加密看需求它会轻微影响性能而且密码忘了数据就彻底没了这点要有心理准备。2.4 备份和 BIOS 几项必改设置不管你是单系统还是双系统动手之前把重要数据复制到外部硬盘或者云端。双系统尤其要小心手滑选中清除整个磁盘是瞬间完成、没法撤销的。Windows 下可以用系统自带的备份做一次系统映像或者至少把桌面、文档、浏览器书签导出来。BIOS 里要确认或调整的项我列一下存储模式改成 AHCI前文说过Secure Boot 先关掉如果后面要装第三方驱动启动顺序里把 USB 提到前面或者记住开机时的临时启动菜单快捷键确认引导模式是 UEFI如果要装 UEFI 系统虚拟机路线要打开 VT-x / AMD-V这些改完记得保存退出一般是 F10。有些品牌的 BIOS 藏得比较深需要先在启动或者高级标签页里找。3. 实操全流程从按下电源键到看见桌面准备工作做完真正的安装过程其实只有二十来分钟。这一章我按屏幕顺序走一遍把每一屏的选项逻辑说清楚。3.1 引导启动盘快捷键与启动项识别插上 U 盘开机时连按临时启动菜单快捷键。不同品牌不一样常见的对应关系如下品牌临时启动菜单键BIOS 设置键联想 / ThinkPadF12部分需 FnF12F1 或 F2戴尔F12F2惠普F9F10华硕Esc 或 F8F2 或 Del宏碁F12F2微星主板F11Del技嘉主板F12Del进了启动菜单之后你会看到同一个 U 盘可能列出两遍一遍写着UEFI: xxx一遍没有前缀。要装 UEFI 系统就选带 UEFI 前缀的那个选错会变成 Legacy 安装后面和 Windows 的引导会打架。如果选了之后黑屏、卡在厂商 logo、或者直接回到原来的系统那就是引导没成功。下一章我会专门讲这类问题的排查。3.2 安装器逐屏说明Ubuntu 24.04 的新安装器屏幕顺序和 22.04 不同我按 24.04 的来说22.04 的读者对照一下名称即可。第一屏是语言和键盘布局。语言选中文或者英文都行选英文的话后期路径和报错信息更好搜。键盘布局默认是 English (US)笔记本有中文键盘的选 Chinese。然后是试用还是安装的选择想先看看硬件兼容性再决定就选 Try Ubuntu桌面上会有一个安装图标点它进安装流程。第二屏是网络和安装器更新。它会检测到网络并提示你是不是要更新安装器。有网络的话建议更新能避免一部分已知的安装 bug。同时它会问要不要装第三方软件显卡驱动、媒体解码器、字体这个勾选建议打上后面能省一步。但如果你装的是 NVIDIA 独显机器装完可能进不了图形界面这就需要后面用nomodeset处理我在排查章节会讲。第三屏是安装类型选择。这里有个容易误解的点24.04 的新安装器把选项改成了Interactive交互式和Automated自动以及是否启用加密。选交互式之后才会进入磁盘页面。磁盘页面里通常是三个大选项Erase disk and install Ubuntu擦除磁盘并安装整个盘清空适合单系统Install alongside与已有系统共存安装器自动帮你缩分区最省事但可控性差Manual partitioning手动分区完全自己划双系统和有经验的人用这个如果你要对 Windows 做双系统强烈建议不要让它自动alongside因为它在收缩 Windows 分区时有时会算错导致 Windows 分区损坏。正确做法是提前在 Windows 的磁盘管理里压缩好未分配空间然后在安装器里选手动分区。用户名密码那一屏注意密码不要太简单也不要用纯数字。用户名会成为你的家目录名用英文小写别用中文。3.3 手工分区的完整操作这是整篇最核心的一段我按步骤拆。进到手动分区页面后你会看到一块空闲空间free space。选中它点加号或者新建分区依次建下面几个。顺序上先建 ESP再建 swap再建根分区最后建 home。第一个分区用途选EFI 系统分区大小填 512MB 或 1GB格式 FAT32挂载点会自动变成/boot/efi。如果你有现成的 Windows ESP 想复用就选中它把挂载点设成/boot/efi注意不要勾选格式化否则 Windows 的引导就没了。第二个分区用途选交换空间swap大小按前面的计算填比如内存 16GB 且要休眠就填 16GB。不需要挂载点。第三个分区用途选ext4日志文件系统挂载点填/大小填 60 到 120GB。第四个分区同样是ext4挂载点填/home大小把剩下的全给它。在磁盘选项下方还有一个引导加载器安装位置Device for boot loader installationUEFI 模式下这个选项其实意义不大默认保持整块磁盘比如/dev/nvme0n1不要选到某个具体分区上。确认之前把整个分区表从头到尾看一遍ESP 有没有/有没有/home是不是 ext4swap 是不是挂上了。确认无误再点下一步。它会弹一个最终确认框列出它将要执行的所有格式化操作这才是最后的反悔机会仔细读一遍。3.4 安装收尾与首次重启点下安装之后就是复制文件的过程通常十到二十分钟取决于磁盘速度。期间你可以正常用电脑做别的事比如看看分区进度。装完会提示重启。重启的时候会有一个坑如果 U 盘还没拔机器会优先从 U 盘再启动一次又回到安装界面。所以看到请移除安装介质的提示时把 U 盘拔掉再按回车。如果没有这个提示就手动关机、拔盘、再开机。首次进系统有几个检查动作值得做lsblk -f # 确认分区和挂载点是否符合预期 df -h # 确认各个分区容量 free -h # 确认 swap 有没有被识别 ls /boot/efi # 确认 EFI 分区挂上了这几个命令的输出看一眼能提前发现问题比用着用着突然发现 swap 没生效要好得多。3.5 双系统共存GRUB 接管与引导修复双系统装完之后开机应该是 GRUB 菜单里面有 Ubuntu 和 Windows 两个选项。如果只看到 Ubuntu看不到 Windows原因是新版 GRUB 默认关闭了对其他系统的探测需要手动打开sudo nano /etc/default/grub找到或者加上这一行GRUB_DISABLE_OS_PROBERfalse保存之后执行sudo update-grub再重启Windows 应该就出现在菜单里了。如果os-prober没装先sudo apt install os-prober。如果开机直接进 Windows完全看不到 GRUB那就是引导顺序被 Windows 覆盖了Windows 更新偶尔会干这事。进 BIOS 把 Ubuntu 的引导项调到前面就行。要是 BIOS 里根本没有 Ubuntu 的选项可以用 Ubuntu 的 Live USB 启动安装boot-repair工具做一次自动修复这是这类问题最省事的解法。还有一个双系统的高频问题时间差 8 小时。原因是 Windows 默认认为硬件时钟是本地时间Linux 默认认为硬件时钟是 UTC两边理解不一致。在 Ubuntu 里执行下面这条命令让 Ubuntu 改用本地时间timedatectl set-local-rtc 1 --adjust-system-clock或者反过来在 Windows 里改注册表让它用 UTC看你更常用哪个系统。4. 装完之后的必做配置系统装好只是开始接下来这几步决定了它好不好用。这一章的每一步我都给命令可以直接抄。4.1 换源与全量更新默认的软件源在国外下载速度会比较难受。换国内镜像源是最有性价比的一步。但要注意Ubuntu 24.04 换了源文件格式以前改/etc/apt/sources.list的做法在 24.04 上不生效了新格式是 deb822文件在/etc/apt/sources.list.d/ubuntu.sources。这是很多人换完源发现没起作用的原因。24.04 的做法是编辑那个.sources文件把URIs:那一行的地址替换成镜像站地址比如清华的https://mirrors.tuna.tsinghua.edu.cn/ubuntu/或者阿里云的https://mirrors.aliyun.com/ubuntu/有几个URIs:行就改几个。改完执行sudo apt update sudo apt full-upgrade -y22.04 及更早的版本还是老办法/etc/apt/sources.list里把archive.ubuntu.com和security.ubuntu.com替换掉即可。更省事的做法是用图形化的软件和更新应用在下载自下拉里选一个国内站点它会自己改。更新完之后建议顺手装几个基础工具sudo apt install -y build-essential git curl wget vim htop net-toolsbuild-essential里包含了 gcc、g、make 这一套是后面编译任何东西的基础。热词里ubuntu安装gcc失败这种情况多数是因为源没换、网络不通或者系统时间和实际时间差太多导致签名验证失败先date看一眼时间对不对。4.2 中文输入法一次配好fcitx5 与搜狗两条路中文输入法在 Ubuntu 上是一个反复被问的问题原因是它涉及框架和输入法引擎两层环境变量配错了就死活切不出来。先说推荐的方案fcitx5 fcitx5-chinese-addons。这套是现在最稳的纯 apt 安装不用加第三方源sudo apt install -y fcitx5 fcitx5-chinese-addons fcitx5-frontend-gtk3 fcitx5-frontend-qt5装完之后要设置环境变量让 GTK 和 Qt 程序知道去调 fcitx5。编辑/etc/environment加上GTK_IM_MODULEfcitx QT_IM_MODULEfcitx XMODIFIERSimfcitx保存后重新登录不是重启注销再登录就行。然后在设置里找到键盘输入法配置把拼音加进去再设置一个切换快捷键通常用 CtrlSpace。搜狗输入法在 Ubuntu 上也能装但它是基于 fcitx4 的和 fcitx5 冲突装之前必须先把 fcitx5 卸干净否则就是装了但切不出来。新系统我建议直接上 fcitx5 自带的中文输入词库和体验已经够用省掉一堆兼容问题。注意环境变量写在/etc/environment里不要加export前缀那个文件和 shell 脚本语法不一样加了会被当成变量名的一部分。4.3 显卡驱动、字体和桌面观感调整NVIDIA 独显机器装完系统先别急着装驱动先确认系统能正常进桌面。官方的推荐驱动可以用一条命令查和装ubuntu-drivers devices sudo ubuntu-drivers autoinstall它会自动选一个标记为 recommended 的版本。装完重启生效。如果你用了 Secure Boot这一步会要求设 MOK 密码重启后会有一个蓝底白字的界面让你录入别错过那个界面错过一次就要重新走一遍。字体的部分中文环境第一件事是装中文字体否则网页上会看到方块sudo apt install -y fonts-noto-cjk fonts-wqy-microhei fonts-wqy-zenhei终端的等宽字体对观感影响极大。热词里提到的接近 macOS 体验的字体我的实际感受是这几个Maple Mono 圆润度和字重控制很好JetBrains Mono 连字ligature做得漂亮Sarasa Gothic更纱黑体是中文等宽里最舒服的一个中英混排不会忽宽忽窄。终端里设置字体的时候记得同时调一下行高默认 1.0 会显得挤1.2 到 1.3 观感好很多。桌面缩放也值得一说。高分辨率屏幕2K、4K在 Linux 上的缩放体验不如 macOS 顺滑GNOME 下可以在设置 - 显示里调缩放比例也可以装 GNOME Tweaks 单独调字体缩放。Fractional scaling 打开之后某些应用会模糊这是历史遗留问题遇到就只能单独给那个应用设环境变量绕过。4.4 开发环境三件套SSH、Docker、构建工具链这三样是热词里出现频率最高的一个个说。SSH。装服务端只需要一条命令sudo apt install -y openssh-server sudo systemctl enable --now ssh sudo systemctl status ssh状态显示 active (running) 就正常。热词里ubuntu ssh无法连接是高频问题原因通常是这几类服务没起来、防火墙拦了、端口被改过、sshd_config里PermitRootLogin的设置挡了、或者根本没有生成主机密钥。按顺序排查systemctl status ssh看服务sudo ufw status看防火墙sudo ss -tlnp | grep 22看端口监听sudo sshd -t检查配置文件语法。主机密钥缺失的话执行sudo ssh-keygen -A重新生成。Docker。不建议直接用系统源里的docker.io版本旧用官方仓库装sudo apt install -y ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod ar /etc/apt/keyrings/docker.asc echo deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release echo $VERSION_CODENAME) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin装完把自己加进 docker 组这样不用每条命令都 sudosudo usermod -aG docker $USER这一条要重新登录才生效。国内拉镜像慢的话可以在/etc/docker/daemon.json里配镜像加速地址配完sudo systemctl restart docker。Python 环境。这里有个 24.04 的新变化必须提醒系统启用了 PEP 668 的外部管理环境保护直接pip install会被拒绝报externally-managed-environment错误。这不是 bug是防止你把系统 Python 搞乱。正确做法是用虚拟环境sudo apt install -y python3-venv python3-pip python3 -m venv ~/venvs/main source ~/venvs/main/bin/activate pip install numpy pandas实在要在系统环境装临时用--break-system-packages参数但别养成习惯早晚会把系统 Python 依赖搞崩。C 项目要用 CMake 的话sudo apt install -y cmake装的是发行版带的版本可能比较旧。需要新版就去官网下预编译包或者用 pip 装pip install cmake在虚拟环境里再用cmake --version确认。热词里ubuntu cmake banben版本这类问题基本都是系统源里的版本太老导致的。5. 问题排查实录与常见坑位速查装系统这件事出问题的地方其实高度集中。这一章我按什么时候出的问题分类配一张速查表。5.1 进不去安装界面黑屏、卡 logo、GRUB 命令行三种典型表现对应不同原因。黑屏或者一直卡在厂商 logo最常见的是显卡驱动问题。解决方法是进 GRUB 菜单的时候如果能看到光标选中 Ubuntu 那一项按e进入编辑找到以linux开头的那一行在行尾加上nomodeset然后按 F10 或者 CtrlX 启动。nomodeset的意思是让内核不要过早加载显卡驱动用基础显示模式先进系统。进去之后正常装显卡驱动下次开机就不用加了。出现grub或者Minimal BASH-like line editing提示符说明引导程序加载了但找不到配置文件。原因基本是启动盘写坏了或者镜像损坏。重新写盘、重新下镜像别在这个状态里折腾能修好的概率极低。卡在/initramfs或者报unable to find a medium containing a live file system这是安装介质读取失败也是写盘或者 U 盘本身的问题。换个 U 盘试试或者换 Rufus 的 DD 模式再写一遍。5.2 安装过程中的报错分区页面看不到硬盘前面说过了是存储模式问题回 BIOS 改 AHCI。装到一半报镜像校验失败说明 ISO 损坏重新下、重新验哈希。装到一半断网如果选了安装时下载更新断网会导致安装卡住。解决办法是断网重来或者在安装开始时就不勾选下载更新装完系统再更新。我个人习惯是安装时不联网装完再换源更新速度快也更可控。分区格式化报错、提示分区表不合法通常是磁盘上有残留的软 RAID 元数据或者旧的分区表签名。用 Live USB 启动执行sudo wipefs -a /dev/nvme0n1这条命令会清空整块盘的签名执行前务必确认盘符正确然后再装。5.3 装完之后的高频故障SSH 连不上。前面讲过排查顺序补充一个容易忽略的点如果你改了 SSH 端口ufw只放行了 22那新端口照样连不上。时间差 8 小时。双系统专属问题timedatectl set-local-rtc 1 --adjust-system-clock解决。环境变量配置错误。热词里有这个词实际表现是命令找不到。常见原因有三个一是把export写进了/etc/environment那里不认二是改的是~/.bashrc但用的是 zsh读的是~/.zshrc三是把 PATH 覆盖了而不是追加写成PATH/opt/xxx/bin而不是PATH$PATH:/opt/xxx/bin结果系统命令全找不到了。最后一个问题在图形界面里是没法修的只能用CtrlAltF3切到 tty用绝对路径/usr/bin/vim把文件改回来。登录后黑屏只有鼠标。通常是显卡驱动装到一半或者 GNOME 扩展冲突。CtrlAltF3切 tty登录后sudo apt remove掉可疑的驱动或者最近的扩展再sudo systemctl restart gdm3。磁盘满了。df -h找满的分区du -sh /* 2/dev/null | sort -h逐层定位。最常见的元凶是/var/log里的日志和/var/cache/apt的包缓存清一下就好sudo apt clean sudo journalctl --vacuum-size200M5.4 虚拟机与 WSL 的专属问题虚拟机路线的三个高频问题装不上是因为 BIOS 里 VT-x / AMD-V 没开界面卡顿、分辨率调不了是没装增强工具VMware 装open-vm-tools-desktopVirtualBox 装增强功能包拖拽复制失效基本也是增强工具的问题。虚拟机里的磁盘分配建议用动态分配而不是固定大小省空间。WSL 路线的高频问题systemd 不生效需要在/etc/wsl.conf里加[boot] systemdtrue改完在 Windows 侧执行wsl --shutdown再重新进。网络访问问题通常是 WSL 的网络模式造成的可以在 Windows 侧用.wslconfig调整。另外 WSL 里的文件如果放在/mnt/c/下读写速度会明显慢于 Linux 原生文件系统项目代码建议放在~下面性能差距很大。下面这张表把上面的问题汇总一下方便对着查现象最可能的原因处理方向分区页看不到硬盘存储模式是 RAID/RSTBIOS 改 AHCI黑屏卡 logo显卡驱动冲突GRUB 加 nomodesetgrub 提示符启动盘或镜像损坏重写盘、重下镜像装完看不到 Windowsos-prober 被禁用改 grub 配置后 update-grub开机直接进 Windows引导顺序被覆盖BIOS 调顺序或 boot-repair时间差 8 小时硬件时钟理解不一致timedatectl 设本地时间pip 安装被拒PEP 668 保护用 venv 或 --break-system-packagesSSH 连不上服务/防火墙/端口按 systemctl → ufw → ss 顺序查中英混排发虚缺中文字体装 fonts-noto-cjk24.04 换源无效源文件格式变成 deb822改 .sources 文件而非 sources.list6. 重装、迁移与长期维护的个人体会最后这一段不是总结是我自己这些年反复重装之后攒下来的几个习惯你要是打算长期用 Ubuntu照着做能省很多事。第一个习惯是永远把/home独立分区。这件事的价值我在前面提过但值得再强调一次。我从第三台机器开始就这么做之后无论换硬盘、升版本、还是系统被自己搞崩了重装/home一律不格式化数据零丢失。代价只是第一次多划一个分区。第二个习惯是把系统装了什么记录下来。Ubuntu 上有一个很好用的命令可以导出所有手动安装的包sudo apt-mark showmanual ~/apt-manual.txt重装之后可以拿这个列表批量装回来。类似的还有pip freeze导出 Python 包、把 dotfiles.bashrc、.gitconfig、.vimrc这些放到一个 git 仓库里管理。我现在换一台新机器从装系统到环境恢复大概四十分钟能搞定靠的就是这些。第三个习惯是装系统之前先想清楚要不要 LVM。LVM 最大的好处是后期扩容方便/home满了可以直接从别的卷组里划空间过来不用重装。缺点是加了一层抽象出问题的时候排查多一层。桌面用户如果磁盘空间够用不一定需要笔记本这种扩展性差的设备LVM 反而更值得开。第四个是快照。Ubuntu 上用 Timeshift 做系统快照设置成每次 apt 升级前自动拍一张系统盘占用很小出问题的时候回滚几分钟就能回到可用状态。这比重装有价值得多尤其是你折腾驱动、折腾内核的时候。第五个是不要追新。除了 LTS 版本其他的升级能省就省。内核和显卡驱动能不升就不升稳定比新功能重要得多。我现在主力机的原则是能跑起来的工作环境一年最多动一次。提示重装前一定要确认/home分区是不是真的独立出来的。在安装器的分区页面看到/home那一行的时候不要勾选格式化这是保留数据的关键一步也是最容易手滑的一步。至于扩展方向如果你已经在物理机上跑通了下一步通常会碰到容器化、多机集群、或者把开发环境整体搬到远程服务器上这几类需求。这些的起点都是同一件事把系统装明白、把网络配通、把 SSH 弄稳。前面这几块打好底子后面的东西基本就是加软件的事了。