AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1467825
Accepted
guiverc
guiverc
Asked: 2023-05-14 12:34:29 +0800 CST2023-05-14 12:34:29 +0800 CST 2023-05-14 12:34:29 +0800 CST

写入后直接验证 ISO 写入

  • 772

背景

我编写 ISO 的正常过程是下载它们(zsync通过执行 ISO 验证并向我显示包更改的脚本(即之前下载的清单差异mkusb)),然后将其写入拇指驱动器,例如。

guiverc@d7050-next:/de2900/lubuntu_64$ sudo mkusb-nox mantic-desktop-amd64.iso all

然后我快速扫描消息,如果它看起来不错, 弹出拇指驱动器,并在附近的盒子上启动它并使用此处记录的方法确认媒体写入那里,即。

  • 以try模式启动它,等待一段时间让后台媒体验证发生,使用扫描 systemd 日志

sudo journalctl |grep casper-md5check

看着

May 11 08:37:47 ubuntu casper-md5check[3924]: Checking ./boot/grub/loopback.cfg...../boot/grub/loopback.cfg: OK
May 11 08:37:47 ubuntu casper-md5check[3924]: Check finished: no errors found.
May 11 08:37:47 ubuntu systemd[1]: Finished casper-md5check.service - casper-md5check Verify Live ISO checksums.

我认为这种验证是必不可少的,因为我发现无论使用何种硬件(即不同的盒子和不同的拇指驱动器),5-8% 的 ISO 写入都会失败。

问题

我可以使用一个简单的工具验证 ISO 写入,使用我用来编写它的同一个盒子(即不需要重新启动或附近的盒子)。

我的偏好是终端;因为这是我执行这些任务的地方。

iso
  • 1 1 个回答
  • 27 Views

1 个回答

  • Voted
  1. Best Answer
    sudodus
    2023-05-14T23:47:37+08:002023-05-14T23:47:37+08:00

    检查克隆是否成功的工具

    从图像文件(通常是 iso 文件)克隆到 USB 驱动器被认为是一个可靠的过程,但有时会失败。这可能是由于将大 iso 文件克隆到具有慢速存储单元的 pendrive 时的缓冲问题引起的,这可能是由片状存储单元引起的。

    不管怎样,我发现我们需要一种方便的方法来检查克隆是否成功,所以我创建了一个小的 shellscript。

    diff-image-drive通过比较 sha256sums 可以很容易地检查。

    • 可以从这里复制和粘贴原始版本
    • 可以从这里复制和粘贴升级版本

    使用原始版本的 shellscript 进行演示:

    首先目标设备中有一些以前的内容,通过 USB 连接到 SATA 适配器的 SSD:

    $ sudo diff-image-drive mantic-desktop-amd64.iso /dev/sdc
     Comparing content of 'mantic-desktop-amd64.iso' and '/dev/sdc' 
    partprobe: 
    umount /dev/sdc*: 
    done - no partition mounted on /dev/sdc 
     calculating sha256sums ...
    2,92GiB 0:00:18 [ 163MiB/s] [================================================================>] 100%            
    file:   cdfaafb6be7b4b183b43bf395f7a1e12b14bcc6914c13ca8246a4cb00254ef6e  -
    2,92GiB 0:00:14 [ 203MiB/s] [================================================================>] 100%            
    device: ac65f5bb93207976cf59e4440147ffdda40e6e0ac3a3f964f525c0063660b51d  -
     content of iso/img file and device differ
    

    从 mantic iso 文件克隆到目标设备后:

    $ sudo diff-image-drive mantic-desktop-amd64.iso /dev/sdc
     Comparing content of 'mantic-desktop-amd64.iso' and '/dev/sdc' 
    partprobe: 
    Warning: Not all of the space available to /dev/sdc appears to be used, you can fix the GPT to use all of the space (an extra 462737388 blocks) or continue with the current setting? 
    umount /dev/sdc*: 
    done - no partition mounted on /dev/sdc 
     calculating sha256sums ...
    2,92GiB 0:00:14 [ 208MiB/s] [================================================================>] 100%            
    file:   cdfaafb6be7b4b183b43bf395f7a1e12b14bcc6914c13ca8246a4cb00254ef6e  -
    2,92GiB 0:00:14 [ 204MiB/s] [================================================================>] 100%            
    device: cdfaafb6be7b4b183b43bf395f7a1e12b14bcc6914c13ca8246a4cb00254ef6e  -
     content of iso/img file and device match
    

    在这种情况下,您不必担心来自 partprobe 的警告。从 iso 文件克隆的驱动器不关心克隆字段后面的内容。

    使用 1.3 版 shellscript 的屏幕截图:

    原始版本中也有颜色高亮,但是在跳过头/尾时检查是新的。这有助于检查何时使用了从 Ubuntu iso 文件克隆的驱动器(以便创建“可写”分区)。

    在此处输入图像描述

    克隆后直接检查。


    在此处输入图像描述

    驱动器启动后检查。


    您可以通过这篇文章和我在 Ubuntu 论坛上的帖子中的以下帖子找到更多详细信息。

    • 1

相关问题

  • 如何从可引导 DVD 制作可引导 ISO 映像?

  • 如何将现有的恢复分区刻录到 iso?

  • 如何在启动时获取 grub 菜单?

  • 替代和桌面 cd 映像有什么区别?

  • 有没有办法将 VirtualBox 图像转换为 .iso?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve