☰
Ubuntu 20.04 LTS 安装与初始化配置避坑指南
2026/10/28 12:37:07 网站建设 项目流程

简介:这份文档面向希望摆脱 Windows 或 macOS 限制的技术爱好者、Linux 初学者与开发者,系统讲解在个人电脑上安装 Ubuntu 20.04 LTS 的完整流程,涵盖镜像下载、Rufus 启动盘制作、BIOS/UEFI 启动项调整、安装模式选择、磁盘分区与账户创建,以及首次启动后的 APT 更新、常用软件安装和图形界面个性化设置,可作为搭建服务器平台或改造现有 PC 环境的入门参考。资源包共 1 个 docx 文件,约 13KB,以图文步骤说明为主,结构按准备、安装、安装后配置三阶段组织,便于按需查阅。目前已有 201 人学习。读者可据此掌握从制作启动介质到系统初始化的完整链路,理解双系统与全盘安装的取舍,并借助更新命令与软件安装示例快速完成基础环境搭建,减少摸索成本。

1. 装完就完事?Ubuntu 20.04 的坑八成在重启之后

很多人把 Ubuntu 20.04 LTS 的安装当成一次“下一步下一步”的体力活:镜像下好、Rufus 一写、BIOS 改个启动顺序,看到桌面壁纸弹出来就以为大功告成。我见过太多机器在装完当天一切正常,第二天开机直接卡在emergency mode,或者 Wi-Fi 图标消失、外接显示器不亮、apt update报一堆 404。问题几乎都不在安装那二十分钟,而在安装前的分区决策和装完后的初始化配置。这份 Ubuntu 20.04 LTS 安装及初始化配置指南,价值不在于教你点按钮,而在于把“擦盘还是双系统”“UEFI 还是 Legacy”“装完先跑哪几条命令”这些真正决定后续稳定性的节点讲清楚。它适合第一次在物理机上装 Linux 的开发者,也适合要给测试机、开发机批量铺系统的运维。下面按我实际复现的顺序拆,能抄的步骤直接抄,该避的坑提前标出来。

2. 装前决策:镜像、启动盘与固件模式怎么定

2.1 镜像版本与校验:别跳过 SHA256

Ubuntu 20.04 LTS 的桌面镜像在 2GB 出头,下载本身不复杂,但“下完就用”是第一个翻车点。网络抖动、镜像站同步延迟都会让 ISO 出现静默损坏,表现是 Rufus 写入成功、启动到一半报Initramfs unpacking failed或者安装程序直接崩。常见做法是下完先做一次校验,Windows 下用 PowerShell 的Get-FileHash,Linux 下用sha256sum,把结果和官网公布的校验值逐位比对。

# Linux/macOS 下校验 ISO 完整性,输出与官网 SHA256SUMS 比对 sha256sum ubuntu-20.04.6-desktop-amd64.iso # Windows PowerShell 等价写法 # Get-FileHash .\ubuntu-20.04.6-desktop-amd64.iso -Algorithm SHA256

命令本身没有参数要调,关键是比对对象:一定要用官方发布的校验文件,不要拿第三方页面抄来的哈希。校验不过就重下,别抱着“应该没事”的心态硬写盘,这类问题在安装阶段往往不报错,等到分区表写坏才暴露,排查成本高得多。

2.2 Rufus 写盘的三个关键选项

Rufus 的默认值对 Ubuntu 20.04 基本可用,但有三处值得手动确认。第一是“分区类型”,要和目标机器的固件模式对齐:UEFI 机器选 GPT,老机器 Legacy 选 MBR,选错的表现是 U 盘在启动菜单里根本不出现。第二是“文件系统”,Rufus 会自动处理,不用改。第三是写入模式,弹出“ISOHybrid image detected”时选“以 ISO 镜像模式写入”,不要选 DD 模式,DD 模式写出来的盘在部分主板上兼容性反而差。

