简介:这份PDF整理自2022年1月13日的实践记录,面向在Ubuntu 18.04.6安装与后续配置中遇到障碍的个人用户、运维新手及Linux迁移者,集中解决启动盘制作、硬盘分区、网卡驱动缺失等高频问题。资源为单个PDF文档,约172KB,篇幅紧凑、便于随身查阅,内容按启动盘、系统安装、驱动安装、日常应用四个模块组织,覆盖联想E480 WiFi驱动、奔腾老式MBR机型、i7-11700K以太网卡、Realtek 8125网卡等具体场景,并给出rufus制作启动盘、USTC镜像源、boot/EFI/swap/root/home分区容量参考,以及Chrome、DBeaver、WPS、搜狗输入法、Flameshot等常用软件的安装指引。命令与配置步骤均按实操顺序编写,可直接对照执行以快速完成系统部署与驱动排错。已有437人学习下载,适合希望快速排查安装故障、合理规划分区并补齐常用工具的Ubuntu使用者。
1. ubuntu18.04.6 系统安装:问题多半出在装之前和装之后
ubuntu18.04.6 系统安装本身只有二十分钟,真正吃掉半天时间的是启动盘不被识别、装完没有网卡、分区切完重启黑屏这类“周边问题”。这份由 Hanson Zhang 维护到 20220113 的安装问题笔记,覆盖了 rufus 启动盘制作、手动分区参数、联想 E480 无线网卡、Realtek RTL8125 有线网卡,以及老奔腾台式机和 i7-11700K 新机型两类极端场景。对运维、嵌入式开发和刚从 Windows 切过来的同事来说,照着机型查比在论坛里翻帖子高效得多。下面把这份笔记的关键点拆开讲透,坑在哪也直接说。
2. 启动盘制作:UEFI 与 MBR 选错,开机就是黑匣子
2.1 为什么偏偏是 rufus 和 18.04.6
资料里推荐从科大镜像下载 ubuntu-18.04.6-desktop-amd64.iso,工具固定用 rufus v3.15。这个组合不是随便选的。18.04.6 是 Bionic 序列里比较完整的维护版本,桌面版装完之后是 5.4 HWE 内核,相比 16.04.7 的 4.15 内核,对新网卡、新芯片组的支持要好得多。后面会讲到 i7-11700K 装 16.04 认不出以太网卡,根因就是内核太老。
rufus 这个工具强在它把两个最容易出错的变量直接摆在你面前:分区类型(GPT/MBR)和写入方式(ISO/DD)。大部分装机翻车,都是这两个变量和电脑固件不匹配导致的。后面章节会逐个拆。
2.2 UEFI 与 MBR:开机方式决定盘怎么做
先明确一件事:U 盘怎么做,取决于目标电脑用哪种方式开机。现在的主板默认走 UEFI,配合 GPT 分区表,引导文件放在独立的 EFI 分区里;而老电脑走 Legacy BIOS,配 MBR 分区表,引导直接从磁盘头读。
资料里专门提到公司的奔腾台式机硬盘格式是 MBR,做启动盘时要在 rufus 里把分区类型选成 MBR。如果拿一张 GPT 模式的盘插到只支持 Legacy 的机器上,开机大概率卡在 boot device not found,连安装界面都见不到。反过来,UEFI 机器用 MBR 盘在某些主板上能启动,但会失去 UEFI 的一些特性,而且没法用安全启动。
判断电脑是哪种启动方式,不用拆机。开机进 BIOS/Boot Menu,看有没有 UEFI 字样:选项里带 UEFI 的就是 UEFI 模式,只有 USB HDD 这类传统选项的就是 Legacy。
2.3 rufus 制作步骤与参数对照
rufus 是图形界面,不需要写命令,但每个选项都不能默认一路点下去。按这个顺序做:
- 设备选你的 U 盘,容量建议 8GB 以上,制作过程会清空数据。
- 引导类型选择“镜像文件”,浏览选中下载好的 ubuntu-18.04.6-desktop-amd64.iso。
- 分区类型:目标机器是 UEFI 就选 GPT;老机器 Legacy 就选 MBR。
- 文件系统保持 FAT32,UEFI 引导需要 FAT 格式的 EFI 分区。
- 写入方式默认是“写入镜像(ISO)”,如果做完插上不识别,改成 DD 模式重做。
不同场景下的参数选择,可以直接对照这张表:
| 目标机器 | 分区类型 | 文件系统 | 写入方式 | 备注 |
|---|---|---|---|---|
| 现代台式机/笔记本(UEFI) | GPT | FAT32 | ISO | 最常见,联想 E480 走这个 |
| 老奔腾台式机(Legacy BIOS) | MBR | FAT32 | ISO 或 DD | 资料里公司台式机就是这情况 |
| 兼容性极差的老主板 | MBR | FAT32 | DD | ISO 模式起不来时换 DD |
ISO 模式和 DD 模式的差别在于:ISO 模式是 rufus 把镜像里的文件解出来再写引导,盘里能看到文件;DD 模式是把镜像按字节原样写进 U 盘。DD 模式兼容性最好,代价是不能当普通 U 盘用。我一般先按默认 ISO 模式做,启动不了再换 DD。
做完之后,建议先校验镜像本身没损坏,再插到目标机器上。下载完镜像后在终端里执行:
sha256sum ubuntu-18.04.6-desktop-amd64.iso把输出和科大镜像站ubuntu-releases/18.04.6/目录下的 SHA256SUMS 比对,一致再制作。这一步能排除镜像下载不完整这个隐蔽变量,尤其在公司网络不稳定的时候。镜像没问题但 U 盘还是起不来,就重点查 2.3 里的分区类型和写入方式。
还有个容易误判的点:U 盘做好插回 Windows,系统弹窗提示“需要格式化”。不要点格式化。rufus 写出来的引导分区在 Windows 下不可识别是正常的,格式化只会毁掉启动盘。
3. 手动分区:512MB / 10GB / 100GB 这套参数是这么来的
3.1 为什么建议手动分区而不是“清除整个磁盘”
资料里给出的是自行分区方案。很多第一次装 Linux 的人图省事选“清除整个磁盘并安装 Ubuntu”,这样确实最快,但有两个长期麻烦:swap 大小由安装器自动定,通常只有 2GB,编译大项目或开虚拟机时内存顶不住;所有数据堆在根分区里,以后重装系统想保留 home 目录就得先备份。
手动分区把 /home 独立出来,重装系统时只要挂载回原分区、不勾选格式化,用户数据、配置文件、下载的东西都在。这是 Ubuntu 安装里最值得养成的习惯。资料里四个挂载点的容量设置,就是照着“系统盘够用、数据盘留足、swap 能兜底”的原则定的。
3.2 分区参数表:每一项容量为什么这么定
资料里的分区建议整理成表:
| 挂载点 | 容量 | 分区类型 | 文件系统 | 用途 |
|---|---|---|---|---|
| /boot/efi | 512MB | 逻辑分区(UEFI 下为 EFI 系统分区) | FAT32 | 存放 UEFI 引导文件 |
| swap | 10000MB(10GB) | 逻辑分区 | swap | 虚拟内存/休眠 |
| / | 100000MB(100GB) | 逻辑分区 | ext4 | 系统、软件、/var 等 |
| /home | 剩余全部 | 逻辑分区 | ext4 | 用户数据 |
逐项说下这个容量逻辑。EFI 分区 512MB,UEFI 规范要求 FAT32 格式,Windows 装出来通常才 100MB,512MB 是给多系统引导和后续内核更新留的余量。swap 给 10GB,对齐的是 8GB 到 16GB 内存的机器,休眠要写回内存镜像,swap 小于内存容量就没法休眠;编译大项目内存不够时,swap 能兜底而不是直接 OOM。资料里的 i7 台式机场景,装科学计算或开发环境时 swap 作用很明显。
根分区 100GB 看起来大,实际不算浪费。系统本体加开发工具通常 30GB 左右,但 apt 缓存、Docker 镜像、/var 日志都会在根分区里膨胀。给到 100GB 之后基本不用回来清理。/home 拿剩余容量,数据全放这里,容量越大越好。
3.3 分区操作与验证
安装进行到“安装类型”时选“其他选项”,然后逐块磁盘“更改”设置分区。关键是把每个分区的“用于”选对:引导分区给 512MB,用于选“EFI 系统分区”,挂载点 /boot/efi;swap 分区用于选“交换空间”;/ 和 /home 用于选 ext4,挂载点分别填 / 和 /home。
这里有个概念要澄清:资料分区表里写的“逻辑分区”是 MBR 时代沿用的叫法,在旧机器 MBR 磁盘上确实有主分区和逻辑分区之分;如果走的是 UEFI + GPT 路径,安装器里没有主/逻辑的概念,只要类型选对、挂载点填对就行。老奔腾台式机装 MBR 时,如果分区数量多,注意扩展分区和逻辑分区的组合,避免超过 4 个主分区上限。
装完系统后用 lsblk 确认分区布局:
lsblk -f看输出里每一行的 FSTYPE 和 MOUNTPOINT:sda1 应该是 vfat 且挂载在 /boot/efi,swap 那行 FSTYPE 是 swap,/ 和 /home 是 ext4。目录结构出错在这里一眼就能看出来,不用等重启才发现。
3.4 挂载点别搞混:/boot、/boot/efi 不是一回事
新手最容易混的是 /boot 和 /boot/efi。EFI 分区必须挂载在 /boot/efi,这是 UEFI 固件读取引导程序的固定路径;而 /boot 是传统 BIOS 模式下放内核和 initrd 的目录。资料这套方案里,GPT 磁盘上只需要一个 FAT32 的 EFI 分区,不需要额外建 /boot 分区。
如果你手头是一台老 MBR 机器,Ubuntu 安装器会自动把 GRUB 写到磁盘主引导记录,这时候也不需要单独的 /boot 分区。什么时候才需要手动分 /boot?用 LVM 全盘加密之类的复杂方案时才考虑,普通装机不用碰。
4. 驱动安装实战:从“没网卡”到正常联网的完整流程
4.1 装机最尴尬的瞬间:装完只有 lo 一个网卡
新机器装 Ubuntu,最容易翻车的就是有线网卡和无线网卡驱动。装完系统打开终端敲ip link,只看到一个回环接口 lo,没有 eth0 也没有 wlan0,这个场景资料里出现了两次:一次是航嘉 i7-11700K,一次是 aigo 水冷 i7 台式机。
遇到这种情况先别重装系统。用手机 USB 共享热点上网是最快的出路。安卓手机插 USB 线,进设置打开“USB 网络共享”;iPhone 是“个人热点”里打开 USB 共享。系统会把这个连接识别成一张 rndis_host 虚拟网卡,能直接上网。然后执行:
sudo apt-get update sudo apt-get install -y build-essential dkms linux-headers-$(uname -r)第一行更新软件源索引,第二行装编译工具链和内核头文件。build-essential 提供 gcc 和 make,dkms 用于注册驱动模块并管理内核升级后的自动重编译,linux-headers 是编译内核模块时必须的,后面的$(uname -r)会自动替换成当前内核版本号,保证头文件和正在运行的内核严格对应。
手机热点只能救急,网卡驱动没装上之前,每次开机都依赖手机,所以联网后的第一件事就是按下面的机型把对应驱动装掉。
4.2 联想 E480:rtl8821ce WiFi 驱动编译安装
联想 E480 笔记本的无线网卡是 Realtek RTL8821CE,这颗芯片在 Ubuntu 18.04 的内核里没有原生驱动,需要从 GitHub 拉源码自己编译。资料里给的是 tomaspinho 维护的 rtl8821ce 仓库。操作流程:
sudo apt-get install -y build-essential dkms linux-headers-$(uname -r) git clone https://github.com/tomaspinho/rtl8821ce.git cd rtl8821ce sudo ./dkms-install.sh sudo modprobe 8821cedkms-install.sh 这步会把驱动注册进 dkms 体系,以后内核升级时它自动重新编译,不需要手动重装。最后一条 modprobe 是立刻加载模块,不用重启就能看到无线网卡。装完用iwconfig确认,能列出 wlan0 之类的无线接口就说明驱动生效了。
如果手头没有网线也没有手机热点,git clone 会失败。备选做法是从另一台电脑把仓库打包成 tar 传过来,但依赖的编译工具链还是得靠热点或者离线 deb 包解决,所以 4.1 那步绕不过去。
4.3 Realtek RTL8125 2.5G 有线网卡:官网源码包的正确装法
aigo 水冷 i7 那台机器的网卡是 Realtek RTL8125,2.5G 速率,旧内核不带驱动。资料里的排查路径很标准:先查硬件型号再找对应驱动。
lspci -v | grep -i "realtek"输出里能看到 Realtek 的网络控制器 Device 8125 之类字样,确认硬件后去 Realtek 官网下载对应驱动。下载回来的是一个 r8125-9.007.01.tar.bz2 的源码包,不是 deb 包,安装方式如下:
tar xjf r8125-9.007.01.tar.bz2 cd r8125-9.007.01 sudo sh ./autorun.sh reboottar xjf是解压 bzip2 压缩包,x 解压、j 用 bzip2、f 指定文件。autorun.sh 脚本会一次性完成编译、加载模块、写入开机自启。装完重启,ip link应该能看到新的以太网接口。这个驱动必须联网才能编译,因为要连接内核源码和头文件,所以这套操作要排在 4.1 手机热点之后。
有个参数细节:r8125 的版本号和内核版本有一定对应关系,9.007.01 支持 5.4 内核没问题。如果你装的是更新的内核(比如 5.15 以上的 HWE 内核),驱动包编译可能报错,那就去官网下载对应新版的 r8125 源码包,流程不变。
4.4 两类特殊机型:老 MBR 台式机和 11 代 i7
资料里提到的奔腾腾机是另一种极端:不是驱动问题,是引导方式问题。这种老机器硬盘是 MBR,BIOS 里根本没有 UEFI 选项。处理方式在资料里写得很明确:rufus 里分区类型选 MBR,然后开机进启动菜单选 USB 启动。老机器启动时按 F12 或 F2 进 Boot Menu,不同品牌按键不一样,屏幕提示一般会标出来。
航嘉 i7-11700K 那台则相反,问题出在系统版本上。i7-11700K 是 11 代平台,配套网卡芯片较新,16.04 的 4.15 内核完全没有驱动,装完网络就是断的。换 18.04.6 的 5.4 HWE 内核后,大部分网卡能直接认出来,认不出来的再用 4.3 的方法装官网驱动。这个案例的核心结论是:新硬件装旧系统,省事的代价是失去硬件支持,先确认内核够不够新,再谈驱动。
5. 避坑:五条反复出现的装机血泪经验
5.1 rufus ISO 模式做出来 U 盘不认
现象:U 盘开机后直接提示 boot device not found,或者在屏幕左上角一个光标闪,进不了安装界面。
原因:rufus 默认的 ISO 写入模式是从镜像里提取文件再写引导,绝大多数机器没问题,但碰上兼容性差的老主板或者 U 盘主控比较特殊,固件就不认这个引导记录。
解决:把写入方式从“写入镜像(ISO)”改成“写入镜像(DD)”,重做一次。DD 模式是逐字节原样写入,引导记录的位置和内容跟刻录光盘一致,兼容性最好。从那以后我遇到不认盘的机器,第一反应就是切 DD,省得反复试。
5.2 手动分区时漏了 EFI 分区,重启黑屏
现象:装的过程一切正常,重启后直接黑屏或者卡在 grub 提示符,进不了系统。
原因:UEFI 启动模式下,主板固件只会从 EFI 系统分区(ESP)读取引导文件。手动分区时如果只分了 / 和 swap,没有建挂载在 /boot/efi 的 FAT32 分区,GRUB 的 EFI 文件没地方放,固件找不到引导入口。
解决:分区阶段务必留出 512MB 给 EFI 系统分区,挂载点 /boot/efi,文件系统 vfat,用于选“EFI 系统分区”。如果已经装完踩了这个坑,用做好的安装 U 盘进 Live 模式,跑一遍 boot-repair 工具可以补建引导,但明显比重装麻烦。血泪教训:分区表里没有 EFI 分区之前,不要点“现在安装”。
5.3 装 build-essential 报“无法定位软件包”
现象:手机热点连上了,sudo apt-get install build-essential却提示 E: Unable to locate package。
原因:新装的 Ubuntu 软件源指向官方 archive.ubuntu.com,从国内网络访问经常超时或者源列表没有同步,apt 拿不到索引自然找不到包。
解决:先换源再安装。把 /etc/apt/sources.list 里的源地址换成科大或者清华镜像,然后sudo apt-get update,再执行安装命令。这一步在 4.1 里应该放在 build-essential 前面做,顺序反了就会撞上这个报错。
5.4 rtl8821ce 编译报错找不到 linux/compiler.h
现象:执行 dkms-install.sh 时编译中断,报错信息里有 missing linux/compiler.h 或者类似的内核头文件缺失提示。
原因:系统装了 gcc,但没装与当前内核版本匹配的 linux-headers 包。dkms 编译模块时要把源码接到内核头的体系里去,头文件不对必然失败。
解决:先确认版本再补装。执行uname -r查看内核版本,然后sudo apt-get install linux-headers-$(uname -r)。用命令替换自动匹配版本,比自己手敲版本号稳妥。装完确认 /usr/src 下能看到对应目录,再跑 dkms-install.sh。
5.5 deb 包装完打不开,点了没反应
现象:用 dpkg 装完 WPS、搜狗输入法这类 deb 包,图标点开没有窗口,或者启动时报依赖错误。
原因:dpkg 只负责把包解开,不解析依赖关系。很多第三方 deb 包依赖的库系统里没有,装上之后缺库直接起不来。
解决:dpkg 装完后马上补一句sudo apt -f install -y,它会自动把缺失的依赖补全。搜狗输入法装完还要去“系统设置 -> 区域与语言”里把智能拼音添加进输入源,然后注销重新登录,否则输入法图标不出现。这一条在换源之后做,依赖拉取才不会失败。
6. 装完系统先干这几件事:常用软件与驱动验证三板斧
6.1 换源和基础包
系统装好、驱动跑通之后,第一件事是把软件源换成科大镜像。资料里提到的 daily 应用全都依赖 apt 和网络,源不顺后面每个软件都装得费劲。改完 sources.list 后执行sudo apt update && sudo apt upgrade,把系统基础包刷新到当前状态。
6.2 五款日常软件安装
资料推荐的五款软件,四个是 deb 包,一个是 apt 直接装:
sudo dpkg -i google-chrome-stable_current_amd64.deb sudo dpkg -i dbeaver-ce_latest_amd64.deb sudo dpkg -i wps-office_11.1.0.10702_amd64.deb sudo dpkg -i sogoupinyin_*.deb sudo apt -f install -y sudo apt install -y flameshot前四条 dpkg 装完需要最后统一跑一次apt -f install -y补依赖。DBeaver 是跨平台数据库客户端,连 MySQL/PostgreSQL 都够用;WPS 在 Linux 下对 Office 文档的兼容性比 LibreOffice 稳,适合办公场景;flameshot 是截图工具,装完在设置里给它绑一个快捷键,比如 Ctrl+Alt+A,比系统自带截图好用。
6.3 驱动装完怎么确认真的生效
驱动装完不是重启就完事,我有三连命令验证:
lsmod | grep 8125 dmesg | grep -i "r8125\|eth" | tail -n 20 ethtool eth0 | grep Speed ping -c 4 223.5.5.5第一条看驱动模块有没有加载,没有输出说明模块没进去;第二条看内核日志里有没有加载报错,比如固件缺失、中断冲突;第三条看网卡协商速率,RTL8125 正常应该是 2500Mb/s,如果显示 100Mb/s 说明网线或者对端设备有问题。最后 ping 通外网,整个链路才算真正打通。
从那以后,我每次装完网卡驱动都强制走一遍这三条命令,确认模块加载、内核日志干净、速率正常、外网通,才敢把机箱盖合上。这套习惯救过我不少次,尤其在内核升级之后,模块经常静默失效,不验证就发现不了。希望帮到你。
本文还有配套的精品资源,点击获取