快速概览

  • 校验 Ubuntu ISO 可以确认两件事:文件确实来自 Ubuntu,并且在下载过程中没有被损坏或篡改。
  • 整个流程分两步,且必须按顺序执行:先对 SHA256SUMS 文件做 GPG 签名校验,再对 ISO 本身做 SHA256 校验和校验。
  • GPG 这一步很关键,因为它证明校验和文件没有被篡改。没有这一步,把 ISO 与一份未经验证的校验和做比对,什么也证明不了。
  • 如果 ISO 是真实的,GPG 步骤会输出类似 Good signature 的结果,SHA256 步骤会输出 OK。出现其他任何结果,都说明文件不安全,不应使用。

引言

你刚下载了一个 Ubuntu ISO。在把它写入 U 盘并启动电脑之前,应当先做校验。这一步只需几分钟,却能帮你避开损坏的下载文件和被篡改的文件。

本指南带你从头到尾完成 Ubuntu ISO 的完整性与真实性校验,使用的是真实校验会话的输出,并会解释每条命令的作用,以及为什么这两步的顺序不能颠倒。

为什么要校验 Ubuntu ISO

从互联网下载 ISO 时,可能出两类问题。第一,文件在传输过程中可能损坏:连接中断或磁盘错误都可能悄悄破坏文件的一部分。第二,更严重的是,有人可能把文件替换成恶意版本。

Ubuntu 为这两类问题各提供了一种手段。GPG 签名证明校验和文件确实来自 Ubuntu 背后的 Canonical;SHA256 校验和则证明你的 ISO 与这份可信文件完全一致。

可以这样理解:GPG 先确认这把尺子是真的,然后才用这把尺子去量 ISO。两步必须按顺序执行,因为第二步依赖第一步的结果。

开始前的准备

开始之前,需要准备好以下几样东西:

  • 你下载的 ISO 文件。
  • 来自 Ubuntu 网站的两个小文件:SHA256SUMS 和 SHA256SUMS.gpg。
  • 一个终端,以及两个命令行工具 gpg 和 sha256sum。

大多数 Ubuntu 系统已经预装了这两个工具。如果你使用 Windows,建议安装 WSL(Windows Subsystem for Linux),因为 PowerShell 无法完成 GPG 那一步。如果你使用 macOS,可以用 Homebrew 安装这两个工具。

步骤 1:确认工具已就绪

打开终端的方式因系统而异:

  • Ubuntu 桌面版: 按 Ctrl + Alt + T
  • Windows: 打开 WSL 终端
  • macOS: 从「应用程序 → 实用工具」打开「终端」

终端打开后,依次运行以下两条命令:

gpg --version
sha256sum --version

两条命令都输出版本号,就可以继续。如果提示「command not found」,说明工具未安装;在 Ubuntu 上用下面的命令安装(需要管理员权限,会提示输入密码):

sudo apt install gnupg coreutils

步骤 2:把三个文件放在同一个目录

这一步很重要,初学者常常忽略:三个文件必须放在同一个目录下,否则命令找不到它们。

需要准备的文件:

  • 一个 Ubuntu ISO。本文以 Ubuntu 26.10 镜像为例。
  • SHA256SUMS
  • SHA256SUMS.gpg

进入下载目录:

cd ~/Downloads

用 ls 确认三个文件都在同一个目录:

$ ls
SHA256SUMS  SHA256SUMS.gpg  ubuntu-26.10-beta-desktop-amd64.iso

如果缺少签名文件和校验和文件,就到 Ubuntu 下载页面重新下载,它们通常在下载页面顶部附近。

用 curl 下载这两个文件:

curl -O https://releases.ubuntu.com/26.10/SHA256SUMS
curl -O https://releases.ubuntu.com/26.10/SHA256SUMS.gpg

或者用 wget:

wget https://releases.ubuntu.com/26.10/SHA256SUMS
wget https://releases.ubuntu.com/26.10/SHA256SUMS.gpg

也可以直接右键点击这两个文件并另存。

下载完成后再次确认,三个文件名应当一起列出。

步骤 3:导入 Ubuntu 公钥