选项UEFI 新机Legacy 老机选错的后果
分区类型GPTMBRU 盘不出现在启动菜单
目标系统UEFI (非 CSM)BIOS (或 UEFI-CSM)启动即黑屏或报 no bootable device
写入模式ISO 镜像模式ISO 镜像模式DD 模式部分主板识别失败

U 盘容量 4GB 起步,实际建议 8GB,因为后续如果想在盘里再塞个 PE 或救援系统会方便很多。写盘过程几分钟,Rufus 提示成功后不要急着拔,等缓存落盘再拔,否则分区表可能只写了一半。

2.3 BIOS/UEFI 里真正要改的只有两项

进固件设置界面的按键因品牌而异,F2、F10、F12、Delete 都常见,开机瞬间连按即可。进去之后真正需要动的只有两处:启动顺序把 USB 提到第一位,以及确认 Secure Boot 的状态。Ubuntu 20.04 对 Secure Boot 是支持的,但如果你后续要装第三方内核模块(比如某些显卡驱动、虚拟机内核模块),Secure Boot 开着会拦下来,表现是模块加载失败、dmesg里一堆Key was rejected by service。我的习惯是装系统阶段先关掉 Secure Boot,装完驱动再决定要不要开回去。

提示:改完启动顺序记得保存退出,部分主板有“保存并重启”和“保存不重启”两个选项,选错会以为没生效。

另外,如果机器是双硬盘,注意确认启动顺序里选的是正确的 U 盘条目,有些主板会把同一个 U 盘列出 UEFI 和 Legacy 两个条目,选错会进不同的安装模式,后面分区方案也跟着变。

3. 安装过程:分区方案与双系统边界

3.1 Try 还是 Install:先用 Live 环境验硬件

启动菜单里“Try Ubuntu”和“Install Ubuntu”两个入口,很多人直接点安装。我的建议是先 Try,原因很实际:Live 环境里能立刻验证 Wi-Fi、声卡、触摸板、外接显示器是否工作。Ubuntu 20.04 的内核对较新的硬件支持有限,如果 Live 环境下 Wi-Fi 就不认,装完大概率也不认,提前知道可以先去查网卡型号和驱动方案,而不是装完才发现没网、连驱动都下不了。

Live 环境里打开终端跑几条命令就能摸清底细:

# 查看无线网卡型号与驱动加载情况 lspci -nnk | grep -A3 -i network # 查看显卡与当前使用的驱动 lspci -nnk | grep -A3 -i vga # 确认固件模式,输出 UEFI 或 Legacy [ -d /sys/firmware/efi ] && echo UEFI || echo Legacy

lspci -nnk里的-nn显示厂商和设备 ID,-k显示当前绑定的内核驱动,这两项决定了你后面要不要额外装驱动。最后那条判断固件模式的命令很关键,它决定了分区时要不要建 EFI 分区,装完再发现模式搞错,修复起来要进 Live 环境重装引导。

3.2 擦盘安装与双系统的真实边界

安装类型界面三个选项:擦除磁盘、与 Windows 共存、手动分区。擦盘安装最省事,但它是整盘格式化,机器上原有数据一律不保,这一点教程里往往一笔带过,实际是最大的数据风险点。选之前确认盘里没有还要用的东西,或者已经完整备份。

“与 Windows 共存”看起来友好,实际边界很窄:它依赖 Windows 的快速启动和休眠状态已经关闭,否则分区调整会失败或把 Windows 引导搞坏。装之前务必在 Windows 里关掉“快速启动”和“休眠”,并用磁盘管理压缩出未分配空间。更稳的做法是选手动分区,自己划。

分区挂载点建议大小文件系统说明
1/boot/efi512MBFAT32UEFI 模式必需,Legacy 不需要
2/40GB 起ext4系统和软件,太小后期扩容麻烦
3swap内存 1~2 倍或 8GBswap休眠需要大于内存,不休眠可小
4/home剩余空间ext4独立出来重装系统不丢数据

