So mounten Sie eine .bin-Image-Datei unter Linux


7

Ich habe den AWS-Importdienst verwendet, um ein großes Laufwerk (2 TB) zu importieren, und sie haben zwei .bin-Dateien in meinem S3-Konto abgelegt. In ihren Anweisungen heißt es, sich auf EBS-Volumes zu verteilen, um ein Laufwerk groß genug zu machen, um das Image aufzunehmen, und es dann einfach zu verwenden.

Nun, ich habe alles gestreift und so weiter, aber ich weiß nicht, was ich mit diesem .bin-Bild anfangen soll. Scheint nicht mit mountoder zumindest nicht ohne Optionen zu funktionieren , und ich weiß nicht, welche Optionen ich setzen soll.

>file -k image-NPX7P-0000.bin
image-NPX7P-0000.bin: x86 boot sector; partition 1: ID=0xb, starthead 1, startsector 63, 3907024821 sectors, extended partition table (last)\011, code offset 0x0

>file -k image-NPX7P-0001.bin
image-NPX7P-0001.bin: data

BEARBEITEN: Ich habe die Dateiinformationen angehängt, und wie es aussieht, würde ich annehmen, dass der Grund, warum ich nicht nur 0000 mounten kann, darin besteht, dass 0001 eine Erweiterung davon ist (die nachverfolgt, wie ich annehme, dass sie dies getan haben). Aber wie würde ich die beiden zusammenführen und das montieren?

EDIT2: Mit der Antwort von osgx konnte ich die beiden Bin-Dateien zusammenstellen und die Partitionstabelle mit kpartx lesen.

> file-sk: /dev/dm-2: x86 boot sector, code offset 0x58, OEM-ID "BSD 4.4", sectors/cluster 64, heads 255, sectors 3907024821 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 476816, reserved3 0x1000000, reserved 0x1, serial number 0x5cb415f7, label: "SOURCE-PSE " DOS executable (COM), boot code –

Dies wird jedoch immer noch nicht gemountet. Es heißt, es erfordert einen Dateisystemtyp, und nichts, was ich verwendet habe, hilft. Auch in einen Pastebin gepostet, weil es lang ist, ist meine Kernkonfiguration der relevanten (vielleicht) Werte:

http://pastebin.com/j7iS7RF3


Versuchen Sie, eine file -kDatei in Ihrer Bin-Datei auszuführen und die Ergebnisse hier zu veröffentlichen.
Osgx

hinzugefügt in der Datei -k info
UltimateBrent

und was sind größen ( ls -l image*)?
Osgx

kpartx kann die Partitionstabelle aus der Image-Datei lesen und jede Partition einem separaten Gerät zuordnen.
Osgx

Antworten:


8

Entsprechend file -khaben Sie ein Disk-Image (möglicherweise ist es in zwei Volumes aufgeteilt); Das Disk-Image verfügt über eine Partitionstabelle von 2 TB (39 G-Sektoren mit 512 = 2 TB) und vom Typ FAT32 (0x0b).

Machen Sie eine Katze, um beide Bilder zu einem zu verketten

cat image*bin > image.iso

ODER (Vorsicht! Dadurch wird die erste Datei geändert.)

cat image*0001* >> image*0000*

Führen Sie eine kpartxPartitionstabelle zum Lesen über image.iso über das Gerät loop1 aus (jetzt benötigen Sie einen Root; ersetzen Sie image.iso durch image * 0000 *, wenn Sie eine zweite Methode zum catTing durchgeführt haben).

losetup /dev/loop1 image.iso; kpartx -av /dev/loop1;

Die Ausgabe wird wie sein add map loop1p1 ...

Dann finden Sie den loop1p1 in / dev / mapper

