Я пытаюсь получить 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предполагает, что на изображении нет файловой системы. Вы уверены, что ваши данные на самом деле там? Похоже, вы пытаетесь смонтировать образ сырого диска без разделов и файловой системы.