Я пытаюсь получить mount
доступ к файлу образа дискеты в формате .ima (raw dump to floppy, аналогично .img ) в ArchLinux.
Этот файл является частью набора из 30. Он не загрузочный, а скорее продолжение набора. Цель не манипулирование ради установки или клонирования. Я заинтересован в документации, содержащейся с другими данными на диске.
Информация о файле изображения
Вот некоторая информация об этом файле изображения:
# file U19.IMA
U19.IMA: PC formatted floppy with no filesystem
# fdisk -lu U19.IMA
Disk U19.IMA: 1.4 MiB, 1474560 bytes, 2880 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
(parted) print
Error: /home/meh/Downloads/U19.IMA: unrecognised disk label
Model: (file)
Disk /home/meh/Downloads/U19.IMA: 1475kB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
Сбой
Вот общее сообщение об ошибке:
mount -o ro,loop U19.IMA /mnt/cd/
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
Я пробовал много комбинаций, пытаясь указать тип с -t, то есть ntfs, msdos, iso9660, vfat, и всегда получал ту же ошибку. Я думал, что это может быть какой-то формат файла NTFS, но NTFS-3G не намного лучше, так что нет, это не так:
# ntfs-3g -o loop U19.IMA /mnt
NTFS signature is missing.
Failed to mount '/home/meh/Downloads/U19.IMA': Invalid argument
The device '/home/meh/Downloads/U19.IMA' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
# ntfsclone -r -o file.img U19.IMA
ntfsclone v2013.1.13 (libntfs-3g)
ERROR: Input file is not an image! (invalid magic)
Кто-то предложил, может быть, Minix фс. Пока не ясно, смогу ли я действительно смонтировать такую файловую систему с моей текущей конфигурацией, я попробовал:
mount -t minix -o loop U19.IMA /mnt/cd
which gave the generic error but there was this at the bottom of the log:
VFS: Can't find a Minix filesystem V1 | V2 | V3 on device loop0.
Кажется, это не является окончательным, так как при указании определенного типа файловой системы вы будете иметь определенный тип ошибки в журнале. Также попробовал [fuseiso][2]
:
# fuseiso U19.IMA /mnt/cd
init: wrong standard identifier in volume descriptor 0, skipping..
init: wrong standard identifier in volume descriptor 1, skipping..
init: wrong standard identifier in volume descriptor 2, skipping..
init: wrong standard identifier in volume descriptor 3, skipping..
init: wrong standard identifier in volume descriptor 4, skipping..
init: wrong standard identifier in volume descriptor 5, skipping..
init: wrong standard identifier in volume descriptor 6, skipping..
init: wrong standard identifier in volume descriptor 7, skipping..
init: wrong standard identifier in volume descriptor 8, skipping..
init: wrong standard identifier in volume descriptor 9, skipping..
init: wrong standard identifier in volume descriptor 10, skipping..
init: wrong standard identifier in volume descriptor 11, skipping..
init: wrong standard identifier in volume descriptor 12, skipping..
init: wrong standard identifier in volume descriptor 13, skipping..
init: wrong standard identifier in volume descriptor 14, skipping..
init: wrong standard identifier in volume descriptor 15, skipping..
init: wrong standard identifier in volume descriptor 16, skipping..
init: wrong standard identifier in volume descriptor 17, exiting..
Где я могу увидеть такие вещи с dmesg
:
[ 5316.082629] FAT-fs (loop0): invalid media value (0xf6)
[ 5316.082644] FAT-fs (loop0): Can't find a valid FAT filesystem
Кроме того, lsmod | grep loop
дает
loop 18511 0
Там нет альтернативного Суперблока любого вида:
# mkfs -n U19.IMA
mke2fs 1.42.8 (20-Jun-2013)
U19.IMA is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
184 inodes, 1440 blocks
72 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=1572864
1 block group
8192 blocks per group, 8192 fragments per group
184 inodes per group
Вопреки многим случаям, о которых я читал, здесь нет необходимости указывать здесь какое-либо смещение, поскольку в образе нет встроенных разделов. В таких случаях иногда dd
команда используется для переноса контента в похожее изображение с использованием значения смещения, которое позволяет монтировать. Это похоже на указание смещения для mount
команды напрямую. Но это должно быть легко, как и в этом другом случае , когда простой losetup
используется , а затем устройство контура установлен. Я могу связать файл .ima с помощью losttup, но когда я пытаюсь смонтировать устройство зацикливания, я получаю исходное сообщение об ошибке.
Целостность данных
Наконец, safecopy --stage1
не сообщает о каких-либо проблемах с данными, и выходные данные до этапа 3 остаются прежними и выдают ту же ошибку:
# safecopy U19.IMA test.img --stage1
Low level device calls enabled mode: 2
Reported hw blocksize: 4096
Reported low level blocksize: 4096
File size: 1474560
Blocksize: 4096
Fault skip blocksize: 147456
Resolution: 147456
Min read attempts: 1
Head moves on read error: 0
Badblocks output: stage1.badblocks
Marker string: BaDbLoCk
Starting block: 0
Source: U19.IMA
Destination: test.img
. ;-} 100%
Done!
Recovered bad blocks: 0
Unrecoverable bad blocks (bytes): 0 (0)
Blocks (bytes) copied: 360 (1474560)
Вот вершина файла, и содержимое, кажется, не повреждено:
dd if=U19.IMA | hexdump -C | head -n 10
00000000 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 f6 |................|
*
00004600 34 2e 30 2e 32 20 33 38 36 75 6e 69 78 20 46 6e |4.0.2 386unix Fn|
00004610 64 20 53 65 74 20 35 20 6f 66 20 31 30 0a 00 00 |d Set 5 of 10...|
00004620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
«Криминалистика»
Поскольку необработанный образ состоит из бинарной копии секторов исходного носителя, фактический формат содержимого файла будет зависеть от файловой системы диска, с которого был создан образ (например, версия FAT). [...] Поскольку файлы IMG не содержат никаких дополнительных данных, кроме содержимого диска, эти файлы могут обрабатываться только программами, которые могут обнаруживать их файловые системы.
Следуя предложениям, я приступил к анализу некоторых других файлов изображений в наборе (30):
fdisk -lu U14.IMA
Disk U14.IMA: 1.4 MiB, 1474560 bytes, 2880 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: 0x00000000
This doesn't look like a partition table. Probably you selected the wrong device.
Device Boot Start End Blocks Id System
U14.IMA1 3840 11519 3840 0 Empty
U14.IMA2 2425393152 4850786447 1212696648 0 Empty
U14.IMA3 ? 2425393296 4850786591 1212696648 90 Unknown
U14.IMA4 ? 2425393296 4850786591 1212696648 90 Unknown
Извините, но это выглядит как таблица разделов, но это необычно. Включает свойство id 90 :
90h MBR, EBR CHS, LBA x86, 68000, 8080/Z80 Hidden, Filesystem FreeDOS Free FDISK Hidden FAT16 (corresponds with 04h i.e. MS Fat16 DOS 3.0+ < 65536 sectors)
Итак, пытаясь смонтировать образ, я получаю:
# mount -t auto U14.IMA /mnt/cd
mount: unknown filesystem type 'sysv' <-----
Как кто - то намекнул, что вам нужно иметь что - то конкретное , например , « System V и когерентной файловой системы поддержки » , составленной в ядре , чтобы использовать что - то вроде mount -t sysv
. Строка sysv не столь удивительна, поскольку она является частью установочного носителя AT & T UNIX System V / 386 Release 4 версии 2.1 - порта, который поддерживался Sun до 2006 года - и эти образы оказались в дикой природе в 2007 году. Фактически текст Файл в комплекте с изображениями указывает, что они необходимы для установки из-за характера загрузочного сектора и используемого формата. Существует признак того, что материал был первоначально в TELEDISK (TD0) формате, Здесь я хочу подчеркнуть, что это не оригинальный материал. В любом случае я не могу на самом деле рассчитать смещения, как объяснено в вопросе - либо я не получаю целые числа при делении на 512, и даже если я пытаюсь, кажется, я не могу найти правильное смещение - dd: cannot skip to specified offset, 0 writes
и т.д. на данный момент ответ о криминалистике, а не о файле изображения.
Быстрая эмуляция исторического источника изображения ОС с помощью qemu
AT & T UNIX System V, выпуск 4, версия 2.1
LABEL Version X of X
AT&T UNIX SVR4.0 2.1 --------------------------------------------------
U01.IMA Maintanace Disk1 2.1 2 of 2
U02.IMA Remote Terminal 2.1 1 of 1
Package
U03.IMA BSD Comp. Pkg. 2.1 1 of 2
U04.IMA BSD Comp. Pkg. 2.1 2 of 2
U05.IMA Networking Supp. 2.1 1 of 1
Util. Pkg.
U06.IMA Xenix Comp. Pkg 2.1 1 of 1
U07.IMA FACE Pkg. 2.1 1 of 1
U08.IMA FMLI Pkg. 2.1 1 of 1
U09.IMA Editing Utils. 2.1 1 of 1
U10.IMA OA&M Basic & Ext. 2.1 1 of 3
U11.IMA OA&M Basic & Ext. 2.1 2 of 3
U12.IMA OA&M Basic & Ext. 2.1 3 of 3
U13.IMA Foundation Set 2.1 1 of 10
Base System Pkg.
2 User System
U14.IMA Base 2.1a 1 of 10
U15.IMA Base 2.1 2 of 10
U16.IMA Base 2.1a 2 of 10
U17.IMA Base 2.1 3 of 10
U18.IMA Base 2.1 4 of 10
U19.IMA Base 2.1 5 of 10
U20.IMA Base 2.1 6 of 10
U21.IMA Base 2.1 7 of 10
U22.IMA Base 2.1 8 of 10
U23.IMA Base 2.1 10 of 10
U24.IMA Maintanance 1 2.1 1 of 2
U25.IMA Base 2.1 9 of 10
U26.IMA Printer Pkg 2.1 3 of 3
U27.IMA Printer Pkg 2.1 2 of 3
U28.IMA Printer Pkg 2.1 1 of 3
U29.IMA 16 to unlimited 2.1 1 of 1
User License
U30.IMA 2 to 16 User 2.1 1 of 1
License
Как и было предложено, я установил с предыдущего изображения в комплекте. Он включает в себя использование qemu
описанного здесь, как правило, начиная с образа 14 (сначала losetup /dev/loop0 U14.IMA
простого qemu-system-x86_64 -m 256 -hda test.img -fda /dev/loop0 -boot a
, а затем ), поскольку U19 не является загрузочным. Здесь хорошо то, что вам не нужно монтировать / размонтировать образы в самой ОС, вы просто используете ctrl-alt-2
или 1 с qemu для доступа к монитору или выхода из него, и вы используете, list blocks
чтобы увидеть, что смонтировано, и change floppy0 imagename
в этом интерфейсе, чтобы изменить образ. например, во время установки.
Я должен был предоставить U19.IMA (диск 5) во время установки (для текстового журнала установки, посмотрите это - основной момент - ссылка на MS-DOS!), И я закончил с этим, то есть правильно установленным AT & T UNIX Sys V 386 OS, так что это в значительной степени подтверждает U19.IMA - это образ рабочего диска:
По умолчанию / dev / fd монтируется в / dev / fd, а также имеется гибкий доступ через блочное (/ dev / dsk / f0) и необработанное (/ dev / dsk / f0) устройство. При смене каталога на дискету просто отображаются файлы с номерами от 1 до 23 (я думаю, это просто структура символьного устройства). Вы также можете cat
использовать необработанные и блокированные устройства и видеть, что данные на гибких дисках есть, но это настолько близко, насколько это возможно.
Я заметил, что в этой ОС вы не устанавливаете вещи с дискет, запуская некоторый скрипт из каталога на них, как, например, вы делаете это с распакованными двоичными файлами - здесь вы используете pkgadd -d diskette1
(конечно, последнее слово - это псевдоним, но я нашел ссылку на ключ -d в SCO для pkgadd (1M)и обычно это часто встречается в коммерческом Unix (Oracle, HP share pkgadd (1M)). Выполнение команды запускает процедуру, когда вы поставляете дискеты, и у вас нет контроля, кроме как сказать «нет» после того, как процедура узнает, что находится на диске. В случае дисков, которые начинают последовательность установки (U03, U05 и т. Д.), Будет произведена установка, а затем запрос на следующую дискету и т. Д. До завершения установки пакета. Если вы вставляете дискету, которая не является началом набора, она практически ничего не находит, но говорит вам, что, возможно, вам придется использовать installpkg
команду вместо этого.
Буду ли я устанавливать физическую флоппи-дисковод на мое устройство, чтобы получить доступ к данным в этом файле образа?
mount -t minix -o loop U19.IMA /mnt/cd
и я получаю общую ошибку, но она появляется в dmesg.VFS: Can't find a Minix filesystem V1 | V2 | V3 on device loop0.
Это указывает на то, что ядро уже имеет это, или я не могу на это полагаться? В любом случае, я расследую то, что ты сказал. Я знаю, что это не загрузочный, но я хочу получить доступ к содержимому, хотя. Спасибо.file
предполагает, что на изображении нет файловой системы. Вы уверены, что ваши данные на самом деле там? Похоже, вы пытаетесь смонтировать образ сырого диска без разделов и файловой системы.Ответы:
Если вы не можете смонтировать образ, в некоторых случаях вы все равно сможете «вытеснить» некоторые его данные
cpio
.Как только вы выяснили, является ли изображение:
mount
mount with offset
или используйтеdd
для извлечения раздела со смещением, затем смонтируйте только этот раздел или используйте что-то вродеkpartx
Вы можете использовать
hexdump
иstrings
утилиты , чтобы попытаться проанализировать заголовок и для извлечения текста из изображения и получить более подробную информацию о файле изображения и его структуре.Что-то заинтересовало меня в этом:
Такая строка есть для каждого двоичного файла на изображении, так что вы немного знаете, что там. Кроме того, в этом случае, когда вы более внимательно посмотрите на процесс установки на исходной платформе
installpkg
, вы обнаружите, что:По сути, данные извлекаются с помощью
cpio
/ usr / tmp / install, и в него входит ряд файлов (файл установки, ascii, файл, имя и размер). Так получилось, что эта команда:сначала выдает ошибки с искаженным числом , но затем создает папку / usr / bin с содержимым изображения!
tr
Я искал там:Во
cpio
-первых, пытаться не повредит!источник
cpio
. Кажется, я помню, что пытался извлечь непосредственно на мой корневой диск!