ls -l /dev/mapper
file -sk /dev/mapper/*   # finally check that it is a FAT32

Und montieren Sie es:

mount -o ro -t auto /dev/mapper/loop1p1 /where/to/mount

Arbeite mit fs; umount es; führe a aus kpartx -d -v /dev/loop1;; Entschlüsseln Sie loop1 mitlosetup

(Handbuch verwendet http://nfolamp.wordpress.com/2010/08/16/mounting-raw-image-files-and-kpartx/ )


Ich hoffe, Sie haben 6 TB Speicherplatz (2 TB für Originaldateien; 2 TB für image.iso; 2 TB für wiederhergestellte Daten). In der ähnlichen Situation (2 TB wiederherstellen) hatte ich keinen solchen Speicherplatz und habe immer noch keinen.
Osgx

1
Nun, mein Genie kennt keine Grenzen. Ich habe die zweite Methode durchgeführt, weil ich dachte, ich würde zumindest für diesen Teil keinen zusätzlichen Speicherplatz benötigen, aber ich habe nicht daran gedacht, in die andere Datei zu kopieren und insgesamt 3 TB zu benötigen. Also muss ich die Dateien bereuen. Das wird eine Weile dauern, dann werde ich meine Ergebnisse veröffentlichen.
UltimateBrent

Keine Würfel: losetup / dev / loop1 image-NPX7P-0000.bin; kpartx -av / dev / loop1; / dev / loop1: Berechtigung verweigert / dev / mapper / control: Öffnen fehlgeschlagen: Berechtigung verweigert Fehler bei der Kommunikation mit dem Kernel-Geräte-Mapper-Treiber. Geräte-Mapper-Voraussetzungen nicht erfüllt
UltimateBrent

1
UltimateBrent, ok. versuche nls module zu finden und modmodbe sie. Können Sie exakte dmesg kopieren und Ausgabe für mount -o ro -t vfat /dev/dm-2 /where/to/mount und mount -o ro -t auto /dev/dm-2 /where/to/mount und mounten mount -o ro,codepage=850,iocharset=iso8859-1 -t vfat /dev/dm-2 /where/to/mount . Vielleicht sollten Sie eine neue Frage (Community hilft schneller beim Mounten eines einfachen Fettes als ich) mit Ihrer Ausgabe von, file -sk /dev/dm-2versuchten Mount-Befehlen und den gemeldeten dmesg / mount-Fehlern öffnen.
Osgx

1
Ich dachte, ich würde hier posten, um die Schleife zu vervollständigen. Ich habe gerade diese ec2-Instanz beendet und eine vorgefertigte Suse gefunden, die vfat bereit hatte, und Ihre Mount-Option funktionierte wie ein Zauber. Ich schulde dir viel Zeit osgx!
UltimateBrent

3

Versuchen Sie es mit der -o loopOption zu mounten .


Dies funktioniert nur für ISO9660-Dateien.
Ismail

3
@Ismail: Nein, es funktioniert für jede Bilddatei mit einem Dateisystem, das von erkannt werden kann mount.
Ninjalj

Sagt mir, dass ich einen Dateisystemtyp angeben muss, aber ich habe keine Ahnung, was ich setzen soll. ntfs und iso9660 haben nicht funktioniert
UltimateBrent

2

Verwenden Sie bchunk und konvertieren Sie es in ISO. Dann können Sie http://goinggnu.wordpress.com/2007/05/08/howto-mount-bincue-files-in-linux/ problemlos einbinden.


Es gibt keine Cue-Datei, nur den Bin
UltimateBrent

Wenn Sie eine Bin-Datei ohne Cue haben, können Sie jederzeit versuchen, eine neue Textdatei mit folgendem Inhalt zu erstellen: DATEI „yourbinfilenamehere.bin“ BINARY TRACK 01 MODE1 / 2352 INDEX 01 00:00:00 Aber ich denke, die Lösung von osgx ist die richtige Antwort.
Chris Hasiński

1

Konvertieren Sie die Datei in eine ISO und arbeiten Sie von dort aus damit. Ich habe iat (Iso9660 Analyzer Tool) mit Erfolg verwendet.

Installiere es (unter Ubuntu, wo ich wohne - YMMV):

sudo apt-get install iat

Benutze es:

iat inputFile.bin > newShiny.iso
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.