
Ubuntu 装起来不难难的是装完才发现当初选错了路。我见过太多人把主力笔记本直接抹盘装双系统结果无线网卡没驱动、Windows 的分区还写不进去也见过有人在虚拟机里折腾了一下午最后发现只是 3D 加速没开桌面卡成幻灯片。安装 Ubuntu 操作系统这件事本质上不是下一步下一步的操作题而是一道前置决策题——你得先想清楚这台机器以后要干什么再决定镜像下哪个版本、盘怎么分、引导怎么放。这篇内容适合三类人第一次接触 Linux 想找个稳妥入口的新手、想在虚拟机里搭一套干净开发环境的程序员、以及准备让 Windows 和 Ubuntu 长期共存的老用户。下面我会把三条安装路线的取舍、镜像与启动盘的准备、手动分区的容量账、双系统装完的三个后遗症、以及第一次进桌面后的配置顺序按我自己的实操顺序摊开讲中间会标注哪些地方是我踩过坑才改过来的做法。1. 装之前先选路线物理机单系统、虚拟机、双系统三条路各有代价1.1 三条路线的真实差异别只看哪个性能好物理机单系统是把整台机器交给 Ubuntu。CPU、内存、磁盘 IO、显卡驱动全部原生直通编译代码、跑容器、训练小模型这类吃资源的活儿体验最好。代价是驱动兼容性完全暴露出来部分笔记本的无线网卡尤其是较新的 Wi-Fi 6E/7 芯片和指纹模块Ubuntu 内核里未必带闭源固件得自己装linux-firmware或者额外找驱动。另外原本依赖 Windows 的专业软件、网银 U 盾、某些硬件调试工具就彻底用不了了。虚拟机路线是把 Ubuntu 装进 VMware Workstation 或 VirtualBox 里。优点是零风险装坏了删掉重建十几分钟又是一条好汉快照功能可以让你在跑歪一个实验后一键回滚。缺点是性能有损耗尤其是图形和磁盘随机读写桌面动画会明显不如物理机跟手。虚拟机适合学命令行、练 Docker、搭前后端联调环境、试各种发行版不适合当主力桌面长期用。双系统是折中方案机器启动时选进 Windows 还是 Ubuntu两边都跑在裸硬件上。适合既要真实性能、又不愿意放弃 Windows 生态的人。代价是分区操作有风险、引导需要维护、Windows 的快速启动和 BitLocker 会给你添麻烦。1.2 我自己的判断逻辑和硬件前置检查我的判断逻辑很朴素这台机器如果三个月内还要跑 Windows 独占的软件就虚拟机如果确定要长期用 Linux 做主力就单系统如果两边都放不下再考虑双系统而且第一次装双系统别选主力工作机。动手前把这几项检查掉能省掉后面一半的排错时间内存虚拟机里跑桌面版 Ubuntu宿主机至少 16G 内存给虚拟机 4G 到 8G 才舒服。物理机单系统 8G 够用16G 起步比较从容。磁盘Ubuntu 桌面版装完加上常用软件30G 是底线建议 60G 以上。虚拟机磁盘文件建议放 SSD机械盘上跑虚拟机会卡到怀疑人生。固件模式进 BIOS 看是 UEFI 还是 Legacy BIOS。2012 年以后的机器基本都是 UEFI这种情况下分区表必须是 GPT还要有一个 EFI 系统分区。安全启动Secure BootUbuntu 的启动引导程序有微软签名一般可以保持开启。但如果你后面要装 NVIDIA 闭源驱动或自己编译内核模块开启状态会带来额外的签名步骤新手建议先关掉装稳定了再开回来。CPU 虚拟化虚拟机路线必须在 BIOS 里打开 Intel VT-x 或 AMD-V名字可能叫Intel Virtualization Technology、SVM Mode。这个开关不开虚拟机要么起不来要么慢得离谱。Windows 快速启动双系统和虚拟机挂载物理分区都会受它影响先在 Windows 电源选项里关掉启用快速启动。提醒第一次装双系统优先找一台可以随时重装的备用机或者先在虚拟机里完整走一遍流程。分区表一旦写错恢复数据的时间和精力远超你的预期。2. 镜像与启动盘版本选型、校验、写入一个都不能省2.1 版本怎么选别被版本号劝退Ubuntu 的版本号是年份.月份比如 24.04 就是 2024 年 4 月发布。这里有个关键分水岭LTS 长期支持版和临时版本。LTS 每两年发一次桌面版提供 3 年支持、服务器版 5 年每半年还会推送一次小版本更新也就是 24.04.1、24.04.2 这种代表集成了后续的更新补丁新装机直接下最新的小版本号省一次大更新。临时版本每半年发一次只维护 9 个月。对绝大多数人来说选 LTS 就对了。理由很实在软件源稳定、第三方教程最多、遇到问题一搜就有答案而且你不用每隔几个月折腾一次系统升级。如果你是追新硬件驱动的比如刚买的显卡或者网卡在 LTS 里不被识别那就考虑更新的临时版本但要接受它生命周期短的现实。还需要区分桌面版和服务器版。桌面版带图形界面和一套办公软件适合日常使用和开发服务器版没有图形界面装完就是命令行体积小、资源占用低适合做后台服务。架构上普通 PC 和 Intel/AMD 服务器选 amd64苹果 M 系列芯片和树莓派这类 ARM 设备选 arm64下错了根本引导不起来。2.2 校验这一步别嫌麻烦镜像下载完先做哈希校验。下载页面通常会给出 SHA256 值本地算一遍对比能确认文件在下载过程中没损坏。这一步看起来多余但国内网络环境下镜像下载中断、被劫持替换的情况是真会发生的写盘写到一半失败的排查成本远高于校验。Windows 下用命令提示符certutil -hashfile ubuntu-24.04.2-desktop-amd64.iso SHA256Linux 或 macOS 下更简单sha256sum ubuntu-24.04.2-desktop-amd64.iso输出的字符串和官网页面上的值逐位对比一致就行大小写不敏感。2.3 启动盘写入工具的选择与启动顺序调整启动盘写入工具我用过三种各有适用场景工具平台适合谁注意事项RufusWindows只装一个镜像分区类型选 GPT、目标系统选 UEFI模式默认 ISO 镜像模式即可balenaEtcherWindows/macOS/Linux不想纠结参数的人界面极简选镜像选 U 盘点开始出错会明确提示Ventoy跨平台经常装系统、手里多个镜像先给 U 盘装 Ventoy之后镜像直接拷进去就能启动U 盘容量别低于 8GUSB 3.0 的写入速度能让你少等十几分钟。写入完成后Windows 可能会弹窗说U 盘需要格式化别理会这是它在读 Linux 的分区格式点取消就行。如果你是用dd命令直接写到块设备sudo dd ifubuntu-24.04.2-desktop-amd64.iso of/dev/sdX bs4M statusprogress oflagsyncof后面的/dev/sdX一定要确认是 U 盘而不是你的系统盘这条命令写错了没有后悔药可吃。我一般会先用lsblk看一眼设备树确认盘符和目标容量对得上再敲回车。启动顺序调整是在开机时按 F2、F12、Del 或 Esc不同品牌不一样进 BIOS 或启动菜单把 U 盘调到第一顺位。如果用的是 UEFI 模式启动菜单里 U 盘名字前面一般会带UEFI:前缀选带前缀的那个不要选 Legacy 那个否则装出来的系统固件模式和你后续的规划会不一致。3. 虚拟机路线参数怎么给、向导每屏在问什么、装完怎么用3.1 虚拟机参数的分配逻辑虚拟机参数不是给得越大越好得看宿主机剩余资源。我的常用配置是内存宿主机 16G 就给虚拟机 4G32G 以上给 8G。低于 4G 跑桌面版会频繁触发交换鼠标点一下卡半秒。处理器给 2 到 4 个核心不要在处理器数量和每个处理器的核心数量上纠结总核数对就行。磁盘40G 到 60G选将虚拟磁盘拆分成多个文件方便迁移和备份。注意这里分配的是上限不是立刻占用 60G。虚拟化引擎把虚拟化 Intel VT-x/EPT 或 AMD-V/RVI勾上。这个选项决定你后面能不能在虚拟机里再跑 Docker 或者嵌套虚拟机。显存与 3D 加速显存拉到 2G 以上加速 3D 图形必须勾选否则 Ubuntu 的 GNOME 桌面会用软件渲染动画掉帧严重。注意如果你在 Windows 上开过 Hyper-V、WSL2 或者虚拟机平台这些功能它们会独占底层的虚拟化接口导致 VMware 报此平台不支持虚拟化的 Intel VT-x/EPT。解决办法是在启用或关闭 Windows 功能里把 Hyper-V 和虚拟机平台取消勾选重启后再开 VMware。反过来说如果你主要用 WSL2那就别装 VMware两者切换很折腾。3.2 安装向导每一屏到底在问你什么Ubuntu 桌面版的安装向导看起来屏数不少其实每屏只解决一件事语言和键盘布局选中文和汉语中国这一步只影响安装过程和默认输入区域。接着是安装类型页它会问你正常安装还是最小安装——正常安装带办公套件和游戏最小安装只有浏览器和基础工具虚拟机里我一般选最小安装能快不少。下面的安装时下载更新和安装第三方软件两个勾选框建议都不勾前者会拖慢安装速度后者包含显卡驱动和媒体解码器在虚拟机里用不上装完再按需补更省事。到了安装类型页会看到三个选项清除整个磁盘、与其它系统共存、其它选项。虚拟机里没别的系统直接选清除整个磁盘让安装器自动分区就行。如果你想让虚拟机磁盘文件更小也可以选其它选项手动分一个/分区和 swap不建/home单独分区。后面就是时区、用户名、密码、主机名。用户名建议全小写、不带特殊字符因为很多命令行工具和 Docker 镜像会把用户名当环境变量用大写或者中文会让你后面莫名报错。密码别设得太简单Ubuntu 默认要求用户密码不用于 sudo 时的交互但弱密码在联网环境里风险不小。复制文件的过程大概 5 到 15 分钟取决于宿主机磁盘速度。重启前记得做一件事把虚拟机的光驱从 ISO 镜像断开或者把启动顺序改回硬盘优先。否则重启后又从安装镜像启动你会以为系统装失败了。3.3 装完必做的三件配置工具、共享、快照第一次进桌面后先把虚拟机增强工具装上这是虚拟机和 Ubuntu 之间打通的桥梁sudo apt update sudo apt install open-vm-tools open-vm-tools-desktop -yVMware 环境下装这两个包重启后分辨率会自动跟随窗口大小剪贴板和拖拽文件也能双向工作。VirtualBox 对应的是virtualbox-guest-utils和virtualbox-guest-dkms。共享文件夹在虚拟机设置里指定宿主机目录然后虚拟机里执行vmhgfs-fuse挂载VMware 新版也可以用mount -t fuse.vmhgfs-fuse的方式。我通常会把代码目录放在宿主机虚拟机里挂载着用这样两种系统下都能直接改代码。最后一步也是最容易被忽略的装完系统立刻打一个快照。命名规则我习惯用纯净系统-24.04-日期后面每装完一批大件比如驱动、Docker、数据库再打一个。等你哪天把环境变量写坏进不去桌面回滚三十秒解决问题省下来的时间够你喝两杯咖啡。4. 物理机手动分区EFI、swap、/、/home 的容量账怎么算4.1 分区方案与挂载点规划手动分区是新手最发怵的环节但把每个分区的职责想清楚就不难。UEFI 机器上的典型方案是这样挂载点建议容量文件系统作用EFI 系统分区512M 到 1GFAT32存放引导程序UEFI 必需swap内存 ≤8G 给等量16G 以上给 8G 到 16Gswap内存不足时顶替也用于休眠/40G 到 60Gext4系统和软件安装位置/home剩余空间ext4个人数据重装系统时可保留EFI 分区如果机器上已经有 Windows那就直接复用现成的那个千万不要格式化它——你的 Windows 引导还在里面。安装器通常能自动识别并挂载到/boot/efi手动分配时确认勾选的是用于 EFI 系统分区而不是格式化为 ext4。swap 的容量老规矩是内存的两倍那是机械盘时代为了休眠留下的习惯。现在内存 16G 起步swap 给 8G 到 16G 足够日常根本用不满。如果你的机器要经常休眠swap 容量至少等于物理内存。Ubuntu 从 17.04 起默认用 swapfile 代替 swap 分区物理机手动分区时也可以干脆不建 swap 分区装完再调整/swapfile的大小灵活性更高。/和/home分不分家取决于你的使用习惯。分开的好处是重装系统时保留/home个人文件、配置、浏览器数据全在坏处是如果一开始/只给了 20G后面装几个大型工具链就会满扩容还得用 Live U 盘调整分区。我的做法是/给 60G/home拿剩下的。SSD 上单独划分不要跨盘混着分。4.2 引导器安装位置与加密的取舍安装器底部有个安装启动引导器的设备这一栏要指向你的系统盘比如/dev/nvme0n1或者/dev/sda而不是某个分区。指向分区的话引导记录写不完整启动时会直接进 GRUB rescue 命令行界面。全盘加密LUKS是个双刃剑。开启后数据被盗的风险大幅降低但每次开机都要输密码而且一旦忘记密码或者 EFI 分区损坏数据基本救不回来。我一般只在移动办公的笔记本上开台式机和虚拟机不折腾这个。提醒分区操作前务必在 Windows 的磁盘管理里用压缩卷的方式腾出空闲空间不要用第三方分区工具在 Ubuntu 安装器里直接压缩 NTFS 分区。安装器对 NTFS 的调整能力有限强行操作有损坏文件系统的风险。5. 双系统共存后的三个后遗症引导、时间、NTFS 写入5.1 Windows 引导项消失与 os-prober 的默认关闭双系统装完最常见的第一个问题是 GRUB 菜单里看不到 Windows。这通常不是引导被破坏而是 Ubuntu 从某个版本开始默认关闭了os-prober——这个工具负责扫描其他磁盘上的操作系统并加入启动菜单。修复方式是在 Ubuntu 里编辑 GRUB 配置sudo nano /etc/default/grub # 找到这一行并改成 GRUB_DISABLE_OS_PROBERfalse保存后执行sudo update-grub命令输出里如果出现Found Windows Boot Manager on /dev/nvmeXpY说明扫描到了重启就能在菜单里看到。反过来如果你想让 Windows 作为默认启动项把GRUB_DEFAULT改成对应的菜单序号即可序号从 0 开始。5.2 时间差 8 小时不是时区设错了第二个经典问题是切到 Windows 后系统时间慢了 8 小时。原因在于两套系统对硬件时钟的理解不同Linux 默认把 BIOS 硬件时钟当 UTC 存再按本地时区换算显示Windows 默认把硬件时钟直接当本地时间。两边来回切换时间就来回跳。解决有两条路。我更推荐让 Windows 去适应 UTC改注册表最干净在 Windows 里以管理员身份运行regedit定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation新建一个名为RealTimeIsUniversal的 DWORD 值数据设为 1重启即可。另一条路是让 Ubuntu 迁就本地时间timedatectl set-local-rtc 1 --adjust-system-clock timedatectl输出的RTC in local TZ显示 yes 就生效了。但这个做法会让 Ubuntu 无法正确处理夏令时国内没有夏令时影响不大而且系统日志里会提示警告所以能用第一种就用第一种。5.3 Windows 快速启动和 BitLocker 带来的隐形麻烦第三个问题是 Ubuntu 里访问 Windows 的 NTFS 分区只能读不能写甚至干脆挂载失败提示文件系统被挂载为只读或者The disk contains an unclean file system。根源基本都在 Windows 的快速启动和休眠上——开启快速启动后Windows 关机时并没有真正关机而是把内核状态写进了休眠文件NTFS 分区仍然处于被占用的状态。处理方法是回到 Windows在控制面板的电源选项里找到选择电源按钮的功能点更改当前不可用的设置取消勾选启用快速启动然后彻底关机一次不是重启重启不完全走这套流程。另外如果你在 Windows 上开了 BitLocker装 Ubuntu 或者改动 BIOS 里的一些开关比如切换 SATA 模式、关闭安全启动都可能触发恢复密钥校验。装机之前在微软账号里把恢复密钥导出来存好这件事我踩过一次后来养成习惯了。6. 第一次进桌面后的配置顺序源、驱动、输入法、字体6.1 先换源再更新能省下大把等待时间装完系统后的第一个动作是更新软件源和系统。默认源在国外下载速度不稳定换成国内镜像源后速度能差出十倍。最省事的做法是打开软件和更新在下载自下拉里选一个国内镜像它会自动测速并选中延迟最低的那个。命令行操作的话Ubuntu 24.04 之后的软件源配置文件换成了 deb822 格式sudo nano /etc/apt/sources.list.d/ubuntu.sources把URIs:后面的地址改成镜像站地址比如https://mirrors.tuna.tsinghua.edu.cn/ubuntu/然后sudo apt update sudo apt full-upgrade -yfull-upgrade和upgrade的区别在于前者在处理依赖冲突时允许移除某些包系统大版本变动时更彻底。日常更新用upgrade就行更新完重启一次。6.2 显卡驱动开源还是闭源装完黑屏怎么办NVIDIA 显卡是最容易出问题的环节。Ubuntu 默认装了开源的 nouveau 驱动能显示桌面但做不了 CUDA 计算性能也差。切换到闭源驱动的方式有两种图形界面的附加驱动页面里选带proprietary标记的版本或者命令行ubuntu-drivers devices sudo ubuntu-drivers installubuntu-drivers devices会列出适配你这块卡的驱动版本和推荐版本带recommended标记。装完重启生效。装完黑屏的常见原因是驱动版本和内核不匹配或者安全启动拦住了未签名的内核模块。这种情况下在 GRUB 菜单按e编辑启动参数在linux那一行末尾加上nomodeset进系统然后重新安装驱动或者禁用安全启动。nomodeset的作用是让内核先不要加载显卡驱动用基本显示模式启动属于应急手段不是长期方案。AMD 显卡和 Intel 核显省心得多驱动本身就在内核里不用额外安装。注意Ubuntu 24.04 之后的桌面版默认使用 Wayland 会话但 NVIDIA 闭源驱动在 Wayland 下仍然有兼容问题比如输入法候选框不跟随光标、某些软件全屏异常。遇到这类情况登录界面点右下角齿轮可以切回 Xorg 会话稳定性明显更好。6.3 中文输入法与终端等宽字体中文输入法我推荐 fcitx5 组合比旧版 ibus 在各类应用里兼容性好得多sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-frontend-gtk3 fcitx5-frontend-qt5装完在区域和语言里把输入法框架切换为 fcitx5然后在~/.xprofile里补上环境变量export GTK_IM_MODULEfcitx export QT_IM_MODULEfcitx export XMODIFIERSimfcitx注销重登后用Ctrl空格切换中英文。配置的时候注意一点如果同时装了搜狗拼音这类第三方输入法别把 fcitx 自带拼音和搜狗都加进列表里两个候选框同时弹出来会很崩溃。终端等宽字体是另一个容易忽略但影响幸福感的东西。Ubuntu 默认的终端字体在中文和英文混排时字距不均匀写着代码看着别扭。想接近 macOS 那种观感可以试试 JetBrains Mono、Maple Mono、JetBrainsMono Nerd Font 这几款特点是西文字符间距紧凑、l和1、0和O区分明显、带连字ligature可选。安装方式是把字体文件丢进~/.local/share/fonts/然后fc-cache -fv之后在终端设置里选对应字体名就行。中文字体如果显示成方块装一套fonts-noto-cjk基本能解决。7. 开发环境收尾Docker、SSH 与写坏环境变量后的自救7.1 Docker 安装与镜像加速的取舍安装 Docker 建议走官方源比apt install docker.io版本新、特性全sudo apt install ca-certificates curl gnupg -y sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod ar /etc/apt/keyrings/docker.gpg配置好源之后sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin即可。装完第一件事是把当前用户加进 docker 组省得每条命令都敲 sudosudo usermod -aG docker $USER执行完必须重新登录才生效。这一步的代价是安全性下降——docker 组的权限等价于 root个人开发机可以接受多人共用的服务器上要慎重。国内拉取镜像慢是常态配置镜像加速器的方法是编辑/etc/docker/daemon.json{ registry-mirrors: [https://your-mirror.example.com], log-driver: json-file, log-opts: { max-size: 50m, max-file: 3 } }后面两行是限制日志文件大小Docker 默认不限制跑几个月能把磁盘吃满这个坑我在服务器上踩过。改完sudo systemctl restart docker生效。镜像加速器的地址要选当前可用的很多公开的加速地址会不定时失效配置前先curl测一下。7.2 SSH 连不上的排查顺序在自己机器上装完 SSH 服务却连不上按这个顺序查基本三分钟内能定位服务装没装Ubuntu 桌面版默认只装客户端不装服务端需要sudo apt install openssh-server。服务跑没跑systemctl status ssh显示active (running)才正常没起来用sudo systemctl enable --now ssh。端口通不通本地执行ss -tlnp | grep 22看有没有监听从另一台机器telnet 目标IP 22或者直接用ssh -v看卡在哪一步。防火墙拦没拦sudo ufw status如果开了防火墙要放行sudo ufw allow ssh。认证卡住检查~/.ssh目录权限是 700、authorized_keys是 600权限过宽 SSH 会直接拒绝使用密钥。known_hosts 冲突重装系统后主机密钥变了本机会报REMOTE HOST IDENTIFICATION HAS CHANGED用ssh-keygen -R 目标IP清掉旧记录。排查时ssh -vvv的输出很啰嗦但信息量足卡在哪一步、客户端和服务端协商到哪个阶段都写得明明白白比盲目重启服务有效得多。7.3 环境变量写坏之后的抢救流程这是我最想强调的一条经验。手动往/etc/environment或者/etc/profile里加环境变量时只要写错一个字符——比如引号不配对、PATH 里少了冒号——重启后可能直接进不去桌面卡在登录界面循环。这时候别急着重装。按CtrlAltF3切到 tty 文本终端用完整路径调用编辑器/usr/bin/sudo /usr/bin/nano /etc/environment把写错的那一行注释掉或者改回来保存后CtrlAltF1回到图形界面重新登录。之所以要用绝对路径是因为 PATH 变量被写坏之后sudo、nano这些命令都找不到了只有走绝对路径才能绕过去。类似的还有编辑/etc/fstab写错挂载项导致开机卡在紧急模式。处理方式一样进 tty用绝对路径改回来或者把出问题的那行前面加#注释掉重启进系统后再慢慢调。我自己养成的习惯是改这类系统级配置文件之前先备份一份sudo cp /etc/environment /etc/environment.bak改动量控制在一行以内改完立刻source或者重开一个终端验证确认没问题再关掉旧终端。虚拟机用户更简单改之前打个快照出事三十秒回滚。8. 几个零碎但能省下半小时的小经验装完系统后我一般还会顺手做这几件事都是踩过坑之后加的终端里给危险命令加保险。在~/.bashrc里加一行alias rmrm -i删除前会确认虽然有点烦但总比误删重要目录强。保留一个 Ubuntu Live U 盘。系统起不来的时候用它启动进试用模式能挂载硬盘、备份数据、修复分区比到处找救援盘方便。记录自己的配置清单。换机器或者重装时一份写清楚软件包、字体、输入法、Docker 参数、SSH 配置的清单能省掉一整天的重复劳动。我用一个 Git 仓库存这些配置文件和安装脚本新机器上拉下来跑一遍就恢复得七七八八。不要迷信一键脚本。网上很多一键装机脚本确实快但里面改了什么源、装了什么驱动、动了哪些系统配置你并不清楚出了问题无从排查。宁可手敲十几条命令每条都知道在干什么。内核更新后留个心眼。Ubuntu 会自动升级内核某些第三方驱动尤其是显卡和无线网卡在新内核上可能失效。GRUB 菜单里的高级选项可以回退到旧内核所以别急着把旧内核清理掉留一两个版本做后路。我在实际使用中最大的体会是装 Ubuntu 这件事真正的成本从来不在安装过程本身而在装机之前你有没有想清楚这台机器要干什么以及装完之后你愿不愿意花二十分钟把源、驱动、输入法这几件事一次配到位。这三步做扎实了后面几个月都不会再想起操作系统这四个字。