当你下载了 ISO 和 SHA256SUMS 校验和文件之后,你没有理由天然信任其中任何一个:它们来自同一个地方、经过同一条连接。如果有人篡改了其中一个,也可能同时篡改另一个。

GPG 实际做了什么

Ubuntu 生成 SHA256SUMS 文件后,用自己的私钥为它生成一个数字签名,签名保存在 SHA256SUMS.gpg 文件中。

私钥是保密的,只有 Ubuntu 持有,其他任何人都无法用它生成有效签名。

校验是如何完成的

Ubuntu 同时发布公钥,任何人都可以下载。公钥可以验证由对应私钥生成的签名,但无法创建签名。

运行 gpg --verify SHA256SUMS.gpg SHA256SUMS 时,GPG 会做三件事:

  1. 读取签名文件。
  2. 用数学方法把签名与 SHA256SUMS 文件进行比对。
  3. 检查签名是否由与 Ubuntu 公钥(也就是你导入的那个)配对的私钥生成。

三项检查都通过,就会看到 Good signature。这证明两件事:

  • SHA256SUMS 文件自 Ubuntu 签名以来没有被改动过。
  • 签名确实由持有 Ubuntu 私钥的一方生成。

为什么这很重要

攻击者可以修改 SHA256SUMS 文件,但因为没有 Ubuntu 的私钥,无法为它生成新的有效签名。因此 GPG 检查能够发现篡改。

确认 SHA256SUMS 文件真实之后,其中的校验和才值得信任;也只有到这时,对 ISO 做 SHA256 校验才有意义。

打个比方:GPG 就像信封上的火漆封印。要确认一份文件上盖的是 Ubuntu 的封印,你手上先得有一份 Ubuntu 的封印。

现在导入 Ubuntu 官方公钥:

gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0x46181433FBB75451 0xD94AA3F0EFE21092

逐项解释一下:--keyserver 指向存放 Ubuntu 密钥的公共服务器;:80 用于强制使用一个在默认端口被封锁时通常可用的端口;--recv-keys 用于获取末尾列出的两个密钥 ID。

以下是本次会话的实际输出:

gpg: key D94AA3F0EFE21092: public key "Ubuntu CD Image Automatic Signing Key (2012) <[email protected]>" imported
gpg: key 46181433FBB75451: public key "Ubuntu CD Image Automatic Signing Key <[email protected]>" imported
gpg: Total number processed: 2
gpg:               imported: 2

这一步只需做一次。密钥会留在你的电脑上,供以后校验使用。

步骤 4:验证签名(真实性检查)

现在检查 SHA256SUMS 文件上盖的是不是 Ubuntu 的封印。

gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS

第一个文件是签名,第二个是被签名的文件。

以下是本次会话的真实输出:

gpg: Signature made Friday 02 October 2026 12:10:39 AM IST
gpg:                using RSA key 843938DF228D22F7B3742BC0D94AA3F0EFE21092
gpg: Good signature from "Ubuntu CD Image Automatic Signing Key (2012) <[email protected]>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 8439 38DF 228D 22F7 B374  2BC0 D94A A3F0 EFE2 1092

逐行来看:前两行说明签名生成的时间和使用的密钥,底部的指纹是该密钥的唯一标识。

第三行才是关键:Good signature,它说明封印是真实的。

你还会看到这样一条警告:

gpg: WARNING: This key is not certified with a trusted signature!

不必担心。这条警告几乎会让每个第一次做校验的人犯迷糊。它只是说明你没有用自己的密钥亲自为 Ubuntu 的密钥签名。既然密钥是直接从 Ubuntu 官方密钥服务器获取的,就可以信任它;真正重要的是 Good signature 这一行。

但如果看到的是 BAD signature,请立即停止:这说明校验和文件已被篡改。把这两个文件都删掉,然后重新下载。

步骤 5:校验 Ubuntu ISO(完整性检查)

现在校验和文件已经可信,就用它当尺子来量 ISO。

sha256sum --check SHA256SUMS --ignore-missing

--check 参数让工具按列表比对文件;--ignore-missing 参数用于避免因列表中你没有下载的文件(例如服务器版 ISO)而报错。

以下是本次会话的实际输出:

