ฉันพยายาม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
ไม่มีsuperblockอื่นใด ๆ :
# 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 และการเชื่อมโยงกันสนับสนุนระบบแฟ้ม ' รวบรวมใน kernelmount -t sysv
เพื่อการใช้งานบางอย่างเช่น สตริง sysv นั้นไม่น่าแปลกใจนักเนื่องจากนี่เป็นส่วนหนึ่งของ AT&T UNIX System V / 386 รีลีส 4 เวอร์ชัน 2.1 สื่อการติดตั้ง - พอร์ตที่ Sun ได้รับการสนับสนุนจนถึงปี 2549และภาพเหล่านี้ก็จบลงด้วยความดุร้ายในปี 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) และอุปกรณ์ raw (/ dev / dsk / f0) การเปลี่ยนไดเรกทอรีเป็นฟลอปปี้เพียงแสดงไฟล์ที่มีหมายเลขตั้งแต่ 1 ถึง 23 (นี่เป็นเพียงโครงสร้างของอุปกรณ์ตัวละครที่ฉันเดา) คุณยังสามารถcat
ใช้อุปกรณ์ raw และ block และดูข้อมูลฟลอปปี้ได้ที่นั่น แต่ใกล้เคียงที่สุดเท่าที่จะเป็นไปได้
ฉันสังเกตเห็นว่าในระบบปฏิบัติการนั้นคุณไม่ได้ติดตั้งข้อมูลจาก floppies โดยเปิดตัวสคริปต์จากไดเรกทอรีในไฟล์อย่างที่คุณทำกับไฟล์ไบนารีที่แตกไฟล์ - ที่นี่คุณใช้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
แนะนำไม่มีระบบไฟล์ในภาพ คุณแน่ใจหรือไม่ว่าข้อมูลของคุณมีอยู่จริง ดูเหมือนว่าคุณกำลังพยายามเมานต์รูปภาพของไดรฟ์ดิบโดยไม่มีพาร์ติชันและไม่มีระบบไฟล์