Работа образами дисков linux

Редактирование образов в 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 образа

Если вы распаковали загрузочный образ, то и паковать его надо как загрузочный. Для этого придется использовать ещё несколько опций:

Читайте также:  Linux mint install nouveau

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.

Читайте также:  Open tar bz2 in linux

Чтобы отключить файл 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.

Читайте также:  Installing oracle jdk in linux

Начнём с создания временной точки монтирования в /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, то есть его не так интересно исследовать.

Связанные статьи:

Источник

Оцените статью
Adblock
detector