ubuntu-26.10-beta-desktop-amd64.iso: OK

OK 表示你的 ISO 指纹与官方指纹完全一致。如果看到 FAILED,说明 ISO 已损坏或被篡改,应删除并重新下载。

常见问题排查

如果校验过程中出错,可以先看下表。下表汇总的是本文流程中提到的常见失败情况及其处理方式。

现象 含义与处理
提示 command not found 系统缺少 gpg 或 sha256sum,用 sudo apt install gnupg coreutils 安装
提示找不到文件 三个文件必须放在同一目录,先用 cd ~/Downloads 进入该目录再执行命令
出现 BAD signature 校验和文件已被篡改,立即停止,删除文件后重新下载
警告 not certified with a trusted signature 你没有用自己的密钥为 Ubuntu 公钥签名;只要能看到 Good signature 就可以忽略
出现 FAILED ISO 已损坏或被篡改,删除并从 Ubuntu 官方网站重新下载
Windows 上无法完成 GPG 校验 PowerShell 不能方便地验证 GPG 签名,改用 WSL

校验通过之后该做什么

看到 OK,就说明 ISO 已确认安全,可以写入 U 盘,或在虚拟机中启动。注意:把 ISO 写入 U 盘会覆盖该设备上的原有数据,请先确认盘内没有需要保留的内容。

命令行制作可启动 U 盘的工具:

图形界面制作可启动 U 盘的工具:

如果你打算在 VirtualBox、KVM 或 Proxmox 这类虚拟化平台上安装和测试 Ubuntu,就不需要制作可启动介质,可以直接在虚拟化软件中启动 Ubuntu ISO 镜像。

常见问题(FAQ)

问:每次下载 Ubuntu ISO 都需要校验吗?

答:是的,应当校验。校验只需几分钟,却能帮你避开损坏的文件和被篡改的下载内容;它还能确认你安装的正是 Ubuntu 发布的版本。

问:为什么必须先校验校验和文件,再校验 ISO?

答:因为校验和文件就是你的尺子。如果尺子被人动过,用它做的每一次测量都失去意义。先校验校验和文件,才能建立一条信任链,让第二步校验有意义。

问:「not certified with a trusted signature」警告是什么意思?

答:它说明你没有用自己的密钥亲自为 Ubuntu 的公钥签名。几乎每个人第一次校验时都会看到这条警告。只要看到 Good signature,并且密钥是从 Ubuntu 官方密钥服务器获取的,就可以放心忽略它。

问:Windows 上可以用 PowerShell 代替 WSL 吗?

答:完整流程不行。PowerShell 可以计算 SHA256 哈希,但不容易验证 GPG 签名。因此在 Windows 上 WSL 是更合适的选择。

问:如果 ISO 校验显示 FAILED 会怎样?

答:你的 ISO 要么已损坏,要么被篡改。无论哪种情况,都应立即删除,并从 Ubuntu 官方网站重新下载一份,然后重新执行校验步骤。

小结

整个流程可以概括为五步:

  1. 打开终端。
  2. 把 ISO、SHA256SUMS 和 SHA256SUMS.gpg 放在同一个目录。
  3. 导入 Ubuntu 公钥(一次性步骤)。
  4. 运行 gpg --verify,确认看到「Good signature」。
  5. 运行 sha256sum --check,确认看到「OK」。

两次检查,顺序不能颠倒。两步都通过,你的 ISO 就可以安全使用。

最后的话

校验 Ubuntu ISO 之所以重要,是因为它在把文件交给电脑之前确认了两件事:ISO 确实来自 Ubuntu,并且下载过程中没有被损坏或篡改。

不做校验,就要在两方面承担风险。损坏的 ISO 可能无法启动或安装,浪费时间,甚至损坏系统;被篡改的 ISO 更糟,它可能包含恶意软件,一旦你启动或安装,就会以完整权限在你的机器上运行。

校验流程能同时发现这两类问题:对校验和文件的 GPG 签名检查证明该文件来自 Ubuntu 且未被修改,SHA256 检查则证明你的 ISO 与该可信文件完全一致。合在一起,你才能确定即将运行的内容正是 Ubuntu 发布的版本。