如何检查已下载的Ubuntu光盘的完整性?

我刚刚下载了一个Ubuntu的CD镜像。我知道安装程序有一个检查CD选项,但在将其刻录到CD之前,我如何检查镜像是否完好无损?

我想要补充的一个优点是:如果你下载的ISO文件失败了,你可能不需要重新下载整个文件。你可以使用zsync。它会检查文件的校验和,并只下载有差异的部分。 请参考:https://help.ubuntu.com/community/ZsyncCdImage - Luis Lobo Borobia
5个回答


4真是太愚蠢了,校验和居然放在一个只能通过普通的http(没有https)访问的页面上。 - Display Name
我假设14.04的哈希值对于14.04.3和14.04.4同样有效,是吗?我正在尝试安装14.04.4,只想知道那些是否是正确的哈希值。 - SarahofGaia
有人能解释一下为什么你需要这样做吗?难道不应该相信官方网站的信息吗? - Kellen Stuart
@KolobCanyon 从这里开始:“虽然我们希望您通常可以信任您的Ubuntu下载,但能够验证您已下载的镜像没有被损坏,并且是一个未被篡改的真实镜像,无疑会给人一种安心感。” - pomsky
@pomsky 但是,如果他们从一个HTTPS网页托管图片,就不会有中间人篡改攻击的风险。这就是让我困惑的地方。 - Kellen Stuart
@Kolob 不仅仅是攻击,在下载过程中还可能发生文件损坏的情况。 - pomsky
@pomsky 很对。也许通过HTTP下载会更快一些吗? - Kellen Stuart

Linux..

Ubuntu 自带一个叫做 md5sum 的程序,你可以用它来检查下载的 ISO 文件的完整性。

手动方法..

像这样生成你的 ISO 文件的哈希值:

md5sum /path/to/ubuntuISO.iso  

这将打印出您的ISO文件的MD5哈希值。现在打开Ubuntu Hashes维基页面,该页面列出了所有Ubuntu ISO文件的MD5哈希值,并将从md5sum得到的哈希值与维基页面上为该ISO文件指定的哈希值进行比较。如果哈希值匹配,那么您应该拥有一个未损坏的文件。

自动方法..

更自动化的方法是使用MD5SUMS.txt文件(您可以从releases.ubuntu.com下载),确保将该文件保存在与您的ISO文件相同的目录中。

现在运行:

md5sum -c MD5SUMS.txt  

你会收到每个你没有下载的ISO文件的错误提示。没关系,很可能你只有一个ISO文件需要检查。以下是一些示例输出:
md5sum: ubuntu-8.10-alternate-amd64.iso: No such file or directory
ubuntu-8.10-alternate-amd64.iso: FAILED open or read
md5sum: ubuntu-8.10-alternate-i386.iso: No such file or directory
ubuntu-8.10-alternate-i386.iso: FAILED open or read
md5sum: ubuntu-8.10-desktop-amd64.iso: No such file or directory
ubuntu-8.10-desktop-amd64.iso: FAILED open or read
ubuntu-8.10-desktop-i386.iso: OK
md5sum: ubuntu-8.10-netbook-remix-i386.img: No such file or directory
ubuntu-8.10-netbook-remix-i386.img: FAILED open or read
md5sum: ubuntu-8.10-server-amd64.iso: No such file or directory
ubuntu-8.10-server-amd64.iso: FAILED open or read
md5sum: ubuntu-9.04-server-i386.iso: No such file or directory
ubuntu-8.10-server-i386.iso: FAILED open or read
md5sum: wubi.exe: No such file or directory
wubi.exe: FAILED open or read
md5sum: WARNING: 7 of 8 listed files could not be read

在这种情况下,我们只是在测试8.10 i386桌面ISO,所以我们可以忽略所有其他的警告。
这里的这一行:
ubuntu-8.10-desktop-i386.iso: OK  

说我们的ISO哈希值与正确的匹配,意味着我们有一个干净的文件。
Windows..
gui..
你可以在Windows中使用winMD5sum来检查文件的哈希值。
打开Windows资源管理器,找到你的光盘映像。右键点击它,选择“发送到..”,然后点击“winMD5sum”。

enter image description here

WinMD5sum会自动计算哈希值并显示出来。

enter image description here

将您从Ubuntu Hashes获取的发布哈希值粘贴到“比较”框中,然后点击“比较”。弹出对话框应该确认哈希值匹配。

enter image description here

如果您已经安装了Cygwin,您可以像在Ubuntu中一样使用md5sum。由于我在上面的Linux部分已经介绍了md5sum,所以这里我只会简单回顾一下。
md5sum /path/to/ubuntuImage  

将为您打印图像的MD5哈希值。
来源:如何计算MD5SUM - Ubuntu Wiki

注意到你最后一张图片中,你忘了把用户名设为不可读取的状态... - Anonymous5638

MD5SUMs、SHA1SUMs和SHA256SUMs(所有校验和)适用于当前版本(Precise:桌面版、服务器版和备选版)的所有CD变体,也可以直接在http://releases.ubuntu.com/precise上找到。

enter image description here


在OS X上,默认情况下安装了md5命令。可以通过终端调用它:
$ md5 /path/to/myFile
MD5 (/path/to/myFile) = b046a6bd326bb705349162abad3dce65

将你从.iso文件得到的哈希值与Ubuntu Hashes中相应的哈希值进行比较。

你可以从www.ubuntu.com网站下载Ubuntu。校验和可在以下链接找到: 要为您的Ubuntu ISO生成校验和,请运行md5sum [ubuntu-iso-name.iso]并将生成的校验和与网站上提供的校验和进行匹配(第二个链接)。