是否可以对USB启动盘进行完整性检查?


13

有没有办法对现成的USB启动盘执行完整性检查?

我刚刚制作了一个Lubuntu 14.04.01引导USB,却无法弄清楚如何对其进行完整性检查。我找不到任何要运行MD5sum哈希值的.iso文件。

Answers:


13

您可以在此处找到Ubuntu iso的md5sum 。

上面的md5值是整个磁盘的校验和,而不是单个文件的校验和。

准备可引导的USB时,会将iso文件中的文件复制到USB上,并覆盖USB的引导程序,从而使其可引导。您在此处看到的是一个带有md5 sum(a5f97cd6a9f171c70cf816de8728f13b)的文件(例如lubuntu 14.04.1 x64 iso),现在已被破坏,而USB中存在多个文件。因此,您不再需要将原始lubuntu iso的md5总和与之比较的iso。

如果要检查每个文件的完整性,则需要从USB启动,然后check cd for defects从启动菜单中选择。ms5sum.txt每个ubuntu iso中都有一个文件,其中包含iso中每个单独文件的md5sum。该check cd for defects选项使用iso中存在的md5列表来验证每个文件的md5sum。

LiveWireBT的答案来看,只需导航到USB驱动器并运行即可md5sum -c md5sum.txt对单个文件进行一致性检查。


谢谢您的回复; 所以我认为iso文件不再存在。是否有某种检查程序可以检查可引导磁盘上的文件是否完整?如何知道某物是否损坏?还是操作系统中有一些viri或其他内容?这是我要转换的WinXP OS系统上的一个大问题。
Niall 2014年

您可以通过从可启动USB实际启动,然后check cd for defects在启动菜单中进行选择来检查可启动USB中的缺陷。
astrob0t 2014年

超。在这方面有很大的帮助。这样可行。它报告“未发现错误”。当我运行它时。</br> </br>确实提出了一个问题,即USB映像是否会被病毒破坏,恶意软件是否有可能欺骗“缺陷检查盘”代码并报告即使一切都被感染了,一切都还好吗?
Niall 2014年

1
check cd for defects不过是一个MD5比较单个文件与存在的MD5值列表md5sum.txt中存在的CD文件。为了更省心,我们可以手动导航到usb文件夹并运行md5sum -c md5sum.txt
astrob0t 2014年

我已经从USB安装了Lubuntu。一旦弄清楚如何找到命令提示符,我将尝试运行该命令。(我是Linux新手。)
Niall 2014年

8

ISO映像中包含的各个文件的哈希存储为md5sum.txt

md5sum -c md5sum.txt在同一文件夹中运行应该执行一致性检查。


这是我的jupyter笔记本要点,用于检查iso和usb完整性
Levon

2

我的答案基于Lucas在Unix和Linux StackExchange中的答案。要检查USB启动盘的完整性,请首先使用以下命令找到iso映像的大小:

 stat -c '%s' imagename.iso 

这将输出图像尺寸,您可以在<imagesize>下面的命令中输入该图像尺寸。下一条命令(通过管道)将与映像大小相对应的所有字节发送到md5sum命令:

sudo head -c <imagesize> /dev/sdb1 | md5sum

您可以将其与.iso文件的md5sum进行比较。

md5sum imagename.iso

如果md5sums不同,则复制数据时出现问题。如果md5sums相同,则说明您已成功检查USB磁盘上的数据完整性!

在以下位置找到USB设备的注意事项 /dev/

对于上述命令,您需要知道USB设备的名称/dev/sdbX(例如/media/usbX),而不是挂载点(例如)。您可以通过查看Filesystem输出中的列来找出答案df。例如我的USB设备显示为/dev/sdb1在输出

df

我发现在尝试尝试之前先确保USB上的图像有效是有用的。
code2be

0

head -c $(stat -c imagename.iso) /dev/sdX | sha256sum

与paul-rougieux的答案类似,但它获取ISO的大小并在单个命令中执行哈希检查


0

在下面的代码中,将X更改为(等距)图像的路径,您可以通过以下方法进行检查: ls -AFl Documents/tails.ISO # X would be Documents/tails.ISO

并将Y更改为USB驱动器的正确设备标识符。您可以检查与lsblk同时它不是在当它与插入插上,以确保你有合适的设备名称(通常是类似/dev/sdZ)。

检查是否已将什么内容写入USB驱动器的代码与所使用的映像文件相对应(在bash shell中!):

img='X' usb='Y'
[[ $(head -c $(stat -c '%s' "$img") "$usb" |sha256sum) = $(sha256sum <"$img") ]] &&
  echo OK ||
  echo ERROR

如果使用GNU ddrescue之类的工具(该软件包通常称为gddrescue),则可以编写:ddrescue --force 'X' 'Y'并且它将自动验证其是否正确编写!

请注意,通过插入和拔出USB记忆棒,写入映像中的某些分区可能会自动安装并进行修改(“脏位”),从而导致产生完全不同的校验和!


-1

不知道Linux Mint ISO是否使用与香草Ubuntu ISO相同的grub菜单,但是我现在才安装,出现的grub菜单包括:

check the integrity of the medium

运行了10分钟,发现了69个错误。我检查了下载的iso映像是否良好,因此现在尝试使用其他USB记忆棒。

它的 GNU GRUB version 2.02^beta2-36ubuntu3


我仍然在使用新棒进行完整性检查时仍然遇到问题-它说未找到某些文件,这有点奇怪,看起来好像是误报。在另一根棍子上进行完整性检查后,它说某些文件不匹配,听起来更严重。我不是从旧的棍子上安装,而是从新的棍子上安装(有69个明显丢失的文件),尽管如此,安装还是不错的。
亚当
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.