Saya telah membuat gambar kartu SD Raspberry Pi saya menggunakan dd
:
sudo dd if=/dev/sdf of=/home/myusername/raspberry-backup-2014-04-10.img
SD-card mencakup dua partisi (satu vfat, satu ext4) yang secara otomatis dipasang ketika saya pasang kartu.
Pertanyaan saya: Bagaimana saya bisa me-mount partisi ini dari file .img?
Keterangan lebih lanjut:
$ fdisk -l raspberry-backup-2014-04-10.img
Disk raspberry-backup-2014-04-10.img: 3974 MB, 3974103040 bytes
255 heads, 63 sectors/track, 483 cylinders, total 7761920 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: 0x000981cb
Device Boot Start End Blocks Id System
raspberry-backup-2014-04-10.img1 8192 122879 57344 c W95 FAT32 (LBA)
raspberry-backup-2014-04-10.img2 122880 7761919 3819520 83 Linux
wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error
masalahsudo fdisk -l /dev/loop0
klaim: Disk / dev / loop0 tidak mengandung tabel partisi yang valid.Jawaban:
Untuk menghindari perlunya membuat gambar terpisah untuk setiap partisi atau memasang utilitas seperti
kpartx
, Anda dapat memasang setiap partisi secara terpisah dengan menentukanoffset
dalammount
perintah.Pertama, periksa partisi dalam file gambar dan tentukan offset dengan menggunakan
fdisk
:Ambil
Start
sektor partisi yang Anda inginkan dan gandakan nilainya denganUnits
ukurannya. Jadi, jika Anda menginginkan partisi kedua, Anda akan mendapatkannya540672 * 512 = 276824064
.Sekarang buat folder dan pasang partisi:
Setelah Anda selesai melakukan apa yang Anda inginkan dengan data partisi:
sumber
Setelah beberapa pengujian tambahan saya menemukan solusinya sendiri:
kpartx
Perintah ini dibuat
/dev/mapper/loop0p1
dan/dev/mapper/loop0p2
. Setelah itu, partisi ini dapat dipasang lurus ke depan:sumber
jika tujuan Anda adalah untuk mengeksplorasi atau memodifikasi konten partisi (sistem file), baris perintah ini akan me-mount sistem file dump kartu sd my_sdcard_dump.img ke direktori mount_dir .
sumber
Berurusan dengan gambar seluruh disk dengan banyak partisi cukup rumit . Linux tidak dirancang untuk membaca tabel partisi dari file biasa, bahkan ketika dilampirkan ke perangkat loopback, jadi Anda harus hati-hati mengidentifikasi offset partisi dan meneruskannya ke
mount
perintah.Cara yang lebih disukai adalah membuat gambar terpisah dari setiap partisi:
Sekarang Anda dapat dengan mudah memperlakukan file-file ini seolah-olah mereka adalah partisi individual pada disk, memasangnya seperti yang biasa Anda lakukan pada partisi disk nyata, dengan memetakannya ke perangkat loop . Perangkat loop, atau perangkat loopback, adalah perangkat virtual yang menyediakan lapisan terjemahan untuk Linux untuk memperlakukan file sebagai perangkat blok (seperti disk atau partisi).
Perangkat loop biasanya
/dev/loop0
melalui/dev/loop8
. Identifikasi perangkat loop yang tidak digunakan denganlosetup
perintah:Tanggapan ini menunjukkan perangkat loop yang tidak ditetapkan. Sekarang kita dapat menetapkan perangkat loop ke salah satu file gambar kita:
Tidak adanya output dari perintah ini menunjukkan keberhasilan. Sekarang
/dev/loop0
untuk sebagian besar keperluan secara fungsional setara dengan/dev/sdf1
kartu SD Anda, dan Anda dapat memasangnya seperti biasa:Ulangi proses menggunakan perangkat loop lain untuk me-mount partisi lain. Setelah selesai, unmount sistem file dan lepaskan perangkat loop:
sumber