Я намагаюся отримати mount
доступ до файлів зображення з дискетою у форматі .ima (необроблений дамп на дискету, схожий на .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 fs. Хоча не зрозуміло, чи можу я реально змонтувати таку файлову систему з моєю поточною конфігурацією, я спробував:
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-файл із програмою losetup, але коли я намагаюся встановити циклічний пристрій, я закінчую своїм початковим повідомленням про помилку.
Цілісність даних
Нарешті, 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' <-----
Як хтось натякав, вам потрібно мати щось конкретне, як-от « Підтримка системи V та когерентної файлової системи », складене в ядрі , щоб використовувати щось подібне mount -t sysv
. Рядок sysv не настільки дивовижний, оскільки це частина AT&T UNIX System V / 386 випуску 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, тому це майже підтверджує, що U19.IMA - це зображення робочого диска:
За замовчуванням / dev / fd встановлено на / dev / fd, а також доступний дискети через блок (/ dev / dsk / f0) та сирий (/ dev / dsk / f0) пристрій. Зміна каталогу на дискету просто показує файли, пронумеровані від 1 до 23 (я думаю, це лише структура пристрою символів). Ви також можете cat
переглядати необроблені та заблоковані пристрої та бачити, як там є дискети, але це настільки ж близько.
Я помітив, що в цій ОС ви не встановлюєте речі з дискети, запускаючи якийсь скрипт із каталогу на них, як, наприклад, з декомпресованими бінарними файлами - тут ви використовуєте pkgadd -d diskette1
(напевно, останнє слово - це псевдонім, але я знайшов посилання на -d перемикач у матеріалах SCO для pkgadd (1М)і зазвичай він часто з’являється в комерційному 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
говорить про відсутність файлової системи на зображенні. Ви впевнені, що ваші дані є насправді? Це здається, що ви намагаєтесь змонтувати зображення із необробленого диска без розділів та файлової системи.