Jelajahi .img tanpa pemasangan

13

Apakah ada cara untuk meramban file .img tanpa memasangnya? Saya memiliki file .img yang saya hasilkan dari snapshot partisi clonezilla. Saya entah bagaimana memiliki masalah untuk memasang file dengan perintah mount -o loop sda5.img /mnt/.

dmesg | tail menunjukkan kepada saya kesalahan berikut:

[1325.395286] EXT4-fs (loop0): geometri buruk: jumlah blok 11221248 melebihi ukuran perangkat (11218432 blok)

Adakah yang tahu cara menelusuri tanpa memasang atau apa yang menyebabkan kesalahan ini?

Ahatius
sumber
Itu terlihat buruk .
Uri Herrera
terkait: unix.stackexchange.com/questions/32008/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Jawaban:

18

Jika ini adalah gambar seluruh hard drive atau seperti dalam kasus Anda ini mungkin merupakan gambar dari partisi extended, Anda perlu mengetahui tata letak partisi dan offset setiap partisi dalam file untuk dapat me-mount mereka.

Untuk melakukan ini, Anda akan memerlukan partedalat, Anda dapat menginstalnya dengan perintah berikut:

apt-get install parted

Setelah menginstal parted, mulailah dengan jalur ke file gambar Anda. Sebuah partedprompt akan ditampilkan:

$ parted /path/to/image/file/sda5.img
GNU Parted 2.3
.....
(parted)

Dalam prompt ini (diawali dengan (parted)) ketik perintah berikut:

(parted) unit B
(parted) print
.....
Number  Start          End            Size           Type     File system  Flags
 1      1048576B       1573912575B    1572864000B    primary  ntfs         boot
 2      1573912576B    156774694911B  155200782336B  primary  ntfs
 3      156774694912B  171454758911B  14680064000B   primary  ntfs
 4      171454758912B  180044693503B  8589934592B    primary

(parted) q

Tabel dalam output akan memberi tahu Anda offset dari setiap partisi dalam file dan tipe sistem file di setiap partisi. Sebagai contoh untuk me-mount partisi pertama dalam output contoh di atas Anda harus memasukkan perintah berikut:

sudo mount -o loop,ro,offset=1048576 /path/to/image/file/sda5.img /mnt/partition

Pastikan itu /mnt/partitionada terlebih dahulu.

bender
sumber
1
Ok, saya pikir masalahnya mungkin saya mendapatkan kesalahan, ketika menjalankan perintah cetak, karena ia mengatakan tabel partiton yang tidak diketahui. Kira gambarnya rusak?
Ahatius
Sepertinya sangat rusak. Tetapi cobalah untuk memperbaiki kesalahan Anda di Google terlebih dahulu.
bender
1
Can't have a partition outside the disk!kesalahan dengan berpisah seperti dengan gparted ...
Philippe Gachoud
8

Saya mendapat masalah yang sama dengan gambar ext4 yang dihasilkan dari snapshot Clonezilla.

Apa yang benar-benar bekerja untuk saya adalah untuk memperluas file ke ukuran yang dilaporkan tabel partisi, menggunakan truncate. Kesalahan dmesg yang dilaporkan dalam kasus saya adalah:

[15687.653868] EXT4-fs (loop0): bad geometry: block count 18482176 exceeds size
  of device (18352672 blocks)

Jadi saya menyesuaikan panjang file dengan:

truncate -o -s 18482176 /path/to/partition.img

(^ perhatikan itu yang pertama, dan lebih besar dari dua angka di log)

Setelah itu mount senang dan saya bisa mengakses data saya.

Anthony Lenton
sumber
Ini bekerja untuk saya walaupun ukurannya salah, saya kira ukuran bloknya berbeda, jadi saya harus menentukan ukuran dalam byte. Hati-hati karena Anda dapat kehilangan data jika Anda memotong file gambar Anda ke ukuran yang lebih pendek dari ukuran aslinya.
golimar
1
Bagaimana Anda tahu ukuran yang benar? tolong tambahkan perintah di sini.
Hunsu
@Hunsu Ukurannya dilaporkan dalam pesan kesalahan (dmesg).
Melebius