ISO - файл, содержащий точную копию файловой системы оптического диска. В Linux образ можно снять с CD или DVD, собрать из папки с файлами, смонтировать как обычный диск и записать на флешку - всё стандартными утилитами.

Образ с CD или DVD

Найти привод

bash
lsblk

Оптический привод обычно называется /dev/sr0 (тип rom). Если диск автоматически смонтировался, размонтируйте его перед снятием образа:

bash
sudo umount /dev/sr0

Снять образ

bash
sudo dd if=/dev/sr0 of=~/disk.iso bs=2048 status=progress
  • if - источник, привод;
  • of - файл образа;
  • bs=2048 - размер блока, равный размеру сектора оптического диска;
  • status=progress - показывать прогресс.

Иногда dd читает лишние блоки в конце диска и завершается ошибкой ввода-вывода, хотя образ уже полный. Чтобы прочитать ровно столько, сколько занимает файловая система, узнайте её размер:

bash
isoinfo -d -i /dev/sr0 | grep -E "Logical block size|Volume size"

и передайте его dd:

bash
sudo dd if=/dev/sr0 of=~/disk.iso bs=<logical block size> count=<volume size> status=progress

Утилита isoinfo входит в пакет genisoimage (в некоторых дистрибутивах - cdrkit или xorriso).

Повреждённый диск

Если диск поцарапан, dd остановится на первой ошибке. ddrescue (пакет gddrescue в Debian и Ubuntu, ddrescue в других дистрибутивах) копирует всё, что читается, а проблемные места пытается перечитать позже:

bash
sudo ddrescue -b 2048 -n /dev/sr0 ~/disk.iso ~/disk.map
sudo ddrescue -b 2048 -d -r3 /dev/sr0 ~/disk.iso ~/disk.map

Первый проход быстро копирует целые участки, второй трижды пытается дочитать сбойные. Файл disk.map хранит прогресс: прерванное копирование можно продолжить той же командой, в том числе на другом приводе.

Графический способ

В GNOME есть программа «Диски»: выберите привод, откройте меню (три точки) → «Создать образ диска». В KDE образы снимают и записывают программы для работы с дисками из набора KDE.

ISO из папки

Чтобы упаковать файлы в образ, например для виртуальной машины или архива:

bash
xorriso -as mkisofs -o archive.iso -J -R -V "ARCHIVE" ~/folder/
  • -o - файл образа;
  • -J - расширение Joliet: длинные имена и кириллица в Windows;
  • -R - расширение Rock Ridge: права и длинные имена в Linux;
  • -V - метка тома, до 32 символов латиницей.

Если xorriso нет, ту же команду выполнит genisoimage (или mkisofs в старых системах) с теми же ключами: genisoimage -o archive.iso -J -R -V "ARCHIVE" ~/folder/. Установка: sudo apt install xorriso или sudo dnf install xorriso.

Файлы больше 4 ГБ в стандартной файловой системе ISO 9660 по умолчанию не помещаются. Для genisoimage добавьте -iso-level 3, xorriso справляется с ними сам.

Сделать загрузочный образ одной командой не выйдет: нужен загрузчик и правильная структура. Для этого используют инструменты конкретного дистрибутива. Чтобы изменить существующий загрузочный образ, удобнее всего xorriso с параметрами исходного образа: xorriso -indev source.iso -report_el_torito as_mkisofs выведет ключи, с которыми он был собран.

Проверить образ

Сравнить образ с диском по контрольной сумме:

bash
sha256sum ~/disk.iso
sudo head -c $(stat -c %s ~/disk.iso) /dev/sr0 | sha256sum

Суммы должны совпасть. Для скачанного ISO сравните сумму с той, что опубликована на сайте разработчика:

bash
sha256sum -c SHA256SUMS --ignore-missing

Смонтировать образ

bash
sudo mkdir -p /mnt/iso
sudo mount -o loop,ro ~/disk.iso /mnt/iso
ls /mnt/iso
sudo umount /mnt/iso

В графических средах достаточно дважды щёлкнуть по ISO-файлу или выбрать в контекстном меню «Открыть с помощью» → «Подключение образов дисков».

Записать ISO на флешку

Файл образа, полоса прогресса и флешка

Установочные образы современных дистрибутивов можно записать на флешку побайтно:

bash
lsblk
sudo dd if=image.iso of=/dev/sdX bs=4M status=progress oflag=sync

/dev/sdX - флешка целиком (не раздел sdX1). Проверьте имя устройства по размеру в lsblk дважды: dd без предупреждений перезапишет указанный диск, и если это окажется системный диск, данные будут потеряны.

Флешку перед записью размонтируйте, все данные на ней будут удалены. Записанный таким способом образ Windows обычно не загружается: для образов Windows используют другие способы подготовки флешки.

Графическая альтернатива - «Диски» в GNOME: меню флешки → «Восстановить образ диска».