手动分区的价值在最后一行:/home单独挂载,以后重装系统只格式化/,个人数据原样保留。这是我在多台开发机上固定下来的习惯,重装从“备份半天”变成“二十分钟搞定”。

3.3 安装向导里容易点错的几处

语言和键盘布局按实际选,键盘布局选错的表现是密码里带特殊字符时登录失败,很隐蔽。时区影响系统日志和定时任务的时间戳,选错会让cron在错误的时间跑。用户账户设置里,主机名建议用有意义的名字,后面 SSH、局域网访问都靠它区分。

安装过程中如果卡在“正在探测文件系统”或分区步骤很久不动,先别强关,等几分钟;超过十分钟没动静,多半是磁盘有坏道或 U 盘读取不稳,这时候强关重来比干等强。安装完成提示重启时,一定先拔 U 盘再确认,否则又会从 U 盘启动回到安装菜单,白折腾一轮。

4. 装完第一小时:更新、驱动与基础软件

4.1 换源与首次更新:顺序不能反

装完进桌面第一件事不是装软件,是更新。但直接apt update在国内网络下经常慢到怀疑人生,所以顺序是:先换软件源,再更新。Ubuntu 20.04 的源配置在/etc/apt/sources.list,改之前先备份。

# 备份原始源列表,出问题可一键还原 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 用 sed 把官方源域名替换为国内镜像(示例为通用写法,按实际镜像站域名替换) sudo sed -i 's|http://archive.ubuntu.com|http://mirrors.example.edu.cn|g; s|http://security.ubuntu.com|http://mirrors.example.edu.cn|g' /etc/apt/sources.list # 刷新索引并升级已安装包 sudo apt update && sudo apt upgrade -y

sed那条命令做的是全局域名替换,g表示一行内全部替换,两个s|...|...|用分号串联分别处理主源和安全源。替换的域名要换成你实际可用的镜像站地址,不同镜像站路径结构可能不同,改完先apt update看有没有 404,有就回滚备份。upgrade加-y是免交互确认,批量铺机器时省事,单机首次升级建议不加-y,看清楚要升什么再确认。

4.2 显卡与无线网卡驱动:先看再装

Ubuntu 20.04 装完最常见的两个硬件问题是 NVIDIA 显卡和 Broadcom/Realtek 无线网卡。显卡方面,先跑ubuntu-drivers devices看推荐驱动,再用ubuntu-drivers autoinstall装,不要手动去官网下.run包,后者和内核版本绑定,内核一升级就黑屏。

# 列出可用的专有驱动及推荐项 ubuntu-drivers devices # 自动安装推荐驱动(通常是 nvidia-driver-xxx) sudo ubuntu-drivers autoinstall # 装完重启后确认驱动生效 nvidia-smi

autoinstall会挑标记为 recommended 的那个版本,装完必须重启才生效。如果重启后卡在黑屏或登录循环,进恢复模式卸掉驱动重来,别在图形界面里硬折腾。无线网卡如果 Live 环境就不认,装完后先确认有没有有线网,有的话接网线跑sudo apt install linux-firmware补固件,很多网卡问题就是缺固件包。

4.3 基础软件一次装齐

常用软件按需装,但有几个是开发机标配,一次装完省得后面反复找。下面这条命令把浏览器、编辑器、压缩工具、构建工具链一起带上:

# 一次性安装开发机常用软件包 sudo apt install -y firefox gedit p7zip-full libreoffice \ build-essential git curl wget vim htop net-tools # 验证关键工具版本 gcc --version && git --version && curl --version | head -1

build-essential是编译 C/C++ 的元包,带 gcc、g++、make;net-tools提供ifconfig这类老命令,新系统默认不带,有些脚本还依赖它。装完跑一遍版本确认,能立刻发现依赖没装全的问题。这一步之后系统基本可用,剩下的按项目需求补。

5. 避坑排查:五条装完才暴露的典型问题

5.1 开机进 emergency mode

