MyTetra Share
Делитесь знаниями!
Как в Linux примонтировать раздел из файла с образом HDD диска?
Время создания: 27.12.2023 10:20
Текстовые метки: linux, mount, dd, примонтировать, монтирование, файл, диск, жесткий, HDD, образ, раздел
Раздел: Компьютер - Linux - Bash - Команды и скрипты
Запись: xintrea/mytetra_syncro/master/base/1703661652f9pno8ue3t/text.html на raw.github.com

Вопрос:


Имеется файл образа диска, созданного через команду dd. Это побайтная копия диска, в которой есть таблица разделов и несколько разделов, скопированных с реального жесткого диска. Можно ли примонтировать один из разделов, находящихся внутри такого файла, так чтобы содержимое раздела было видно в виде директории?


Ответ:


Да, можно. Для этого необходимо сделать несколько действий.


1. Нужно создать пустую директорию, или воспользоваться стандартной /mnt, если она пуста и не используется в данный момент.


2. Надо создать файл блочного устройства, который будет связан с содержимым файла образа диска. Делается это от суперпользоватея (root) следующей командой:



> losetup --partscan --find --show our_disk.img



В результате работы данной команды в консоль будет выведена информация о созданном файле блочного устройства:



/dev/loop0



3. Далее надо выполнить команду монтирования раздела с заданным номером (счет разделов идет с единицы):



> mount /dev/loop0p2 /mnt



Данная команда примонтирует второй раздел (partition), о чем говорит суффикс p2, из блочного устройства /dev/loop0. Монтирование призведется в каталог /mnt. В нем будут видны все файлы, находящиеся на выбранном разделе. Убедиться, что каталог примонтировался, можно командой mount без параметров:



> mount | grep loop

/dev/loop0p2 on /mnt type ext4 (rw,relatime)



Внимание! Монтирование происходит в режиме RW (разрешены чтение и запись), то есть, все изменения, вносимые в файлы и в структуру каталогов внутри директории монтирования, будут отражаться на содержимом образа диска! Это очень удобно, если необходимо что-то поменять внутри образа. Но так же это накладывает ограничения: надо быть внимательным, чтобы случайно не изменить данные.



После окончания работы, каталог (устройство) необходимо размонтировать:



umount /dev/loop0p2



* * *



Кстати, чтобы увидеть, какие разделы существуют внутри файла-образа и какова его структура, можно воспользоваться командой fdisk с опцией -l или командой file:



> fdisk -l our_disk.img

Disk our_disk.img: 2,36 GiB, 2537553920 bytes, 4956160 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0x57c84f67


Device Boot Start End Sectors Size Id Type

/home/user/our_disk.img1 8192 1056767 1048576 512M c W95

/home/user/our_disk.img2 1056768 4956159 3899392 1,9G 83 Linux



> file our_disk.img

file our_disk.img: DOS/MBR boot sector;

partition 1 : ID=0xc, start-CHS (0x40,0,1), end-CHS (0x3ff,3,32), startsector 8192, 1048576 sectors;

partition 2 : ID=0x83, start-CHS (0x3ff,3,32), end-CHS (0x3ff,3,32), startsector 1056768, 3899392 sectors



* * *



Программа losetup может показать список устройств, которые ассоциированы с файлами-образами. Делается это с помощью опции -l:



> losetup -l

NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO LOG-SEC

/dev/loop0

0 0 0 0 /home/user/our_disk.img




Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования