Как смонтировать dd образ или определенный раздел dd образа
Предположим у нас есть USB-флешка 4Gb с одним разделом.dd (dataset definition) программа UNIX и ее главное предназначение - это побайтовое копирование.
1) С помощью dd мы делаем образ данной флешки, с именем backup.img, на раздел жесткого диска /mnt/sda5
Заметка. Чтобы посмотреть устройства, или разделы, с которых Вы хотите сделать образ с помощью dd, используйте командуCode: Select all
fdisk -l
Code: Select all
root@porteus:~# dd if=/dev/sdc of=/mnt/sda5/backup.img
7987200+0 записей получено
7987200+0 записей отправлено
4089446400 байт (4,1 GB, 3,8 GiB) скопирован, 201,58 s, 20,3 MB/s
root@porteus:~# file /mnt/sda5/backup.img
/mnt/sda5/backup.img: DOS/MBR boot sector
root@porteus:~#
Code: Select all
root@porteus:~# parted /mnt/sda5/backup.img unit s print
Модель: (file)
Диск /mnt/sda5/backup.img: 7987200s
Размер сектора (логич./физич.): 512B/512B
Таблица разделов: loop
Флаги диска:
Номер Начало Конец Размер Файловая система Флаги
1 0s 7987199s 7987200s ext2
Code: Select all
root@porteus:~# expr 0 \* 512
0
root@porteus:~#
3) Монтируем образ USB флешки в /mnt/loopЗаметка. Если у Вашего устройства больше разделов, например второй раздел начинается с 7872 сектора, а размер сектора равен 512 байт, тогда получаем 7872 * 512 = 4030464 и именно это смещение указываем в offset=4030464 для того, чтобы смонтировать второй раздел (см. пункт 3)
На заметку. Обычно начало первого раздела с данными начинается с 2048 сектора и размер сектора равен 512 байт, тогда получаем 2048 * 512 = 1048576
Code: Select all
mount -o ro,loop,offset=0 /mnt/sda5/backup.img /mnt/loop
Code: Select all
root@porteus:~# mount | grep backup.iso
/mnt/sda5/backup.iso on /mnt/loop type ext2 (ro)
root@porteus:~#
Code: Select all
root@porteus:~# losetup -f
/dev/loop21
root@porteus:~#
Подцепляем образ к /dev/loop21 устройству и проверяем на ошибки (не забываем указать правильное значение в смещении ключа --offset):
Code: Select all
root@porteus:~# losetup --offset 0 /dev/loop21 /mnt/sda5/backup.img
root@porteus:~# fsck /dev/loop21
fsck из util-linux 2.30.1
e2fsck 1.43.5 (04-Aug-2017)
/dev/loop21 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/loop21: 106/249984 files (17.9% non-contiguous), 160284/998400 blocks
root@porteus:~#
Code: Select all
mount /dev/loop21 /mnt/loop
Code: Select all
umount /mnt/loop
Code: Select all
losetup -d /dev/loop21