나는에 노력하고있어 mount
및 액세스 .ima 형식의 플로피 이미지 파일 (유사 플로피 원시 덤프, .IMG 아치 리눅스에를).
이 파일은 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 파일은 디스크 내용 이외의 추가 데이터를 보유하지 않기 때문에 파일 시스템을 탐지 할 수있는 프로그램 만 이러한 파일을 처리 할 수 있습니다.
제안에 따라 set (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 and Coherent filesystem support ' 와 같은 특정한 것이 필요합니다 . sysv 문자열은 AT & T UNIX System V / 386 릴리스 4 버전 2.1 설치 미디어 ( 2006 년까지 Sun에서 지원하는 포트)의 일부 이며 2007 년에 실제로 종료 되었기 때문에 놀랍지 않습니다 . 이미지와 함께 번들로 제공되는 파일은 부트 섹터의 특성 및 사용중인 형식으로 인해 설치에 필요함을 나타냅니다. 자료가 원래 디스크 디스크 (TD0) 형식 이었다는 표시가 있습니다.mount -t sysv
. 나는 이것이 원래의 재료가 아니라는 것을 강조하고 싶다. 어쨌든 나는 실제로 질문에 설명 된 것처럼 오프셋을 계산할 수 없습니다-512로 나눌 때 정수로 끝나지 않으며 시도하더라도 올바른 오프셋을 찾을 수없는 것 같습니다 dd: cannot skip to specified offset, 0 writes
. 이 시점에서 답은 법의학에 관한 것이며 더 이상 이미지 파일에 관한 것이 아닙니다.
qemu로 빠른 히스토리 이미지 소스 OS 에뮬레이션
AT & T UNIX 시스템 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
제안했듯이, 나는 세트의 이전 이미지에서 설치했습니다. U19는 부팅 할 수 없으므로 기본적으로 이미지 14부터 시작하여 먼저 qemu
설명 된 것과 같은 것을 사용합니다 (먼저 losetup /dev/loop0 U14.IMA
간단한 qemu-system-x86_64 -m 256 -hda test.img -fda /dev/loop0 -boot a
). 여기서 좋은 점은 OS 자체에서 이미지를 마운트 / 마운트 해제 할 필요가 없으며 ctrl-alt-2
qemu와 함께 1을 사용 하여 모니터에 액세스하거나 모니터를 떠나고 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) 및 raw (/ dev / dsk / f0) 장치를 통한 플로피 액세스도 있습니다. 디렉토리를 플로피로 변경하면 1에서 23까지 번호가 매겨진 파일 만 표시됩니다 (이것은 필자가 추측 한 문자 장치의 구조 일뿐입니다). 또한 cat
원시 장치와 블록 장치를 사용할 수 있으며 플로피 데이터가 있지만 그 정도에 가깝습니다.
나는 그 OS에서 압축 해제 된 바이너리 파일과 같이 디렉토리에서 스크립트를 시작하여 플로피로 물건을 설치하지 않는다는 것을 알았습니다. 여기에서 사용합니다 pkgadd -d diskette1
(마지막 단어는 별명입니다. pkgadd (1M) 에 대한 SCO 항목에서 -d 스위치에 대한 참조를 찾았습니다.일반적으로 상용 Unix (Oracle, HP share pkgadd (1M))에서 자주 나타납니다. 명령을 실행하면 플로피를 제공하는 루틴이 시작되고 루틴이 드라이브에있는 내용을 찾은 후 "no"라고 말하지 않는 한 제어 할 수 없습니다. 설치 순서를 시작하는 디스크 (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
결과는 이미지에 파일 시스템이 없음 을 나타냅니다. 실제로 데이터가 있습니까? 파티션과 파일 시스템이없는 원시 드라이브의 이미지를 마운트하려고하는 것처럼 들립니다.