У меня есть Ubuntu Live USB. Я хочу проверить целостность живого USB. Это можно сделать, сравнив контрольную сумму созданного мной iso-файла с упомянутой в этом URL. Итак, я создал ISO-образ USB с помощью sudo cat /dev/sdb > /home/user/test.iso
. Образ ISO, который я получаю, имеет размер 4 ГБ, поскольку usb имеет размер 4 ГБ, тогда как исходный ISO составляет менее 1 ГБ. Как я могу восстановить оригинальный ISO из живого USB?
1
1 ответ
0
Вы можете "посчитать", сколько байтов вы хотите (используя df), и использовать dd только для копирования этого количества блоков:
Например: я записываю ISO 1,8 МБ на USB-ключ 1 ГБ:
# dd if=/usr/lib/memtest86+/memtest86+.iso of=/dev/sdb
Если я сделаю нормальный DD, он скопирует всю ГБ
# dd if=/dev/sdb of=/tmp/full_disk.iso
1957888+0 records in
1957888+0 records out
1002438656 bytes (1.0 GB) copied, 2.56494 s, 391 MB/s
Используя df, я могу выяснить, сколько k-блоков (или 1024)
# df -P /dev/sdb
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/sdb 1796 1796 0 100% /mnt
При этом можно скопировать только количество блоков, 1796 в моем случае:
# dd count=1796 bs=1024 if=/dev/sdb of=/tmp/usb.iso
1796+0 records in
1796+0 records out
1839104 bytes (1.8 MB) copied, 0.00999846 s, 184 MB/s
Используя md5sum, мы видим, что файл usb.iso совпадает с исходным ISO:
# md5sum /usr/lib/memtest86+/memtest86+.iso /tmp/full_disk.iso /tmp/usb.iso
bbd27e6fb8747109cde9bb1e3e7117ab /usr/lib/memtest86+/memtest86+.iso
a42d80c87c091d04ae9d6426d70c4e82 /tmp/full_disk.iso
bbd27e6fb8747109cde9bb1e3e7117ab /tmp/usb.iso