Mounting Disk Image dalam format Raw

11

Saat mencoba memasang gambar disk dalam format Raw (dd) menggunakan perintah berikut

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

Saya mendapatkan pesan kesalahan berikut

mount: you must specify the filesystem type

Saya tahu bahwa dengan menggunakan -tkita dapat menentukan sistem file tetapi apa terminologi untuk file RAW (dd), yang dapat diteruskan sebagai argumen ke perintah mount. Jika metode saya untuk memasang sistem file ini salah, tolong bantu saya dalam melakukan hal yang sama.

$ 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 
spaceman_spiff
sumber
Bisakah Anda menambahkan output dari perintah file -s nps-2010-emails.ddke posting Anda?
steeldriver
Saya melihat profil Anda, dan melihat pertanyaan lainnya. Mungkin posting blog ini mungkin bisa membantu.
muru
@steeldriver Output menambahkan ...
spaceman_spiff
Opsi yang lebih mudah untuk pemasangan - tersedia / dijelaskan di sini: askubuntu.com/questions/69363/…
Hannu

Jawaban:

16

Dari http://major.io/2010/12/14/mounting-a-raw-partition-file-made-with-dd-or-dd_rescue-in-linux/ , ada saran untuk menggunakan offset. Pertama dapatkan offset melalui fdisk(8)dan kemudian tentukan dengan offsetopsi untuk mount. Gunakan fdiskuntuk menentukan sektor awal partisi dan ukuran sektor. Kemudian hitung offset dalam byte menggunakan nomor sektor awal dan ukuran sektor dalam byte. Lihat Memasang partisi tunggal dari gambar seluruh disk (perangkat) untuk contoh. Akhirnya:

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

Dalam hard disk biasa, sel-sel yang menyimpan data dikelompokkan. Pengelompokan ini disebut sektor. Cara kami biasanya mempartisi hal-hal, beberapa sektor pertama disisihkan untuk memberikan informasi tentang partisi, meninggalkan celah. Jadi jika kita memiliki gambar seluruh disk, sektor-sektor ini juga termasuk. Sekarang, mountperintah tidak dapat langsung dimulai pada byte pertama, karena partisi tidak dimulai pada byte pertama. Jadi, kita harus memberi tahumountberapa banyak byte untuk dilewati (sehingga dapat menghindari informasi tambahan) dan sampai ke partisi sebenarnya. Ini disebut offset. Sekarang setiap sektor dapat menyimpan sejumlah informasi dalam byte, yang disebut ukuran sektor. Kami mengambil ukuran total informasi yang dapat disimpan dalam celah ini dengan mengalikan ukuran suatu sektor, dengan ukuran kesenjangan dalam sejumlah sektor.

Dari output di fdisksana, Anda dapat melihat ukuran sektor adalah 512 byte dan dimulai pada sektor 1. Jadi offsetnya adalah 1 * 512 = 512. Coba perintah berikut:

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

Saya menambahkan tipe filesystem sejak fdiskmemberikannya sebagai FAT32. Untuk memasangnya untuk menulis juga, gunakan -o offset=512,rwsaja.

muru
sumber
Saya telah membaca artikel di tautan pertama yang telah Anda kirim tetapi tidak mengerti banyak tentang offset , jumlah sektor , dan konsep lainnya, jika mungkin, tolong uraikan topik ini atau kirimkan beberapa referensi untuk mempelajari hal yang sama. Thanx
spaceman_spiff
Pos diperbarui untuk menyertakan keluaran fdisk -l nps-2010-emails.dd.
spaceman_spiff
Selain itu, latar belakang saya adalah dalam ilmu komputer theorotical (saya seorang jurusan matematika), apakah ada referensi untuk memahami topik ini pada catatan umum?
spaceman_spiff
Topik 'ini' adalah disk, sektor, sistem file, dan semua itu? Mungkin Anda bisa mulai dengan bab IO / Storage dari buku teks Sistem Operasi, seperti Tannenbaum. Selain dasar-dasar itu, dan tipe pemasangan FAT32, semua yang saya posting pada jawabannya adalah dari tholinks.
muru
10

Anda juga dapat meminta komputer secara otomatis memindai semua partisi dalam dump dan secara otomatis menyiapkan semua perangkat loop, seperti dijelaskan di sini .

Jadi, katakanlah Anda membuang seluruh Anda /dev/sdamenjadi sesuatu yang disebut sda.img. Anda dapat mengakses partisinya sebagai berikut:

losetup -f -P sda.img

Di sistem saya, itu muncul sebagai berikut:

gambar mentah sda

Dalam lingkungan non-GUI, Anda dapat membuat daftar perangkat yang dibuat losetup -l, yang akan memberi tahu Anda nama perangkat loop, contoh:

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

Anda kemudian dapat me-mount say, partisi pertama, dengan:

mount /dev/loop0p1 /mnt/mypartition

Semoga itu bisa membantu.

agregat1166877
sumber
Bekerja untuk saya dengan sempurna.
praveen pathak
2
Sejalan dengan ini, pada Ubuntu 18.04 saya tidak kesulitan melakukan "gparted backup.img" dan mendapatkan daftar partisi. "fdisk -l backup.img" juga menampilkan informasi yang berguna.
RoundSparrow hilltx
1
Bagaimana Anda membatalkan losetupperintah?
Flimm
1

Tidak dapat menambahkan komentar karena kurangnya reputasi, tetapi ingin memberi tahu Anda yang memiliki disk GPT saat mengujinya dengan fdisk, gunakan gdsik sebagai gantinya untuk memulai sektor dan menghitung offset yang tepat. Itu membantu saya.

fdisk -l memberi saya:

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

dan itu tidak dapat dipasang dengan 512 offset dengan kesalahan 'mount: Anda harus menentukan tipe sistem file'

gdisk -l memberi saya hasil yang baik:

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
Sarang tupai
sumber
1
Atau gunakan parted.
muru