现象:装完重启,屏幕停在Welcome to emergency mode,要求输入 root 密码或按 Ctrl+D。原因九成是/etc/fstab里某个挂载项的 UUID 写错,或者分区被重新格式化后 UUID 变了。解决:进 emergency mode 后用blkid查实际 UUID,和fstab逐行比对,改错的那行,或者先注释掉可疑挂载项再mount -a验证,能挂上再重启。

5.2 apt update 报 404 或 GPG 错误

现象:换源后apt update大量 404,或者提示NO_PUBKEY。原因分别是镜像站路径结构和官方不一致、以及第三方源的签名密钥没导入。解决:404 就回滚sources.list.bak换一个镜像站;GPG 错误按提示的 key ID 用sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <ID>导入,但要注意apt-key在新版本已弃用,长期方案是把密钥放到/etc/apt/trusted.gpg.d/。

5.3 双系统后 Windows 时间差 8 小时

现象:切回 Windows 发现时间快了或慢了 8 小时。原因是 Windows 把硬件时钟当本地时间,Ubuntu 默认当 UTC。解决:在 Ubuntu 里执行timedatectl set-local-rtc 1 --adjust-system-clock让 Ubuntu 迁就 Windows,或者反过来在 Windows 注册表里改,二选一,别两边都改。

5.4 关机变慢或卡在关机画面

现象:点关机后停在 logo 十几秒甚至更久。原因常见是某个服务或挂载点卸载超时,尤其是网络挂载和虚拟机服务。解决:关机时按 Esc 看具体卡在哪个 unit,用systemctl disable停掉不需要的开机服务,网络挂载在fstab里加nofail和x-systemd.automount选项。

5.5 Secure Boot 拦住驱动模块

现象:装完显卡或虚拟机驱动,dmesg报Key was rejected by service,模块加载失败。原因就是第 2 章提到的 Secure Boot 没关。解决:进固件设置关掉 Secure Boot,或者给模块签名(流程繁琐,个人机不推荐)。这也是我建议装系统阶段先关 Secure Boot 的原因,省掉一类莫名其妙的驱动问题。

6. 收尾技巧:把初始化做成可重复的脚本

单台机器手动配一遍没问题,但如果你要给实验室或团队铺三五台开发机,重复点同样的按钮就是浪费。我的做法是把第 4 章的更新、驱动、软件安装固化成一个初始化脚本,新机器装完系统后跑一遍,二十分钟的配置压到五分钟。脚本不用写得多优雅,关键是幂等——重复跑不报错、不重复装。

#!/usr/bin/env bash # init-ubuntu.sh 开发机初始化脚本,可重复执行 set -euo pipefail # 1. 备份并换源(已换过则跳过) if ! grep -q "mirrors.example.edu.cn" /etc/apt/sources.list; then sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i 's|http://archive.ubuntu.com|http://mirrors.example.edu.cn|g' /etc/apt/sources.list fi # 2. 更新索引并升级 sudo apt update sudo apt upgrade -y # 3. 安装基础软件(apt 本身幂等,已装的会跳过) sudo apt install -y build-essential git curl wget vim htop net-tools p7zip-full # 4. 安装推荐驱动(无专有驱动时该命令无操作) sudo ubuntu-drivers autoinstall || true # 5. 输出结果供核对 echo "=== 初始化完成 ===" gcc --version | head -1 git --version

set -euo pipefail让脚本遇到错误立即退出,避免半途失败还继续往下跑;|| true挂在驱动安装后面,是因为没有专有硬件的机器上这条命令会返回非零,不该因此中断整个脚本。换源那段用grep -q做前置判断,保证脚本重复执行时不会把备份覆盖掉。这套写法我在多台机器上跑过,唯一要按环境改的就是镜像站域名和软件清单。

验证脚本是否真的生效,别只看它跑完没报错,重启一次再确认:nvidia-smi有输出、apt update无 404、systemctl --failed为空,这三条过了才算初始化到位。从那以后我每次装完系统都强制走一遍这个脚本加三项验证,再没出现过“装完能用、过两天崩”的情况。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询