Монтирование образа блочного устройства

Образы блочных устройств создаются в качестве резервных копий флешек или дисков. Например, копия флешки с бухгалтерскими сертификатами или закрытыми ключами для доступа к определённой программе. Создать такую резервную копию проще простого командой dd if=/dev/sdd of=flash.iso, где sdd Ваша флешка. Но вот как потом подмонтировать её, чтобы посмотреть, изменить или обновить информацию в образе?
Казалось бы, простейший вариант mount -o loop flash.iso /mnt/temp, но в итоге получаем ошибку:

Посмотрим, что из себя представляет flash.iso
file flash.iso

У нас имеется DOS-овский бутсектор, GRUB, несколько стадий загрузки. Это определённо блочное устройство (это загрузочная флешка с системой Mandriva Flash 2008.1 и дополнительным местом под личные файлы). В этом случае нам помогут иные утилиты монтирования: losetup — утилита управления устройствами обратной петли и kpartx — создаёт карту устройства на основе партиций. Далее все команды выполняются с root правами.
Смонтируем наш образ на loop-устройство.
losetup /dev/loop0 flash.iso
Проверим.
losetup -lv

Теперь мапируем прикрипленное устройство (создадим карту).
kpartx -av /dev/loop0

Посмотрим, что получилось.
ls -al /dev/mapper/loop0p1
Если наш образ содержит разделы/партиции, то каждая из них будет создана в виде loop0p1, loop0p2 и так далее.

Теперь смонтируем новое устройство обычной командой:
mount /dev/mapper/loop0p1 /mnt/temp
Далее с устройством можно работать как с обычной файловой системой.
df -h|egrep 'File|loop'

ls -al /mnt/temp

Например, удалим ненужную папку ‘System Volume Information’.
rm -rf /mnt/temp/System\ Volume\ Information/
ls -al /mnt/temp

Для размонтирования и отключения устройства выполним команды в обратном порядке.
umount /mnt/temp
kpartx -dv /dev/loop0

losetup -l /dev/loop0

losetup -d /dev/loop0
losetup -l /dev/loop0

Монтирование образа блочного устройства

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *