Ubuntu 20.04 LTS 安装与初始化配置全指南:从启动盘到开发环境

发布时间:2026/10/6 20:29:20
Ubuntu 20.04 LTS 安装与初始化配置全指南:从启动盘到开发环境 简介这份指南专为Linux初学者与希望拓展系统技能的技术爱好者编写围绕Ubuntu 20.04 LTS的安装与初始化展开帮助读者摆脱对Windows或macOS的依赖通过清晰的图文步骤掌握从镜像获取到系统部署的完整流程。资源为单个docx文档大小约13KB内容紧凑实用涵盖从官网下载镜像、使用Rufus制作启动U盘、进入BIOS/UEFI调整启动顺序到选择Try Ubuntu或Install Ubuntu安装模式、设置磁盘分区、创建用户账户以及配置语言、键盘和时区等全部关键环节。文档特别说明了双系统安装时与Windows Boot Manager共存的注意事项并给出了系统更新、常用软件安装和界面个性化等初始化配置方法例如使用apt命令安装浏览器、办公软件以及调整桌面背景和主题等适合用作构建服务器或多任务环境时的入门操作手册。目前已有二百人学习下载对于首次接触Linux的用户而言这是一份可以直接对照执行并能快速上手的入门参考资料。1. Ubuntu 20.04 LTS为什么现在还在用它以及这篇指南到底帮你解决什么Ubuntu 20.04 LTS 发布于 2020 年 4 月标准支持到 2025 年但 Ubuntu Pro 可以把它延续到 2030 年——很多云厂商的默认镜像、培训机构的实验环境、以及大量生产服务器至今仍跑在这套系统上。这些年我帮团队和客户装过不下百次 Ubuntu 20.04 LTS发现大多数人的痛点不在安装本身而在装完之后的初始化配置软件源没换导致 apt 慢到怀疑人生NVIDIA 驱动装上就黑屏中文输入法怎么都调不出来SSH 连不上还找不到原因。这篇指南从制作启动盘开始一路走到分区、系统配置、开发环境初始化把安装和初始化配置里最常见的坑和对应的解决路径一次讲清楚。适合三类人刚接触 Linux 想装双系统的新手、要在虚拟机上搭开发环境的人、以及需要批量初始化服务器的运维。2. 安装前要定的三件事镜像、启动盘与分区方案2.1 镜像选择20.04.x 小版本怎么挑进入 Ubuntu 官网镜像下载页面会看到 20.04.6 这样的小版本号。20.04 LTS 的小版本更新到 20.04.6 就是最后一个维护版后续的更新全部通过 apt 推送。选择建议很简单直接下载 20.04.6 Desktop 版。但要注意区分几个变体Desktop ISO带 GNOME 桌面适合个人电脑和虚拟机。约 2.5GB 到 3GB。Server ISO不带桌面环境纯命令行适合服务器。约 1GB。LiveServer ISO新版安装器支持自动安装配置文件适合批量部署。如果是虚拟机实验环境用 Desktop 版最省事因为后面初始化配置的很多操作比如设置中文输入法、调整显示分辨率在桌面环境下更方便验证。服务器场景选 Server 版省掉桌面占用的内存和磁盘空间。下载完成后强烈建议校验 SHA256。官方页面每个镜像都贴了 checksum用下面的命令核对echo a1b2c3...官方给出的哈希值 ubuntu-20.04.6-desktop-amd64.iso | sha256sum --check校验逻辑sha256sum --check会读入「哈希值 文件名」这种格式如果匹配就输出 OK不匹配会提示 FAILED。这一步看着啰嗦但镜像站下载出错、文件损坏的情况我遇到过好几次烧进 U 盘后安装到一半报错排查半天才发现是镜像本身的问题。另外注意AMD64 架构的镜像在 Intel 和 AMD 的 64 位 CPU 上都能用ARM 机器比如树莓派、部分云主机要选 arm64 版本。2.2 启动盘制作dd 命令与图形化工具制作启动盘有两种常见做法我按场景分开说。Linux 下用 dd 命令直写 U 盘sudo fdisk -l # 确认 U 盘设备名一般是 /dev/sdb 或 /dev/sdc sudo umount /dev/sdb* # 卸载 U 盘所有分区 sudo dd ifubuntu-20.04.6-desktop-amd64.iso of/dev/sdb bs4M statusprogress oflagsync说明fdisk -l用于确认设备名千万不能写错否则会把整块硬盘抹掉。bs4M是每次读写 4MB提高写入速度oflagsync让写入完成后同步落盘防止拔 U 盘时数据还在缓存里。dd 命令没有进度条statusprogress会显示当前写入量和速度。Windows / macOS 下用 balenaEtcher 或 RufusRufus 在 Windows 下选「DD 镜像模式」写入Etcher 直接选 ISO 即可。这里有个细节用 Rufus 默认的 ISO 模式写完后U 盘只有一个分区某些老主板的 UEFI 引导会不识别改成 DD 模式通常能解决。U 盘容量建议 8GB 以上质量别太差——写入过程中掉速或者虚标容量的 U 盘会在安装时不定时崩溃。2.3 分区方案单系统、双系统与虚拟机的不同分法分区是安装前最值得花时间想清楚的一步。我按三种场景给参数场景一虚拟机VMware / VirtualBox虚拟机的磁盘就当一个分区用。安装时选「清除整个磁盘并安装 Ubuntu」让安装器自动分区即可。swap 给 2GB 到 4GB剩下的全给根分区。VMware 下建议把磁盘类型选成 NVMe磁盘控制器选 LSI Logic性能比默认的 SATA 稍好。场景二Ubuntu 单系统物理机推荐分四个区挂载点大小文件系统说明/boot/efi512MBFAT32EFI 引导分区必须/剩余空间减去 home 和 swapext4系统与应用程序/home按需建议不少于 100GBext4用户数据独立swap与内存大小相同或 4GBswap休眠用则要 ≥ 内存如果你计划做数据分析或跑模型/home 单独分区的价值在于系统坏了重装时用户文件和数据还在独立分区里重装后挂回去就能继续用。场景三Windows Ubuntu 双系统最稳妥的顺序是先装 Windows再装 Ubuntu让 Ubuntu 的 GRUB 引导接管启动菜单。Windows 里在磁盘管理先压缩卷空出 100GB 以上未分配空间安装 Ubuntu 时选择「Install Ubuntu alongside Windows Boot Manager」与其他操作系统共存安装器会自动复用现有 EFI 分区。这里注意不要手动格式化 EFI 分区否则 Windows 引导会被破坏。装完后 GRUB 里能看到 Ubuntu 和 Windows 两个启动项不出意外的话开机 10 秒内能正常切换。另外提一个参数/boot分区我一般不单独分除非你要用 LVM 或者 LUKS 全盘加密。单独分 /boot 反而容易因为空间不足导致内核更新失败——20.04 内核加 initrd 镜像动辄 100MB 以上200MB 的 /boot 分区更新几个版本就满了。3. 从 U 盘到桌面安装过程逐步操作与参数选择3.1 引导安装UEFI 优先BIOS 兼容模式是备选插入 U 盘后开机按 F12 / F2 / ESC 进入启动菜单不同主板按键不同。选择带 UEFI 前缀的 U 盘启动项。这里有一个容易翻车的点部分主板的 UEFI 和 Legacy 共存时如果选了 Legacy传统 BIOS模式安装器会用 MBR 分区表和 Windows 的 GPT 分区表冲突双系统的引导就会乱。统一用 UEFI 模式不会有这个问题。启动后看到 GRUB 菜单选「Try or Install Ubuntu」进入体验环境。可以先点「Try Ubuntu」进桌面验证一下Wi-Fi 能不能连、触摸板是否可用、磁盘能不能识别。这些都正常再正式安装。体验环境里打开终端执行sudo ubiquity也可以直接从图形向导开始安装不过正常双击桌面上的 Install Ubuntu 图标就行。3.2 安装选项普通安装还是最小安装进入安装向导后会看到「Normal installation」和「Minimal installation」两个选项Normal带 LibreOffice、Rhythmbox、Thunderbird、游戏等。约 8GB 磁盘占用安装时间 20~30 分钟。Minimal只有浏览器、系统工具和基本驱动。约 4GB 磁盘占用安装时间 10~15 分钟。我的建议是选 Minimal。大多数人的实际用途是开发或部署服务LibreOffice 用不到需要时apt install libreoffice一条命令的事情。Minimal 装完再按需装软件系统更干净apt 依赖冲突也少。另外「Download updates while installing」和「Install third-party software for graphics and Wi-Fi hardware」这两个复选框前者建议不要勾选。安装过程中更新会额外耗时而且国内网络下 apt 连接官方源经常超时安装失败重来的代价很高。装完系统再换源更新可控性更好。后者第三方驱动建议勾选。尤其 NVIDIA 显卡和部分 Wi-Fi 网卡Realtek 8812AU 这类需要非自由固件不勾选的话装完上不了网、显卡驱动是开源的 nouveau体验很差。3.3 用户与分区落地密码策略、时区和磁盘确认用户配置页面填用户名、主机名、密码。密码策略我一般建议至少 12 位混大小写和数字因为装完系统后很多人会开启 SSH 服务弱密码在公网环境里撑不过 24 小时就会被扫描爆破。「Require my password to log in」保持默认勾选「Use Active Directory」跳过。分区这一步在前面已经规划好了界面里选择「Something else」手动分区逐个选中规划好的挂载点设置文件系统为 ext4Swap 区域选 swap 文件系统。注意 EFI 分区类型必须是 FAT32 且挂载点为 /boot/efi安装器对部分主板的 EFI 分区大小要求比较严格小于 100MB 有时会直接报错。最后一步确认时安装器会提示「Write changes to disk?」并列出将要格式化的分区。我的习惯是拿一张纸记下这一步显示的设备名和分区表比如/dev/sda1 → /boot/efi、/dev/sda5 → /home。万一后面对照排查时这张纸能帮你快速确认系统装在了哪块盘上。安装完成后拔掉 U 盘回车重启。重启后进系统第一时间打开终端执行两个命令确认基本状态uname -a # 查看内核版本 lsblk # 查看磁盘与分区挂载情况uname -a如果看到5.4.0-xx-generic字样说明安装正常。lsblk检查挂载点是否和规划一致——特别是 /home 如果是单独分区里应能看到home作为挂载点。到这里安装环节算是走完了。4. 初始化配置软件源、SSH、中文输入法与开发环境4.1 软件源换源是安装后第一件事国内网络环境下官方源archive.ubuntu.com的 apt 更新速度经常只有几十 KB/s换源能直接提升到满速。改源最安全的方式是用 sed 批量替换而不是手动编辑sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list sudo sed -i s/security.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list sudo apt update说明第一条命令做备份这是改源的后悔药手滑改坏可以一键恢复。第二条和第三条命令把所有archive.ubuntu.com和security.ubuntu.com替换成阿里云镜像地址。mirrors.aliyun.com也可以换成清华的mirrors.tuna.tsinghua.edu.cn或中科大的mirrors.ustc.edu.cn以你实测速度为准。apt update会重新拉取软件包索引如果输出里 404 或 Hash Sum mismatch绝大多数情况是镜像同步延迟等几小时或换个镜像即可。20.04 的 sources.list 还包含ppa源Launchpad 上的个人软件包归档。换源后 PPAR 源仍然走ppa.launchpad.net如果某些 PPA 下载很慢可以只对这一条路由做 HTTP 代理不展开说了。4.2 SSH 服务远程管理的基础设施装完桌面版默认不带 SSH 服务端只有客户端。开启服务端sudo apt install openssh-server sudo systemctl enable --now ssh sudo systemctl status ssh说明enable --now等价于enable加start设置开机自启并立即启动。systemctl status会显示 active (running) 字样。接着用ip addr查一下 IP在另一台机器上ssh 用户名IP测试连接。如果连不上先在本机sudo ufw allow OpenSSH放行防火墙再排查端口sudo ss -tlnp | grep :22ss输出里有0.0.0.0:22说明 sshd 在监听。这一步新手最容易踩的坑是sshd_config里设了PermitRootLogin相关的限制——20.04 默认不允许 root 直接用密码登录如果你确实需要 root 远程登录要修改/etc/ssh/sshd_config中的PermitRootLogin yes然后执行sudo systemctl restart ssh。我一般不建议开 root 登录用普通用户 sudo就够。公钥登录比密码登录安全得多初始化时顺手配掉ssh-keygen -t ed25519 -C your_emailexample.com # 本机生成密钥对 ssh-copy-id 用户名服务器IP # 把公钥推送到服务器ed25519是目前兼顾安全和性能的选择比 RSA 2048 短且快OpenSSH 8.x20.04 自带完全支持。ssh-copy-id会在服务器上创建~/.ssh/authorized_keys以后登录就不需要密码了。4.3 中文输入法fcitx5 方案与三条关键配置Ubuntu 20.04 默认的中文输入源是 ibus但体验一般——候选词窗口不跟手、词库小、Shift 切换中英文经常失灵。我一般建议直接上 fcitx5sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-config-qtfcitx5是输入法框架fcitx5-chinese-addons提供拼音引擎和词库fcitx5-config-qt是图形配置界面。装完后还要做两步关键配置第一步设置环境变量。编辑/etc/environment或~/.profileecho export XMODIFIERSimfcitx ~/.profile echo export GTK_IM_MODULEfcitx ~/.profile echo export QT_IM_MODULEfcitx ~/.profile source ~/.profile第二步把 fcitx5 设置为自启动并设为默认输入法框架im-config -n fcitx5im-config -n会把默认输入法框架从 ibus 切到 fcitx5。然后重启会话注销再登录如果任务栏没有出现 fcitx5 图标执行fcitx5 -d手动拉起。配置界面里把「Pinyin」加入输入法列表默认快捷键是 CtrlSpace 切换中英文。三个最容易出问题的地方设置但没重启会话——环境变量只在新的用户会话里生效注销重登一次是最稳妥的。微信 / 钉钉等 Electron 应用里输入法不跟随——这是因为GTK_IM_MODULE被应用覆盖了fcitx5 1.7 以上版本对 Electron 的支持已经改善但仍然建议优先用 Linux 原生版微信。候选词窗口不出现——多半是fcitx5进程崩了pkill fcitx5后再启动即可。搜狗输入法在 20.04 上也能装但它的 Linux 版停更较早如果系统升级过某些基础库搜狗会无法启动。相比之下 fcitx5 的稳定性和可维护性更好这也是我推荐它的原因。4.4 开发环境初始化git、Python 与 nodejs 的 20.04 注意事项20.04 自带的 Python 是 3.8.10很多新项目要求 3.10 以上直接apt install python3并不会更新大版本。我一般用 deadsnakes PPA 装新版本sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.11 python3.11-dev python3.11-venv安装后 Python 3.11 的命令是python3.11和系统自带的python3指向 3.8.10共存。不要尝试把系统默认 python3 软链到 3.11——Ubuntu 的 apt 依赖系统 python3 版本改掉会导致很多系统工具不可用。正确做法是用python3.11 -m venv建虚拟环境在虚拟环境里把python指到 3.11。git 和 nodejs 的安装相对顺滑sudo apt install git git config --global user.name Your Name git config --global user.email youexample.com curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install nodejsgit 装完必须配置 user.name 和 user.email否则首次 commit 会报Please tell me who you are这是新手最常见的报错。nodejs 用 NodeSource 源装的是 18.x LTS比 20.04 自带的 10.x 新两个大版本。这里有一个点curl ... | sudo -E bash -会让脚本在 sudo 下保留当前环境变量避免代理设置丢失。如果你要装 CodexOpenAI 的命令行编程工具它的安装脚本需要 Node.js 18 以上跑npm install -g openai/codex前先确认node -v。在 20.04 上因为 Node 版本过低导致 Codex 装不了的情况很常见先升级 Node 再装就能解决。5. 显卡驱动、内核更新与软件源的避坑指南5.1 NVIDIA 驱动装完黑屏现象安装 NVIDIA 官方驱动后重启显示器黑屏或停留在登录界面无法进入桌面。原因多半是驱动版本和内核不匹配或者nouveau开源驱动没有完全禁用和 NVIDIA 闭源驱动冲突。解决在 GRUB 菜单按 E 进入编辑在linux行末加nomodeset参数按 F10 启动系统。进系统后执行sudo apt purge nvidia-* sudo apt autoremove sudo apt install nvidia-driver-470 # 20.04 5.4 内核推荐 470 系列nomodeset让内核不加载显卡模式设置可以先用基本显示模式进系统。470 是 20.04 支持最成熟的 NVIDIA 驱动系列不要盲目装最新版——CUDA 版本、内核版本和驱动版本三方匹配才稳定。查看显卡驱动是否安装成功用nvidia-smi能输出 GPU 型号和驱动版本就说明成功了。5.2sudo apt install gcc报依赖错误现象执行sudo apt install gcc提示依赖错误比如lib6-dev: depends: libc6 ( 2.31-0ubuntu9.7)但已安装的版本不同。原因软件源里不同仓库的版本不同步最常见的是 PPA 源和官方源混用导致依赖关系错乱。解决先sudo apt update再执行sudo apt --fix-broken installsudo apt --fix-broken install sudo apt dist-upgrade--fix-broken会修复损坏的依赖关系——它会自动安装缺失的依赖包或降级冲突的包。dist-upgrade会把内核和基础库一并升级到当前源里最匹配的状态。如果还不行检查/etc/apt/sources.list里是否混用了不同发行版比如 focal 和 jammy 的源混在一起把非 focal 的源注释掉。5.3 USB 设备报错usbfs: 缓冲大小或 USB 设备频繁掉线现象插入 USB3.0 设备后dmesg里出现usbfs: process X (app) did not claim interface,或者大文件传输时设备断开重连。原因USB 控制器默认的缓冲区或电源管理策略在部分主板上有兼容问题。解决修改 GRUB 启动参数在/etc/default/grub的GRUB_CMDLINE_LINUX_DEFAULT里加入usbcore.usbfs_memory_mb1000sudo sed -i s/GRUB_CMDLINE_LINUX_DEFAULTquiet splash/GRUB_CMDLINE_LINUX_DEFAULTquiet splash usbcore.usbfs_memory_mb1000/ /etc/default/grub sudo update-grub sudo rebootusbcore.usbfs_memory_mb1000将 USB 文件系统可用缓冲提升到 1000MB解决大批量数据传输时缓冲区不足的问题。频繁掉线则可以在 BIOS 里关闭 USB 节能ErP 相关设置试试。update-grub必须执行否则修改不会生效。5.4 软件源更新后出现 404 或 Hash Sum Mismatch现象apt update输出 404 报错或者提示E: Failed to fetch ... Hash Sum mismatch。原因镜像站同步延迟或本地缓存了旧的索引文件。解决删除缓存的索引并清掉过期的包列表sudo rm -rf /var/lib/apt/lists/* sudo apt update如果是 404多半是镜像站某个组件还没同步等半小时再试或者临时切换镜像站。Hash Sum mismatch 则清lists目录基本能解决。顺便一提不要同时启用多个镜像站的源sources.list里同一个组件只能有一行源重复会触发奇怪的依赖解析问题。5.5 双系统时间相差 8 小时现象Ubuntu 和 Windows 切换后系统时间总差 8 小时。原因Windows 认为 BIOS 时间是本地时间Linux 认为 BIOS 时间是 UTC 时间两个系统的时钟解释不一致。解决让 Ubuntu 把硬件时钟当本地时间用sudo timedatectl set-local-rtc 1timedatectl set-local-rtc 1会告诉系统 RTC 存储的是本地时间。执行后timedatectl输出里RTC in local TZ: yes表示生效。这个只对双系统适用单系统 Ubuntu 保持 UTC 反而是推荐的。另一条路是改 Windows 注册表让它用 UTC但操作更繁琐还容易引起其他问题。6. 初始化配置的后悔药Timeshift 快照备份与一把梭的验证清单初始化配置做完最后一件事是给系统拍一张快照。Timeshift 是 Linux 生态里最成熟的系统快照工具类似 Windows 的还原点。20.04 里安装和配置很简单sudo apt install timeshift sudo timeshift --create --comments after-init --tags D--create创建快照--comments写备注--tags D指定类型为 daily——Timeshift 内部按类型管理快照D 代表日常备份。创建完成后sudo timeshift --list可以看到快照列表。快照默认存在/run/timeshift/backup如果系统盘是单独分区建议在挂载 /home 的大分区上留一块空间给快照否则系统分区满了之后快照创建会失败。回滚操作同样一条命令sudo timeshift --restore --snapshot 2024-06-01_12-00-00回滚会重建 GRUB 并恢复系统文件用户名和家目录数据不动。这个工具我建议所有做开发的人装一个——有一次我配置 Docker 时误删了/etc/docker目录服务全挂用快照三分钟恢复到可用状态省了一晚上的排查时间。最后把我初始化配置的检查思路给你做个清单每步一条命令sudo apt update sudo apt upgrade -y # 软件源与补丁 systemctl status ssh --no-pager # SSH 服务运行状态 fcitx5-status # 中文输入法状态 nvidia-smi # 显卡驱动状态 python3.11 --version node -v git --version # 开发环境版本逐个跑一遍每一条都有输出且无报错你的 Ubuntu 20.04 LTS 初始化就算真正落地了。做系统管理这些年我学到的最大教训就是所有配置都要留后悔药——源备份、GRUB 备份、快照备份一个都不能省。环境越复杂、越接近生产这个习惯越值钱。希望帮到你。本文还有配套的精品资源点击获取