- Редактирование образов в Linux
- Редактирование iso образов в Linux
- Шаг 1. Распаковка образа
- Шаг 2. Редактирование образа
- Шаг 3. Сборка обычного образа
- Шаг 4. Сборка загрузочного iso образа
- Шаг 5. Проверка загрузочного ISO
- Выводы
- Как смонтировать ISO-файл в Linux
- Как смонтировать файлы ISO с помощью командной строки
- Монтирование файлов ISO с помощью Gnome
- Выводы
- Как монтировать образы дисков для просмотра и редактирования файлов (РЕШЕНО)
- Как просмотреть информации об образах для монтирования. Как определить файловую систему образа
- Как смонтировать файл образа диска (раздела)
- Пример просмотра содержимого образов с помощью монтирования
- Связанные статьи:
Редактирование образов в Linux
Иногда возникает необходимость добавить, удалить или изменить файлы на iso образе. Например вы хотите добавить несколько треков на образ диска с музыкой или отредактировать параметры загрузки для Live CD. В Windows эта задача решалась очень просто, существует большое количество как известных так и не очень утилит с подобной функциональностью таких например Alcohol, UltraISO и т д. Но в Linux дела обстоят немного странным образом.
С одной стороны в Linux работа с образами дисков поддерживается на уровне системы, без каких либо дополнительных утилит, но с другой файловая система iso не поддерживает редактирование данных. Поэтому все операции по изменению содержимого образов сводятся к распаковке, редактированию и обратной упаковке образа. Из этой статьи вы узнаете как отредактировать ISO образ в Linux.
Редактирование iso образов в Linux
Этот процесс немного трудоемкий, но он раскрывает суть работы с образами, будь то в Windows или Linux все происходит именно таким способом, только если вы используете дополнительные утилиты все действия будут автоматизированы и скрыты от пользователя. Вы будете чувствовать что редактируете образ напрямую внося изменения в его файловую систему, но это не так, это лишь видимость создаваемая утилитой.
Шаг 1. Распаковка образа
Монтируем образ, копируем из него содержимое во временную папку, вносим необходимые изменения и собираем образ обратно. Монтируем:
Создаем временную папку и копируем данные:
Для примера был создан каталог в папке /tmp, но вы можете копировать в любое другое место на жестком диске.
Шаг 2. Редактирование образа
Переходим в временную папку и вносим изменения:
Или можно открыть папку в графическом файловом менеджере и работать там:
Шаг 3. Сборка обычного образа
Теперь разберемся как сделать ISO Linux. Когда редактирование закончено можно собрать образ обратно:
mkisofs /tmp/isowork —iso-level 4 -J -R -o ~/file.iso
Здесь нам нужно использовать именно эти опции чтобы утилита применяла максимально современную файловую систему ISO и все файлы обрабатывались нормально.
Шаг 4. Сборка загрузочного iso образа
Если вы распаковали загрузочный образ, то и паковать его надо как загрузочный. Для этого придется использовать ещё несколько опций:
mkisofs -o output.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -cache-inodes -no-emul-boot -boot-load-size 4 -boot-info-table -J -l -R -V «Новый образ» /tmp/isowork/
Файлы isolinux/isolinux.bin и isolinux/boot.cat должны реально существовать на диске чтобы этот образ был собран без ошибок. Вам надо будет найти верные пути к ним.
Чтобы полностью ответить на вопрос как iso образ сделать загрузочным Linux нам понадобится утилита isohybrid:
Теперь с этого диска можно загрузить систему. Утилиту isohybrid можно установить вместе с пакетом syslinux-utils:
sudo apt install syslinux-utils
Если нужно чтобы образ грузился и в UEFI, то следует добавить опцию -u.
Шаг 5. Проверка загрузочного ISO
Прежде чем записывать полученный ISO образ его надо проверить на работоспособность. Для этого можно использовать набор эмуляторов qemu:
Для проверки образа выполните в терминале:
qemu-system-x86_64 -boot d -cdrom /tmp/output.iso -m 512
Если образ загрузился, значит всё хорошо. Если же он не работает — обратитесь к официальному руководству дистрибутива, для которого вы собираетесь редактировать iso образ. Обычно там будут описано как это делать верно, чтобы всё работало.
Выводы
В этой статье мы разобрались не только как выполняется редактирование iso образа в Linux, но и как происходит создание загрузочного iso образа linux. Конечно, этот метод будет работать не для всех дистрибутивов и не всегда, но он может послужить для вас отправной точкой.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Как смонтировать ISO-файл в Linux
Файл ISO — это архивный файл, который обычно содержит полный образ компакт-диска или DVD. Например, большинство операционных систем, таких как Windows, Linux и macOS, распространяются в виде образов ISO.
Файлы ISO можно извлечь с помощью популярных архивных программ, смонтировать на устройстве с петлей и записать на USB-накопитель или пустой компакт-диск.
В этом руководстве мы объясним, как монтировать файлы ISO в Linux.
Как смонтировать файлы ISO с помощью командной строки
Команда mount позволяет прикреплять (монтировать) файлы ISO в определенной точке монтирования в дереве каталогов.
Инструкции в этом разделе должны работать с любым дистрибутивом Linux, включая Ubuntu, Debian и CentOS.
- Начните с создания точки монтирования, это может быть любое место, которое вы хотите:
sudo mount /path/to/image.iso /media/iso -o loop
Монтирование файлов ISO с помощью Gnome
Если вы используете дистрибутив Linux, который использует Gnome в качестве среды рабочего стола, вы можете смонтировать файл ISO с помощью приложения для монтирования образа диска Gnome.
Найдите ISO-файл, который вы хотите смонтировать, и щелкните его правой кнопкой мыши. В контекстном меню выберите «Открыть с помощью Disk Image Mounter».
После подключения образа на рабочем столе должен появиться значок устройства. Дважды щелкните по нему, и откроется файловый менеджер Gnome.
Чтобы отключить файл ISO, щелкните правой кнопкой мыши значок устройства и выберите «Размонтировать».
Выводы
В Linux вы можете монтировать файлы ISO с помощью команды mount . Пользователи настольных компьютеров могут использовать графические инструменты, такие как Gnome Disk Image Mounter.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Как монтировать образы дисков для просмотра и редактирования файлов (РЕШЕНО)
Как просмотреть информации об образах для монтирования. Как определить файловую систему образа
С помощью команды file можно анализировать, какая файловая система используется в файлах, являющихся образами дисков.
Пример проверки файла test.image:
/mnt/disk_d/test.image: ISO 9660 CD-ROM filesystem data 'ARCH_202010' (bootable)
Пример анализа образа disk.ntfs:
/mnt/disk_d/disk.ntfs: DOS/MBR boot sector, code offset 0x52+2, OEM-ID "NTFS ", sectors/cluster 8, Media descriptor 0xf8, sectors/track 63, heads 255, dos < 4.0 BootSector (0x0), FAT (1Y bit by descriptor); NTFS, sectors/track 63, physical drive 0x80, sectors 15654911, $MFT start cluster 786432, $MFTMirror start cluster 2, bytes/RecordSegment 2^(-1*246), clusters/index block 1, serial number 06258074758071a05; contains bootstrap BOOTMGR
Как можно убедиться, это образ с файловой системой NTFS.
Проверка образа rootfs.sfs:
/mnt/disk_d/rootfs.sfs: Squashfs filesystem, little endian, version 4.0, zstd compressed, 625010200 bytes, 58466 inodes, blocksize: 262144 bytes, created: Sat Jun 6 08:14:32 2020
Это образ с файловой системой Squashfs.
Анализ образа ext3-img-kw-1.dd:
file /mnt/disk_d/ext3-img-kw-1.dd
/mnt/disk_d/ext3-img-kw-1.dd: Linux rev 1.0 ext3 filesystem data, UUID=e2307119-024a-427f-bd74-dbe8a95687a6, volume name "KW_SEARCH"
Это образ с файловой системой ext3.
Чтобы выполнять команды по монтированию файлов-образов, вы можете создать образы, например, сделав клон флешки примерно следующим образом:
sudo dd if=/dev/sdc of=/mnt/disk_d/disk.ntfs
В этой команде утилита dd считывает содержимое диска /dev/sdc и сохраняет его в файл /mnt/disk_d/disk.ntfs. Помните, что программа dd считывает не файлы, а байты со всего диска. Поэтому получаемый образ по размеру будет равен диску (разделу) с которого он был сделан, независимо от заполненности этого диска. То есть если флешка размером 8 Гигабайт и на ней ничего не записано, то всё равно получится образ размером 8 Гигабайт.
Вы также можете перейти на страницу http://dftt.sourceforge.net/ - на ней есть ссылки на уроки, с которых вы можете скачать образы самых разных файловых систем.
Как смонтировать файл образа диска (раздела)
Общий вид команды монтирования файлов образов следующий:
mount ОПЦИИ ОБРАЗ ДИРЕКТОРИЯ
- ОПЦИИ — опции утилиты mount или опции монтирования
- ОБРАЗ — файл с образом диска
- ДИРЕКТОРИЯ — папка, где будут доступны файлы со смонтированного устройства
По сути, синтаксис монтирования образов с помощью mount отличается от монтирования диска тем, что вместо УСТРОЙСТВА указывается путь до ОБРАЗА. ОПЦИИ указывать необязательно, тип файловой системы будет определён автоматически.
К примеру, нужно смонтировать образ диска disk.ntfs, расположенный по пути /mnt/disk_d/disk.ntfs.
Начнём с создания временной точки монтирования в /tmp:
Монтируем образ /mnt/disk_d/disk.ntf в папку /tmp/disk:
sudo mount /mnt/disk_d/disk.ntfs /tmp/disk
Просмотрим содержимое образа disk.ntfs:
Мы можем видеть файлы, размещённые в образе disk.ntfs, их можно открывать и копировать.
Некоторые файловые системы (например, ISO образы) доступны только для чтения. Но в данном случае мы можем записать любые изменения в папку /tmp/disk и они сохраняться в файле disk.ntfs даже после размонтирования и повторного монтирования диска disk.ntfs.
Для размонтирования образа можно использовать любую из команд:
sudo umount /ПУТЬ/ДО/ОБРАЗА sudo umount /ТОЧКА/МОНТИРОВАНИЯ/
Пример просмотра содержимого образов с помощью монтирования
Для практики, возьмём установочный образ дистрибутива Linux. Они интересны тем, что там может быть сразу несколько файлов образов с разными файловыми системами. Для примера посмотрим содержимое установочного диска Manjaro.
Создадим папку для монтирования:
У меня установочный диск расположен по пути /mnt/disk_d/Share/manjaro-kde-20.0.3-200606-linux56.iso, а монтировать я его буду в /tmp/iso, тогда команда следующая:
sudo mount /mnt/disk_d/Share/manjaro-kde-20.0.3-200606-linux56.iso /tmp/iso
Получено следующее сообщение:
mount: /tmp/iso: WARNING: source write-protected, mounted read-only.
Оно означает, что монтирование было выполнено, но источник защищён от записи, поэтому монтирование выполнено с правами только чтение. Помните, что последующие монтирования файлов с этого образа могут быть формально доступны для записи, но поскольку начальное хранилище открыто только для чтения, то любые сделанные изменения не сохранятся.
Посмотрим содержимое установочного диска:
Там среди прочего есть файл efi.img, проверим, какая у него файловая система:
/tmp/iso/efi.img: DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "mkfs.fat", sectors/cluster 4, root entries 512, sectors 8192 (volumesМы можем посмотреть содержимое этого файла. Создадим точку монтирования для него
И смонтируем файл /tmp/iso/efi.img в папку /tmp/efi:
sudo mount /tmp/iso/efi.img /tmp/efiТеперь нам доступно содержимое этого файла:
Вернёмся к нашему смонтированному ISO образу и посмотрим содержимое папки manjaro/x86_64/:
Крошечные файлы с расширением .md5 это просто контрольные суммы. Но файлы desktopfs.sfs, livefs.sfs, mhwdfs.sfs и rootfs.sfs интереснее. Они содержат основные файлы, необходимые для работы LIVE образа и установки дистрибутива Linux.
Мы можем посмотреть содержимое любого из этих файлов. Допустим, нас интересует desktopfs.sfs.
Создаём для него новую временную точку монтирования:
И монтируем файл /tmp/iso/manjaro/x86_64/desktopfs.sfs в папку /tmp/desktopfs:
sudo mount /tmp/iso/manjaro/x86_64/desktopfs.sfs /tmp/desktopfsСмотрим содержимое файла desktopfs.sfs:
Вы можете самостоятельно смонтировать и изучить содержимое других образов .sfs на этом установочном диске. Либо для самостоятельных упражнений вы можете скачать установочный диск Linux Mint. Там образ файловой системы расположен в файле casper/filesystem.squashfs.
Что касается установочного диска Kali Linux, то там сопроводители дистрибутива не стали использовать образы, а просто разместили файлы внутри iso9660, то есть его не так интересно исследовать.
Связанные статьи: