Disk Görüntüsünü Raw formatında bağlama


11

Aşağıdaki komutu kullanarak bir disk görüntüsünü Raw (dd) biçiminde bağlamaya çalışırken

mount  nps-2010-emails.dd /media/manu/

Aşağıdaki hata mesajını alıyorum

mount: you must specify the filesystem type

Ben kullanarak -tdosya sistemi belirtebilirsiniz biliyorum ama bir RAW (dd) dosyası için terminoloji nedir, hangi mount komutuna bir argüman olarak geçirilebilir. Bu dosya sistemini bağlama yöntemim yanlışsa, lütfen aynı şeyi yapmama yardımcı olun.

$ file -s nps-2010-emails.dd
nps-2010-emails.dd: x86 boot sector; 
partition 1: ID=0xb, starthead 254, startsector 1, 20479 sectors, extended partition table (last)\011, code offset 0x0

$ fdisk -l nps-2010-emails.dd
Disk nps-2010-emails.dd: 10 MB, 10485760 bytes
255 heads, 63 sectors/track, 1 cylinders, total 20480 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
Disk identifier: 0x00000000

             Device Boot      Start         End      Blocks   Id  System
nps-2010-emails.dd1               1       20479       10239+   b  W95 FAT32 

Komutun çıktısını file -s nps-2010-emails.ddgönderinize ekleyebilir misiniz ?
steeldriver

Profiline baktım ve diğer soruyu gördüm. Belki de bu blog yazısı yardımcı olabilir.
muru

@steeldriver Çıktı eklendi ...
spaceman_spiff

Montaj için daha kolay seçenekler - mevcut / burada açıklanmıştır: askubuntu.com/questions/69363/…
Hannu

Yanıtlar:


16

Gönderen http://major.io/2010/12/14/mounting-a-raw-partition-file-made-with-dd-or-dd_rescue-in-linux/ , bir ofset kullanmak için bir öneri var. İlk yoluyla ofset olarak ulaşmak fdisk(8)ve daha sonra bunu belirtmek offsetiçin seçenek mount. Bölümün fdiskbaşlangıç ​​sektörünü ve sektör boyutunu belirlemek için kullanın . Sonra bayt cinsinden ofseti hesaplayın ve byte cinsinden başlangıç ​​sektör numarasını ve sektör boyutunu kullanın. Örnek için bkz. Tek disk bölümünü tüm diskin (aygıtın) görüntüsünden bağlama. En sonunda:

mount -o offset=<offset in bytes> nps-2010-emails.dd /media/manu/

Tipik bir sabit diskte, verileri tutan hücreler gruplandırılır. Gruplamalara sektörler denir. Genellikle şeyleri bölümlere ayırma şeklimizde, ilk birkaç sektör, bölümler hakkında bilgi vermek ve bir boşluk bırakmak için bir kenara bırakılır. Dolayısıyla, tüm bir diskin görüntüsüne sahipsek, bu sektörler de dahil edilir. mountBölüm ilk baytta başlamadığından , komut doğrudan ilk baytta başlatılamaz. Yani, söylemek zorundayızmountkaç bayt atlamak (böylece ekstra bilgi önlemek için) ve gerçek bölüm almak. Buna ofset denir. Artık her sektör, sektörün büyüklüğü olarak adlandırılan baytlarda belirli bir miktarda bilgi depolayabilir. Bir sektör büyüklüğünü, sektör sayısındaki boşluğun büyüklüğü ile çarparak bu boşlukta depolanabilecek toplam bilgi boyutunu alıyoruz.

Bu çıktıdan fdisk, sektör boyutunun 512 bayt olduğunu ve sektör 1'de başladığını görebilirsiniz. Böylece ofset 1 * 512 = 512'dir. Aşağıdaki komutu deneyin:

mount -t vfat -o offset=512 ps-2010-emails.dd /media/manu/

fdiskFAT32 olarak verdiğimden beri dosya sistemi türünü ekledim . Yazmak için de monte etmek için -o offset=512,rwkullanın.


Gönderdiğiniz ilk bağlantıdaki makaleyi okudum, ancak ofset , sektör numarası ve diğer kavramlar hakkında çok fazla anlamadım , mümkünse bu konuyu ayrıntılı olarak inceleyebilir veya aynı çalışma için bazı referanslar gönderebilirim. Thanx
spaceman_spiff

Yayın çıktısını içerecek şekilde güncellendi fdisk -l nps-2010-emails.dd.
spaceman_spiff

Teşekkür ederim, geçmişim teorik bilgisayar bilimleri alanındaydı (ben bir matematik ana dalıyım), bu konuyu genel bir notta anlamak için herhangi bir referans var mı?
spaceman_spiff

'Bu' konu diskler, sektörler, dosya sistemleri ve tüm bunlar mı? Belki de Tannenbaum gibi bir İşletim Sistemleri ders kitabının IO / Depolama bölümünden başlayabilirsiniz. Bu temeller ve FAT32 montaj tipi dışında, cevaba gönderdiğim her şey dikenli.
muru

11

Ayrıca, bilgisayarın bir dökümdeki tüm bölümleri otomatik olarak taramasını ve burada açıklandığı gibi tüm döngü aygıtlarını otomatik olarak hazırlamasını sağlayabilirsiniz .

Diyelim ki bütününüzü /dev/sdadenilen bir şeye döktünüz sda.img. Bölümlerine aşağıdaki gibi erişebilirsiniz:

losetup -f -P sda.img

Sistemimde daha sonra şu şekilde görünür:

sda ham görüntü

GUI olmayan ortamlarda, losetup -ldöngü aygıtının adını söyleyecek şekilde oluşturulan aygıtı listeleyebilirsiniz , örnek:

# losetup -l
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         0  0 /path/mmcblk0

Ardından, ilk bölümü şöyle söyleyebilirsiniz:

mount /dev/loop0p1 /mnt/mypartition

Umarım yardımcı olur.


Benim için mükemmel çalıştı.
praveen pathak

2
Aynı satırlar boyunca, Ubuntu 18.04 üzerinde "gparted backup.img" yaparken ve bölümlerin listesini almakta hiç sorun yaşamadım. "fdisk -l backup.img" de yararlı bilgiler gösterir.
RoundSparrow hilltx

1
losetupKomutu nasıl geri alırsınız ?
Flimm

1

İtibar eksikliği nedeniyle yorum ekleyemiyorum, ancak fdisk ile test ederken GPT diskine sahip olanlara söylemek istiyorum, başlangıç ​​sektörünü almak ve uygun ofseti saymak için bunun yerine gdsik kullanın. Bana yardımcı oldu.

fdisk -l bana verdi:

      Device Boot      Start         End      Blocks   Id  System
vm2080737.bak1   *           1        3901    31457279+  ee  GPT

ve 'mount: dosya sistemi türünü belirtmelisiniz' hatasıyla 512 ofseti ile bağlanamaz

gdisk -l bana iyi sonuç verdi:

Number  Start (sector)    End (sector)  Size       Code  Name
   1              34             545   256.0 KiB   A501  gpboot
   2             546          993825   485.0 MiB   A502  swap
   3          993826        62914526   29.5 GiB    A503  rootfs

1
Veya kullanın parted.
muru
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.