1

Я использовал команду dd для генерации полной копии диска (SD-карта). Сейчас я пытаюсь получить информацию, которая там хранилась, но я не знаю, как прочитать содержимое файла. Я использовал команду dd if=/dev/mmcblk0 of=/home/user/devmmcblk0.img bs=1M для создания файла. SD-карта имеет размер 16 ГБ и файл, как сообщает Ubuntu. Формат файла был fat32. Для его установки я использовал следующую команду: mount -t vfat /home/user/devmmcblk0 /mnt но там указано fstype incorrect, incorrect option, wrong superblock in /dev/loop0 . Также я попытался установить Linux в Virtualbox и добавить файл образа в качестве дополнительного диска, но он не позволяет Virtualbox смонтировать его, выдав следующую ошибку

Código Resultado: 
VBOX_E_IPRT_ERROR (0x80BB0005)
Componente: 
Medium
Interfaz: 
IMedium {05f2bbb6-a3a6-4fb9-9b49-6d0dda7142ac}
Receptor: 
IVirtualBox {fafa4e17-1ee2-4905-a10e-fe7c18bf5554}
Receptor RC: 
VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)

Любая помощь в восстановлении информации будет высоко оценена.

РЕДАКТИРОВАТЬ Меня попросили вывод нескольких команд, поэтому я добавлю их здесь, чтобы все могли видеть

  • file -s devmmcblk0.img: devmmcblk0.img: x86 boot sector
  • mount -t vfat -o ro,loop /home/user/devmmcblk0 /mnt: mount: wrong fs type, bad option, bad superblock on /dev/loop0
  • fdisk -lu devmmcblk0.img:

    Disk devmmcblk0.img: 16.0 GB, 16003891200 bytes 255 heads, 63 sectors/track, 1945 cylinders, total 31257600 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 Disk identifier: 0x00000000

     Device Boot      Start         End      Blocks   Id  System
    devmmcblk0.img1            8192    31257599    15624704    c  W95 FAT32 (LBA)
    

3 ответа3

0

Обновление: пожалуйста, попробуйте с опцией readonly на этот раз,

sudo mount -t vfat -o ro,loop /home/user/devmmcblk0 /mnt

Update2:

Видя все препятствия при работе с петлевым устройством вручную, возможно, вы захотите попробовать подход более высокого уровня? Пожалуйста, посмотрите, если

sudo testdisk devmmcblk0.img

дает хорошие новости

Update3:

Скорее всего, это раздел в формате exfat, для правильного монтирования требуются exfat-fuse и exfat-utils .

0

Вы должны смонтировать раздел, он начинается со смещения внутри вашего файла.

sudo mount -o offset=$((512*8192)),ro,loop -t vfat /home/user/devmmcblk0.img /mnt

Заметки:

  • loop может не понадобиться.

  • 512 - это размер сектора, как сообщает fdisk .

  • 8192 - начальный сектор.

Ваше изображение покрывает всю SD-карту; это похоже на (например) /dev/sdb . Если бы это была SD-карта, то был бы доступен /dev/sdb1 для монтирования. Монтирование sdb1 будет автоматически монтировать sdb с соответствующим смещением. В файле образа нет такой магии - у вас нет специального devmmcblk0.img1 . Можно создать такой файл вручную, но он громоздок и не очень необходим (править: kpartx в ответе KevinB так и делает). Самый простой способ - передать правое смещение команде mount .

0

kpartx также вариант. С сайта в интернете:

# kpartx -l gothbook.img
loop1p1 : 0 512000 /dev/loop1 63
loop1p2 : 0 512000 /dev/loop1 512063
loop1p3 : 0 45056000 /dev/loop1 1024063
loop1p5 : 0 8388608 /dev/loop1 46090548
loop1p6 : 0 39070017 /dev/loop1 54492543
loop1p7 : 0 62733762 /dev/loop1 93562623

По выводу kpartx я вижу, что мой образ диска содержит 6 разделов. Я вижу их начальные смещения. В первом столбце указаны имена файлов устройств, которые будут созданы, если я решу добавить эти разделы устройства. Давайте добавим их сейчас.

# kpartx -a -v gothbook.img
add map loop1p1 (253:6): 0 512000 linear /dev/loop1 63
add map loop1p2 (253:7): 0 512000 linear /dev/loop1 512063
add map loop1p3 (253:8): 0 45056000 linear /dev/loop1 1024063
add map loop1p5 (253:9): 0 8388608 linear /dev/loop1 46090548
add map loop1p6 (253:10): 0 39070017 linear /dev/loop1 54492543
add map loop1p7 (253:11): 0 62733762 linear /dev/loop1 93562623

# ls -l /dev/mapper
total 0
crw-rw---- 1 root root  10, 62 2010-06-15 17:40 control
brw-rw-r-- 1 neil neil 253,  6 2010-08-16 00:28 loop1p1
brw-rw-r-- 1 neil neil 253,  7 2010-08-16 00:28 loop1p2
brw-rw-r-- 1 neil neil 253,  8 2010-08-16 00:28 loop1p3
brw-rw-r-- 1 neil neil 253,  9 2010-08-16 00:28 loop1p5
brw-rw-r-- 1 neil neil 253, 10 2010-08-16 00:28 loop1p6
brw-rw-r-- 1 neil neil 253, 11 2010-08-16 00:28 loop1p7

Предыдущая команда добавила шесть файлов сопоставления устройств в /dev /mapper. Каждый из этих файлов устройства соответствует разделу из этого образа жесткого диска. Теперь мы можем использовать эти файлы устройств для монтирования этих разделов и доступа к любым файлам, которые они содержат. Я хочу смонтировать пятый раздел (/dev /mapper /loop1p6) и взглянуть на его файлы.

# mkdir /mnt/sysimage
# mount /dev/mapper/loop1p6 /mnt/sysimage
# ls /mnt/sysimage
bin    dev   initrd.img      lost+found  opt   sbin     sys  var
boot   etc   initrd.img.old  media       proc  selinux  tmp  vmlinuz
cdrom  home  lib             mnt         root  srv      usr  vmlinuz.old

После монтирования файла устройства вы можете получить доступ к файлам, содержащимся в этом разделе. Когда вы закончите, не забудьте размонтировать раздел и отключить файлы карт устройств с помощью kpartx. # umount /mnt/sysimage # kpartx -d -v gothbook.img

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .