1. 为什么今天还需要手动安装Ubuntu 20.04?
在云服务器和自动化部署工具大行其道的今天,手动安装一个桌面版操作系统听起来似乎有些“复古”。但作为一名有十多年经验的系统管理员和开发者,我依然认为,亲手走一遍Ubuntu 20.04 LTS的完整安装流程,是理解Linux系统基础、掌握故障排查能力以及为后续复杂环境搭建打下坚实根基的必修课。Ubuntu 20.04 LTS(Focal Fossa)作为一个长期支持版本,其稳定性和广泛的软件生态支持,让它至今仍是许多开发环境、家庭服务器甚至轻度生产环境的热门选择。网络上虽然充斥着各种一键脚本和快速指南,但跳过基础安装的细节,往往意味着你错过了理解分区、引导程序、驱动兼容性等核心概念的最佳时机。当系统出现引导失败、磁盘空间不足或驱动异常时,那段亲手安装的记忆,就是你解决问题最可靠的地图。
这篇文章,我将以一个老运维的视角,带你完成一次“教科书式”的Ubuntu 20.04桌面版安装。这不仅仅是一份步骤清单,我会穿插大量实际操作中才会遇到的细节、背后的原理,以及我踩过无数次坑后总结出的“避坑指南”。无论你是第一次接触Linux的新手,还是想重温基础的老兵,这份详尽的指南都将确保你获得一个稳定、可控的起点。
2. 安装前的核心准备:不只是下载一个ISO
很多教程把准备工作一笔带过,直接跳到制作启动盘,这为后续的各种诡异问题埋下了伏笔。充分的准备是成功安装的一半。
2.1 官方镜像获取与校验:安全第一道防线
你的第一步不是急着下载,而是访问正确的站点。务必前往Ubuntu官方网站的下载页面,选择Ubuntu 20.04.6 LTS桌面版镜像。为什么强调官网?第三方镜像站可能存在版本滞后、镜像被篡改(尽管概率极低)的风险。对于LTS版本,官网通常会提供最新的子版本(如20.04.6),它包含了发布以来的所有安全更新和重要Bug修复,能让你在安装后省去大量更新工作。
下载完成后,校验SHA256哈希值是必须的,而不是可选的。在Windows上,你可以使用certutil命令(在PowerShell中:Get-FileHash -Algorithm SHA256 .\ubuntu-20.04.6-desktop-amd64.iso);在Linux或macOS上,使用sha256sum命令。将计算出的哈希值与官网下载页面提供的哈希值进行比对。这一步是为了确保你下载的镜像文件在传输过程中没有发生任何位错误或被恶意修改。我曾遇到过因镜像文件损坏,导致安装到一半报错“无法解压squashfs文件”的情况,浪费数小时排查,根源就在于此。
2.2 启动盘制作工具选型: Rufus的“DD模式”之谜
制作启动盘,Windows下首推Rufus,macOS和Linux下则常用dd命令或Etcher。这里重点讲Rufus,因为它的选项最丰富,也最容易让人困惑。
插入一个至少8GB的U盘(所有数据将被清空,请提前备份)。打开Rufus,设备选择你的U盘,引导类型选择你下载的ISO文件。关键点在于“镜像选项”。Rufus通常会提供两种写入模式:
- ISO镜像模式:这是默认选项,它会尝试在U盘上创建一个兼容性更好的混合引导结构。对于绝大多数现代电脑(UEFI启动),这个模式没问题。
- DD镜像模式:这个模式会像Linux的
dd命令一样,逐扇区地将ISO内容写入U盘,不做任何额外处理。
那么如何选择?一个简单的原则:如果你的电脑是较老的、使用传统BIOS启动的机器,或者你使用ISO镜像模式制作后无法启动安装程序,那么就尝试DD模式。DD模式是最原始、兼容性最高的方式。我遇到过数台品牌台式机,只有用DD模式制作的启动盘才能正常引导进入Ubuntu安装界面。制作完成后,Rufus会提示“此设备可能无法启动”,对于DD模式这是正常提示,无需担心。
2.3 硬件与环境检查:规避安装过程中的“惊喜”
启动盘准备好了,别急着重启。花几分钟检查以下事项,能避免80%的安装中断问题:
- 备份数据:这是最重要的步骤。如果你是在现有电脑上安装(尤其是双系统),确保个人文件已备份至外部硬盘或云盘。分区操作有风险。
- 网络环境:准备一个可用的有线网络连接。虽然Ubuntu也支持Wi-Fi,但在安装过程中,有线网络通常更稳定、驱动兼容性更好。稳定的网络能让安装程序在过程中下载语言包、更新和第三方驱动(如显卡驱动),获得更完整的初始系统。
- BIOS/UEFI设置:
- 启动模式:确认你的电脑是UEFI启动还是传统BIOS(Legacy)启动。进入BIOS设置界面(开机按F2、Del、F12等键,因品牌而异),在“启动”或“Boot”选项里查看。对于2012年以后出厂的大多数电脑,建议使用UEFI模式,它支持安全启动、更快的启动速度以及超过2TB的硬盘。
- 安全启动:如果启用,有时会导致第三方系统(包括某些Linux发行版)无法启动。Ubuntu 20.04对安全启动有较好的支持,通常可以保持开启。但如果遇到问题,可以尝试在BIOS中暂时禁用“Secure Boot”。
- 快速启动:Windows下的“快速启动”功能会影响对硬盘的独占访问。如果是从Windows双系统启动,建议在Windows电源设置中关闭“快速启动”,或者在BIOS中禁用“Fast Boot”,以确保Ubuntu安装程序能正确识别和操作硬盘。
3. 启动安装与关键分区方案设计
插入U盘,重启电脑,选择从U盘启动。你将进入Ubuntu的GRUB菜单,选择“Try Ubuntu without installing”或“Install Ubuntu”。我强烈建议先选择“试用Ubuntu”,这是一个完整的Live CD环境,你可以在这里测试硬件兼容性(声音、网络、显卡显示是否正常),并且最终的安装程序也是在这个环境中运行的。
3.1 安装器语言与更新配置:影响初始体验的细节
进入试用桌面后,双击“Install Ubuntu 20.04 LTS”图标启动安装程序。 前几个步骤是选择语言、键盘布局,都比较直观。接下来会碰到两个重要选项:
- “为图形或无线硬件,以及MP3等媒体安装第三方软件”:务必勾选。这个选项会安装闭源的显卡驱动(如NVIDIA驱动)、Wi-Fi网卡固件以及多媒体编解码器。如果不勾选,安装完成后你可能面临无法调节屏幕亮度、Wi-Fi无法使用、无法播放音视频的窘境。这些驱动和软件在安装后也可以手动添加,但不如一开始就装好省心。
- “安装Ubuntu时下载更新”:这个选项取决于你的网络速度。如果网络快且稳定,勾选它可以在安装过程中就获取最新的安全补丁,安装完的系统就是最新的。如果网络慢或不稳定,建议不要勾选,否则安装过程可能会卡在“下载更新”这一步很长时间,甚至因网络超时失败。完全可以等系统安装完毕后再执行
sudo apt update && sudo apt upgrade。
3.2 安装类型与分区:最需要谨慎对待的环节
接下来是“安装类型”,这是整个安装过程的核心决策点。
- 清除整个磁盘并安装Ubuntu:最简单,适合单系统用户或用于测试的旧电脑。安装程序会自动处理所有分区。
- 其他选项:这是给需要自定义分区、双系统用户或高级用户的选项。我们必须选择这个。
点击“其他选项”后,你会看到磁盘分区表。这里以一块全新的500GB固态硬盘为例,演示一个兼顾性能、安全和易用性的分区方案。请注意:以下方案是我个人在服务器和开发机上常用的,对于桌面用户,可以适当简化。
| 挂载点 | 建议大小 | 文件系统 | 说明与理由 |
|---|---|---|---|
| /boot/efi | 512MB - 1GB | FAT32 | UEFI系统必须。用于存放引导加载程序(GRUB)和UEFI启动文件。即使你只用Ubuntu,也需要它。如果计划安装多系统,1GB更稳妥。 |
| /boot | 1GB - 2GB | ext4 | 存放Linux内核和引导配置文件。独立出来可以避免内核更新导致根目录空间不足。对于桌面单系统,也可以不单独分,合并到根目录。 |
| swap | 物理内存大小 | swap | 交换空间。在内存不足时提供虚拟内存。对于拥有8GB以上内存且不打算休眠的桌面系统,可以酌情减少甚至不设(但有些软件会要求)。如果启用休眠功能,swap大小需不小于物理内存。 |
| / | 50GB - 100GB | ext4 | 根目录。存放系统文件、安装的软件等。建议至少50GB,因为很多软件默认安装在此。 |
| /home | 剩余所有空间 | ext4 | 用户家目录。你的个人文档、下载、配置文件、桌面环境设置等都存放在这里。将其独立分区是最重要的好习惯。这样以后重装或升级系统时,你可以选择不格式化/home分区,从而完美保留所有个人数据和个性化设置。 |
注意:分区操作会永久擦除选中分区上的数据。请反复确认你操作的是正确的磁盘(通过大小和型号判断)。对于双系统安装,你需要在Windows的磁盘管理中提前压缩出一个未分配的空间,然后在这个未分配空间上创建上述分区。
创建分区时,点击“空闲空间”,然后点击“+”。依次创建每个分区,选择类型(逻辑分区或主分区,在GPT磁盘上区别不大)、大小、挂载点和文件系统(/boot/efi选EFI系统分区,文件系统自动为FAT32)。
分区完成后,在界面底部还有一个关键选项:“安装启动引导器的设备”。对于UEFI启动的电脑,这里必须选择你创建的/boot/efi分区对应的那个设备(通常是/dev/sda1或/dev/nvme0n1p1)。如果选错(比如选了整个磁盘sda),可能会导致无法引导。
4. 用户配置与首次启动后的优化
分区完成后,剩下的就是设置时区、创建用户账号了。这里有个小技巧:用户名建议使用小写字母,不要包含空格或特殊字符。虽然系统允许,但在某些命令行操作或脚本中可能会引起不必要的麻烦。勾选“自动登录”可以方便日常使用,但会降低安全性,请根据需求选择。
点击“继续”,安装程序开始复制文件。这个过程通常需要10-30分钟,取决于你的磁盘速度和是否选择了下载更新。安装完成后,会提示重启。此时,系统会要求你拔出安装介质(U盘),然后按回车重启。
4.1 首次启动与驱动管理
第一次进入新系统,你可能需要做一些调整。首先打开“软件和更新”应用。
- “Ubuntu软件”选项卡:将“下载自”更改为离你最近的镜像源(例如中国的阿里云、清华源等),这能显著提升后续下载软件和更新的速度。
- “附加驱动”选项卡:这里是管理专有显卡驱动的核心位置。如果你的电脑有NVIDIA或AMD独立显卡,系统通常会检测到并推荐使用专有的闭源驱动。对于大多数用户,建议选择标有“推荐”的专有驱动版本,然后点击“应用更改”。安装完成后需要重启才能生效。使用专有驱动通常能获得更好的图形性能和游戏兼容性。
4.2 基础软件安装与系统设置
接下来,通过终端或“软件中心”安装一些基础且实用的软件包。打开终端,执行以下命令更新软件源并安装一些常用工具:
sudo apt update sudo apt upgrade -y sudo apt install -y vim git curl wget net-tools htop gnome-tweaksvim: 强大的文本编辑器,系统管理和编程必备。git: 版本控制工具。curl/wget: 命令行下载工具。net-tools: 包含ifconfig等传统网络工具(Ubuntu默认已用ip命令替代,但很多人仍习惯ifconfig)。htop: 增强型的系统监控工具,比默认的top更直观。gnome-tweaks: GNOME桌面环境优化工具,可以修改字体、主题、扩展、窗口控制按钮位置等。
安装完成后,你可以打开“优化”(即GNOME Tweaks)来个性化你的桌面,比如启用“用户主题”扩展来安装第三方Shell主题,或者将窗口控制按钮放到左边(如果你从macOS转过来)。
4.3 解决常见首次启动问题
即使安装顺利,首次启动也可能遇到一些小问题,这里分享几个高频问题的排查思路:
- 屏幕分辨率不正确或无法设置:这通常是显卡驱动未正确安装。回到“附加驱动”选项卡检查。如果NVIDIA驱动安装后黑屏,可以在GRUB启动时,按
e键编辑启动参数,在quiet splash后面添加nomodeset,然后按F10启动。进入系统后,再尝试安装合适的驱动。 - Wi-Fi无法连接或找不到网络:首先确认是否在安装时勾选了“安装第三方软件”。如果没有,可以尝试通过有线网络连接后,在终端安装
linux-firmware包:sudo apt install --reinstall linux-firmware。对于某些较新的无线网卡,可能需要手动下载并安装更新的固件。 - 双系统时间错误:如果你安装了Windows和Ubuntu双系统,可能会发现两个系统的时间相差8小时。这是因为Windows将硬件时钟视为本地时间,而Linux默认视为UTC时间。在Ubuntu中修复很简单:
sudo timedatectl set-local-rtc 1 --adjust-system-clock。这个命令告诉Linux,硬件时钟存储的是本地时间。
5. 深入理解:分区方案背后的逻辑与变通
回过头看我们之前的分区方案,每一个决定都有其考量。单独划分/home的重要性已经强调。为什么还要分/boot?除了避免根目录空间被内核占满,更重要的是在多系统引导或内核崩溃时,它能提供一个独立的、干净的修复环境。你可以从Live CD挂载单独的/boot分区来修复GRUB或回滚内核,而无需触及根文件系统。
对于交换空间,在如今大内存时代,它的角色在变化。如果你的内存足够大(比如32GB以上),并且你确定不会使用休眠功能,完全可以不设置交换分区。Ubuntu 20.04默认会使用一个交换文件(/swapfile)作为替代,它更灵活,可以随时调整大小。但有些特定软件(如某些Oracle数据库产品)或旧教程仍会要求有交换分区。我的建议是:对于桌面用户,内存小于16GB,设置一个与内存等大的交换分区或文件;对于服务器或大内存工作站,可以设置一个较小的交换空间(如4GB)或完全依赖交换文件。
关于文件系统:我们全部选择了ext4,因为它是Ubuntu 20.04默认且最稳定的选择。对于/home分区,如果你有大量小文件(如开发项目的node_modules或Docker镜像层),可以考虑使用XFS,它在处理海量小文件时元数据性能更优。但ext4的通用性和可靠性对于绝大多数场景已经绰绰有余。
6. 从安装到日常:建立你的维护习惯
系统安装并优化完毕,只是开始。建立一个好的维护习惯,能让你的Ubuntu系统长期稳定运行。
首先,定期更新。虽然LTS版本很稳定,但安全更新至关重要。你可以设置无人值守更新,或者每周手动执行一次:
sudo apt update sudo apt upgrade升级前,留意一下将要升级的包列表,特别是涉及内核、显卡驱动或关键库的更新。如果当前系统非常稳定,对于内核升级可以稍微保守一点,等一两天看看社区反馈。
其次,善用Timeshift。这是一个类似于Windows系统还原点的工具。在重大系统变更(如升级内核版本、添加PPA源、安装复杂软件)之前,通过Timeshift创建一个系统快照。如果操作后系统出现问题,你可以快速回滚到之前的状态。这比重装系统要高效得多。你可以通过sudo apt install timeshift来安装它。
最后,理解日志。当出现问题(比如某个服务启动失败、网络连接异常),不要急于重启。学会查看系统日志。最重要的工具是journalctl(查看系统日志)和dmesg(查看内核环缓冲区消息)。例如,查看最近一次启动的日志:journalctl -b;实时跟踪系统日志:journalctl -f。这些日志能提供最直接的错误线索。