mount
Çalışmaya ve ArchLinux üzerinde .ima biçiminde (diskete, .img benzer ham dökümü) bir disket görüntü dosyasına erişmeye çalışıyorum .
Bu dosya 30 kümesinin bir parçasıdır. Önyüklenebilir değil, bir kümenin devamıdır. Amaç, kurulum veya klonlama için manipülasyon değildir. Diskteki diğer verilerle ilgili belgelere ilgi duyuyorum.
Görüntü dosyası bilgileri
İşte bu görüntü dosyası hakkında bazı bilgiler:
# 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:
Montaj başarısız
İşte genel hata mesajı:
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 yani ntfs, msdos, iso9660, vfat ile bir tür belirtmeye çalışan birçok kombinasyon denedim ve her zaman aynı hatayı alıyorum. Belki ntfs dosya biçiminin bir tür olduğunu düşündüm ama ntfs-3G çok daha iyi yapmaz bu yüzden hayır değil:
# 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)
Birisi belki bir Minix fs önerdi. Mevcut yapılandırmamla böyle bir dosya sistemini gerçekten bağlayıp kuramayacağım açık olmasa da denedim:
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.
Belirli bir dosya sistemi türü belirttiğinizde, günlükte belirli bir hata türüne sahip olacağınız için bu kesin değildir. Ayrıca denedi [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..
Nerede böyle şeyler görebilirsiniz dmesg
:
[ 5316.082629] FAT-fs (loop0): invalid media value (0xf6)
[ 5316.082644] FAT-fs (loop0): Can't find a valid FAT filesystem
Ayrıca lsmod | grep loop
verir
loop 18511 0
Herhangi bir alternatif süperblok yoktur :
# 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
Okuduğum birçok vakanın aksine , burada herhangi bir ofset belirtmeye gerek yok gibi görünüyor, çünkü görüntüde herhangi bir bölüm yok. Bu gibi durumlarda, bazen dd
komut, montaja izin veren bir ofset değeri kullanarak içeriği benzer bir görüntüye aktarmak için kullanılır. Bu, mount
doğrudan komuta bir ofset belirtmekle aynı görünüyor . Ama bu gibi, kolay olmalı bu basit nereye diğer durumda losetup
kullanılır ve daha sonra döngü cihazı monte edilir. .İma dosyasını losetup ile bağlayabilirim ama döngü aygıtını bağlamaya çalıştığımda ilk hata mesajımla karşılaşıyorum.
Veri bütünlüğü
Son olarak, safecopy --stage1
verilerle ilgili herhangi bir sorun bildirmez ve 3. aşamaya kadar olan çıktı aynı kalır ve aynı hatayı verir:
# 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)
İşte dosyanın üst kısmı ve içerik sağlam görünüyor:
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 |................|
"Adli"
Bir yana ham görüntü kaynağı ortamın bir sektör tarafından sektörü ikili kopya oluşur, dosya içeriğinin gerçek biçimi (örneğin FAT bir versiyonu olarak) görüntü oluşturulduğu diskin dosya sistemine göre değişir. [...] IMG dosyaları disk içeriğinin ötesinde ek veri içermediğinden, bu dosyalar yalnızca dosya sistemlerini algılayabilen programlar tarafından işlenebilir.
Aşağıdaki önerileri, kümedeki (30) diğer görüntü dosyalarını analiz etmeye devam ettim:
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
Üzgünüz ama bir bölüm tablosu gibi görünüyor ama sıradışı. İd 90 özelliğini içerir :
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)
Yani görüntüyü monte etmeye çalışırken:
# mount -t auto U14.IMA /mnt/cd
mount: unknown filesystem type 'sysv' <-----
Birisinin ima ettiği gibi , çekirdekte ' Sistem V ve Tutarlı dosya sistemi desteği ' gibi belirli bir şey kullanmak zorundasınız . Sysv dizesi çok şaşırtıcı değil, çünkü bu AT&T UNIX System V / 386 Sürüm 4 Sürüm 2.1 yükleme medyası - Sun'a 2006'ya kadar desteklenen bir bağlantı noktası - ve bu görüntüler 2007'de vahşi olarak sona erdi. Aslında bir metin görüntülerle birlikte gelen dosya, önyükleme sektörünün doğası ve kullanım biçimi nedeniyle kurulum için gerekli olduğunu gösterir. Malzemenin orijinal olarak Teledisk (TD0) formatında olduğuna dair bir gösterge var.mount -t sysv
. Burada, bunun orijinal bir malzeme olmadığını vurgulamak istiyorum. Her halükarda, aslında soruda açıklandığı gibi ofsetleri hesaplayamıyorum - ya 512'ye bölündüğünde tam sayılarla sonuçlanmıyorum ve denesem bile uygun ofseti bulamıyorum - dd: cannot skip to specified offset, 0 writes
vb. bu noktada cevap adli tıp ile ilgilidir ve artık bir görüntü dosyasıyla ilgili değildir.
QEMU ile Hızlı Geçmiş Görüntü Kaynağı İşletim Sistemi Emülasyonu
AT&T UNIX System V Sürüm 4 Sürüm 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
Önerildiği gibi, sette önceki bir görüntüden kurdum. Burada qemu
açıklandığı gibi, temel olarak görüntü 14'ten başlayarak (önce losetup /dev/loop0 U14.IMA
basit sonra qemu-system-x86_64 -m 256 -hda test.img -fda /dev/loop0 -boot a
) kullanılmasını içerir, çünkü U19 önyüklenebilir değildir. Burada güzel olan şey, işletim sisteminin kendisine görüntü monte etmek / umount etmek zorunda değilsiniz ctrl-alt-2
, monitöre erişmek veya monitöre erişmek için qemu ile 1 veya 1 kullanın ve görüntüyü değiştirmek için list blocks
neyin monte edildiğini ve change floppy0 imagename
bu arayüzde örneğin kurulum sırasında.
Ben yükleme sırasında U19.IMA (Disk 5) tedarik etmek zorunda (bir metinsel günlüğü için bkz yüklemek bu - bir vurgu MS-DOS referanstır!) Ben bu yani düzgün AT & T UNIX Sys yüklü ile sona erdi ve V 386 işletim sistemi, bu yüzden U19.IMA çalışan bir disk görüntüsüdür:
Varsayılan olarak / dev / fd / dev / fd üzerine monte edilmiştir ve ayrıca bir blok (/ dev / dsk / f0) ve ham (/ dev / dsk / f0) aygıtından disket erişimi de vardır. Dizini diskete değiştirmek, 1'den 23'e kadar olan dosyaları gösterir (bu sadece sanırım karakter aygıtının yapısıdır). Ayrıca cat
ham ve blok cihazları ve disket verilerinin orada olduğunu görebilirsiniz, ancak bu olabildiğince yakın.
Bu işletim sisteminde, örneğin sıkıştırılmış ikili dosyalarla yaptığınız gibi bir dizinden bir komut dosyası başlatarak disketlerden bir şeyler yüklemediğinizi fark ettim - burada kullanıyorsunuz pkgadd -d diskette1
(kesinlikle son kelime bazı takma addır, ancak ben pkgadd (1M) için SCO öğelerinde -d anahtarına başvuru bulunduve genellikle ticari Unix'te (Oracle, HP share pkgadd (1M)) görülür. Komutun verilmesi, disket sağladığınız bir rutini başlatır ve rutin sürücüde ne olduğunu öğrendikten sonra "hayır" demenin dışında hiçbir kontrolünüz yoktur. Bir kurulum sekansına (U03, U05 vb.) Başlayan disklerde, bu kurulum daha sonra paket kurulumu tamamlanana kadar bir sonraki disketi vb. İsteyecektir. Bir kümenin başlangıcı olmayan bir disket koyarsanız, temelde hiçbir şey bulamaz, ancak installpkg
bunun yerine komutu kullanmanız gerektiğini söyler .
Bu görüntü dosyasındaki verilere erişmek için donanımıma fiziksel bir disket sürücüsü takacak mıyım?
mount -t minix -o loop U19.IMA /mnt/cd
ve genel hatayı alıyorsam ama bu dmesg'de yer alıyorsa VFS: Can't find a Minix filesystem V1 | V2 | V3 on device loop0.
Çekirdeğin herhangi bir göstergesi zaten var mı yoksa buna güvenemiyorum mu? Her neyse, söylediklerini araştıracağım. Önyüklenebilir olmadığını biliyorum, içeriğe erişmek istiyorum. Teşekkürler.
file
görüntü üzerinde dosya sistemi olmadığını gösterir. Verilerinizin gerçekten orada olduğundan emin misiniz? Bölüm ve dosya sistemi olmadan ham sürücünün görüntüsünü bağlamaya çalıştığınız anlaşılıyor.