
1. 为什么我还在用U盘给Ubuntu做全新安装每次换新硬盘、新主板或者帮朋友把一台旧笔记本从卡顿的系统里救出来我第一反应还是掏出U盘做一次干净的Ubuntu安装。很多人觉得现在容器、虚拟机、云主机这么方便谁还折腾物理机装机但真到了要跑本地编译、接外设调试、做深度学习推理、或者单纯想要一台响应极快的开发机时物理机上的Ubuntu依然是性价比最高的选择。装机这件事看起来简单可真正踩过坑的人都知道从下载镜像到分区方案再到驱动和引导每一步都有讲究。这篇内容我打算把整个Ubuntu装机过程拆开讲透。适合三类人看第一类是第一次装Linux、怕把电脑搞坏的新手第二类是装过几次但总在分区、引导、驱动上翻车的半熟手第三类是老手想看看有没有能优化流程、节省时间的细节。我会从镜像选择、启动盘制作、BIOS设置、分区策略、安装过程、驱动补全、常见故障排查这几个维度把每一步背后的逻辑讲清楚而不是只给一串命令让你照抄。先说一个反直觉的结论Ubuntu装机失败八成不是系统本身的问题而是启动盘制作方式、BIOS引导模式、分区表类型这三者没对齐。我见过太多人卡在“找不到启动设备”“安装程序检测不到硬盘”“装完进不去系统”这些环节其实根源都在这里。所以下面的内容我会反复围绕这三个核心点展开把它们的因果关系讲明白。2. 镜像下载与启动盘制作别小看这一步2.1 版本选择LTS还是最新版Ubuntu的版本分两类LTS长期支持版和普通版本。LTS每两年发布一次桌面版支持5年服务器版支持更久普通版本每半年一版支持周期只有9个月。我的建议很直接除非你有明确的新硬件支持需求否则一律选LTS。比如做开发机、办公机、服务器LTS的稳定性经过大量验证软件源和第三方驱动的兼容性也最好。那什么时候需要最新版两种情况一是你的CPU、显卡、网卡太新LTS的内核版本识别不了二是你需要某个只在最新版里才有的特性。这种情况下可以先装最新版等下一个LTS发布后再迁移。下载的时候认准官方渠道别去乱七八糟的镜像站下修改版那些版本可能被塞了额外软件源装完一堆广告和后台服务。下载完成后一定要做校验。很多人跳过这步结果U盘写坏了、镜像下载不完整安装到一半报错白白浪费时间。校验方法很简单在下载目录打开终端# 计算SHA256校验值 sha256sum ubuntu-24.04-desktop-amd64.iso把输出结果和官网公布的校验值对比一致才说明文件完整。不一致就重新下载别抱侥幸心理。2.2 启动盘工具的选择逻辑制作启动盘的工具很多Windows下常见的有Rufus、balenaEtcher、VentoyLinux下可以用dd命令或者Startup Disk Creator。我按使用场景给你一个选择表工具适用场景优点注意点RufusWindows下做单系统盘分区方案可选兼容性好要手动选GPT/MBRbalenaEtcher跨平台新手友好界面简单自动校验不能做多合一Ventoy需要多个镜像共存一次制作拖入即用部分老主板兼容性差dd命令Linux/macOS下快速制作无需额外软件写错设备名会毁数据我个人的习惯是如果只装一次用balenaEtcher最省心如果经常装不同系统用Ventoy做一个多合一盘如果在Linux环境下批量操作直接dd。这里重点说dd因为它最容易出事# 先确认U盘设备名千万别写错 lsblk # 假设U盘是 /dev/sdb写入镜像 sudo dd ifubuntu-24.04-desktop-amd64.iso of/dev/sdb bs4M statusprogress oflagsync注意of后面必须是整块设备如/dev/sdb不能带分区号如/dev/sdb1否则镜像写不进去。写之前反复确认设备名写错硬盘就全没了。2.3 启动盘制作中最容易忽略的细节第一个细节是U盘的文件系统。用Rufus时它会问你要FAT32还是NTFS。FAT32单文件不能超过4GB而Ubuntu镜像现在普遍超过4GB所以Rufus会自动拆分或者提示你用NTFS。但有些老主板只认FAT32引导这时候就得用Rufus的“以ISO镜像模式写入”来绕过限制。第二个细节是安全弹出。写完镜像后一定要在系统里“安全弹出”U盘再拔否则文件系统可能没同步完插到目标机器上引导失败。这个坑我踩过不止一次明明制作成功换台机器就报“invalid signature”。第三个细节是USB接口版本。制作启动盘时插USB 3.0口速度快但有些老机器只有USB 2.0口能引导3.0口在BIOS阶段不识别。如果遇到引导失败换个USB 2.0口试试往往就解决了。3. BIOS设置与引导模式装机成败的分水岭3.1 UEFI和Legacy到底选哪个这是整个装机过程中最关键的一个决定。简单说UEFI是新式引导配合GPT分区表Legacy是传统BIOS引导配合MBR分区表。两者不能混用混用就会导致“装完进不去系统”或者“安装程序看不到硬盘”。怎么判断该用哪个看你的机器年代和硬盘大小。2012年以后的主板基本都支持UEFI硬盘超过2TB必须用GPT所以必须UEFI。老机器2010年以前可能只支持Legacy那就用MBR。如果你不确定进BIOS看有没有“UEFI/Legacy Boot”选项有就选UEFI。我建议只要硬件支持一律用UEFIGPT。原因有三GPT支持超过2TB的硬盘、UEFI启动更快、UEFI支持安全启动和更安全的引导链。Legacy模式迟早被淘汰现在新主板甚至已经移除了Legacy支持。3.2 进BIOS后必须检查的几项设置不同品牌的BIOS界面差异很大但核心设置就那几个。进BIOS通常在开机时按F2、Del、F12或Esc具体看屏幕提示。进去后重点检查Boot Mode设为UEFI Only或者UEFI First。Secure Boot装Ubuntu时可以保持开启Ubuntu支持安全启动。但如果要装第三方驱动如NVIDIA闭源驱动建议先关闭装完再开。SATA Mode设为AHCI不要用RAID或IDE。Windows和Linux都认AHCIRAID模式会导致安装程序找不到硬盘。Fast Boot关闭。快速启动会跳过USB设备检测导致U盘引导失败。CSM关闭。CSM是兼容模式开启后可能强制走Legacy引导。这些设置里SATA Mode和Fast Boot是最容易出问题的两个。我遇到过一台机器SATA Mode默认是RAIDUbuntu安装程序死活看不到硬盘改成AHCI后立刻识别。还有Fast Boot开着的时候U盘插上去BIOS根本不认关掉就能引导。3.3 引导顺序与U盘识别设置完上面的选项后把U盘插上重启进BIOS的Boot菜单把U盘调到第一位。如果列表里看不到U盘检查三件事U盘是否制作正确、是否插在能被BIOS识别的接口、Fast Boot是否关闭。有些主板需要把“USB Boot”单独打开或者把U盘从“Hard Drive BBS Priorities”里调整。提示如果U盘在Boot菜单里显示为两个条目一个带UEFI前缀一个不带选带UEFI的那个这样才会以UEFI模式引导。4. 分区方案给系统留足呼吸空间4.1 手动分区还是自动分区Ubuntu安装程序提供“清除整个磁盘并安装”和“其他选项”两种。新手图省事会选自动但自动分区有几个问题它可能不给你单独的/home分区重装系统时数据全丢它可能把EFI分区设得太小导致以后内核更新失败它可能不创建swap分区休眠功能用不了。我的建议是手动分区哪怕你是第一次装。手动分区没那么可怕只要理解每个挂载点的作用就行。下面给一个我常用的分区方案适用于单系统、256GB以上硬盘挂载点建议大小文件系统作用/boot/efi512MB~1GBFAT32UEFI引导文件/50GB~100GBext4系统和软件/home剩余空间的大部分ext4用户数据swap内存的1~2倍或等大swap休眠和内存交换如果硬盘特别小128GB可以不分/home把整个剩余空间给/swap用swapfile代替。如果内存大于32GB且不用休眠swap可以设小一点甚至不设但建议至少留4GB以防万一。4.2 EFI分区的大小陷阱EFI分区默认给512MB很多人觉得够了。但如果你以后要装多个内核、多个系统或者厂商的固件更新往EFI分区里塞东西512MB很快就会满。EFI分区满了会导致内核更新失败系统起不来。我一般直接给1GB反正现在硬盘大不差这500MB。EFI分区的文件系统必须是FAT32类型选“EFI System Partition”。在Ubuntu安装程序里手动分区时要把这个分区的“用于”设为“EFI系统分区”挂载点选/boot/efi。如果装双系统这个分区要和Windows共用千万别格式化否则Windows也起不来。4.3 swap分区的现代用法传统观念认为swap要设成内存的两倍那是机械硬盘时代的老黄历。现在SSD速度快内存也大swap的作用主要是休眠和应急。我的做法是内存16GB以下swap设成和内存等大方便休眠内存32GB以上swap设8GB~16GB就够或者干脆用swapfile。用swapfile的好处是不用单独分区随时可以调整大小# 创建8GB的swapfile sudo fallocate -l 8G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile # 写入fstab实现开机自动挂载 echo /swapfile none swap sw 0 0 | sudo tee -a /etc/fstab注意如果安装时选了“加密主目录”或全盘加密swap分区会被自动加密但swapfile不会。需要休眠功能的话还是单独分一个swap分区更稳妥。5. 安装过程详解从点击安装到首次重启5.1 安装程序里的关键选项进入安装程序后前面几步语言、键盘、网络按实际情况选就行。到了“安装类型”这一步选“其他选项”进入手动分区。分区完成后安装程序会问你把引导程序装在哪里。UEFI模式下引导程序要装到EFI分区对应的磁盘上通常是/dev/sda或/dev/nvme0n1不是分区号。接下来是用户设置。用户名建议用小写字母不要用中文或特殊字符否则某些命令行工具会出问题。密码设强一点但别设到自己都记不住。如果这台机器只有你用可以勾选“自动登录”省去每次输密码但笔记本建议不勾防止丢失后数据泄露。安装过程中会下载语言包和第三方软件如果网络慢可以跳过装完再补。整个安装过程大概10到30分钟取决于硬盘速度和网络。期间屏幕可能会黑一下或者闪一下正常现象别以为死机了。5.2 安装完成后的首次重启安装完成后提示重启这时候先拔掉U盘再按回车否则可能又从U盘引导进入安装界面。如果拔了U盘还是进安装界面说明BIOS引导顺序没调对进BIOS把硬盘调到第一位。首次进入系统后先做几件事更新软件源、升级系统、检查驱动。打开终端sudo apt update sudo apt upgrade -y # 查看显卡驱动状态 ubuntu-drivers devices # 自动安装推荐驱动 sudo ubuntu-drivers autoinstall如果用的是NVIDIA显卡装完驱动重启后可能遇到黑屏或分辨率不对这是驱动和内核模块没配合好。解决办法是进GRUB的恢复模式或者用nomodeset参数临时进入系统再重装驱动。5.3 双系统用户的额外注意事项如果你要在已有Windows的机器上装Ubuntu有几件事必须提前做。第一在Windows里关闭“快速启动”和“休眠”否则Windows会锁定硬盘Ubuntu安装程序无法写入。第二用Windows的磁盘管理压缩出空闲空间不要用Ubuntu安装程序去压缩Windows分区容易出错。第三确认Windows是UEFI引导否则两个系统引导模式不一致GRUB可能识别不到Windows。装完后如果GRUB菜单里没有Windows在Ubuntu里执行sudo update-grub通常就能识别到。如果还不行检查Windows的EFI分区是否挂载正确或者用os-prober手动探测。6. 装完之后驱动、输入法、常用软件一次配齐6.1 驱动补全的优先级Ubuntu装完后最影响体验的是显卡驱动、无线网卡驱动和指纹驱动。显卡驱动前面说了用ubuntu-drivers自动装。无线网卡如果识别不了先看lspci或lsusb确认型号然后查是否需要额外固件。有些Broadcom网卡需要装bcmwl-kernel-source有些Intel网卡需要更新内核。指纹驱动比较麻烦不是所有型号都有Linux支持。可以装fprintd和libpam-fprintd试试sudo apt install fprintd libpam-fprintd # 录入指纹 fprintd-enroll如果录入失败说明你的指纹模块不在支持列表里只能放弃。6.2 中文输入法的配置Ubuntu默认的IBus输入法对中文支持一般我推荐换成Fcitx5加Rime或搜狗。安装步骤sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-frontend-gtk3 fcitx5-frontend-qt5 # 设置环境变量 echo export GTK_IM_MODULEfcitx ~/.profile echo export QT_IM_MODULEfcitx ~/.profile echo export XMODIFIERSimfcitx ~/.profile然后在“语言支持”里把输入法系统改成Fcitx5重启后就能用了。Rime的词库和配置需要自己调搜狗更省事但偶尔有兼容问题。6.3 必备软件与系统优化装完系统后我通常会装这些Git、curl、wget、vim、htop、neofetch、build-essential、cmake、python3-pip、docker。如果是开发机还要装对应的语言环境和IDE。系统优化方面可以调整swappiness降低swap使用频率开启TRIM延长SSD寿命# 降低swap使用倾向 echo vm.swappiness10 | sudo tee -a /etc/sysctl.conf # 开启SSD TRIM sudo systemctl enable fstrim.timer另外建议装Timeshift做系统快照万一折腾坏了可以快速回滚。这个工具在Ubuntu软件源里就有配置好快照位置和计划任务比重装系统省事得多。7. 装机常见故障的排查链路7.1 卡在“找不到启动设备”这个问题的排查顺序是先确认U盘制作是否正确换台电脑试再确认BIOS里U盘是否被识别换USB口然后确认引导模式是否匹配UEFI对UEFILegacy对Legacy最后确认Fast Boot和CSM设置。我遇到过最隐蔽的一次是U盘本身有隐藏分区导致BIOS把隐藏分区当成引导分区重新格式化U盘再制作就好了。7.2 安装程序检测不到硬盘九成是SATA Mode设成了RAID改成AHCI即可。少数情况是NVMe硬盘需要更新BIOS固件或者硬盘本身有问题。如果改AHCI后Windows进不去因为Windows装在RAID模式下需要先在Windows里改注册表启用AHCI再改BIOS具体方法搜“Windows切换AHCI”就有。7.3 装完重启进GRUB命令行这说明GRUB没找到系统分区。在GRUB命令行里手动引导grub ls grub ls (hd0,gpt2)/ grub set root(hd0,gpt2) grub linux /boot/vmlinuz-xxx root/dev/sda2 grub initrd /boot/initrd.img-xxx grub boot进去后执行sudo update-grub和sudo grub-install /dev/sda修复。如果反复出现检查EFI分区是否挂载在/boot/efi以及fstab里的UUID是否正确。7.4 无线网卡和蓝牙不能用先确认硬件是否被识别用lspci -knn看网卡有没有加载驱动。没加载的话查芯片型号去Linux硬件兼容列表里找对应驱动。有些网卡需要从厂商官网下固件放到/lib/firmware然后sudo modprobe -r再sudo modprobe重新加载。蓝牙问题通常是固件缺失装linux-firmware包一般能解决。8. 我这些年装机攒下的几条实在经验第一条装机前先备份数据。不管你是全新安装还是双系统分区操作都有风险硬盘上只要有你在乎的东西先拷到移动硬盘或云盘。我见过太多人自信满满地手动分区结果选错设备整个硬盘被格式化。第二条别追求一步到位。很多人装系统时想一次性把所有驱动、软件、配置都搞定结果遇到问题就卡住。我的做法是分阶段先装系统能进桌面再搞驱动和网络最后配软件和环境。每阶段验证通过再往下走出问题容易定位。第三条记录你的分区方案和配置。装完后把分区表、挂载点、驱动版本、关键配置记下来下次重装或者帮别人装的时候直接参考能省大量时间。我有个文本文件专门记这些几年下来积累了几十台机器的配置遇到相似硬件直接套用。第四条善用Live环境排查。Ubuntu安装U盘本身就是一个Live系统可以先进去试用确认硬件兼容性、网络、硬盘识别都正常再开始安装。如果Live环境里就有问题装完大概率也有问题提前发现能避免白装。第五条内核更新后如果出问题用旧内核启动。GRUB菜单里选“Advanced options”可以进旧内核进去后重新装驱动或者回滚内核。别急着重装系统很多问题旧内核下就正常。最后说一个我最近才注意到的细节Ubuntu的安装程序在NVMe硬盘上创建分区时有时会把EFI分区放在磁盘末尾而不是开头。大部分主板不介意但少数老主板要求EFI分区必须在磁盘前部才能引导。如果你遇到装完进不去系统、但分区明明都正确的情况检查一下EFI分区的位置必要时手动调整到磁盘开头。这个坑很隐蔽我折腾了一下午才找到原因。