Anda perlu memastikan bahwa direktori pengguna Anda saat ini memiliki akses baca dan tulis ke operasi Anda
sudo mkdir -p /tmp/test && sudo mount -o loop,rw,sync image.img /tmp/test
Berikut proses lengkapnya, berdasarkan jawaban di sini:
File .img Anda bukan gambar partisi, tetapi seluruh disk. Itu berarti dimulai dengan bootloader dan tabel partisi. Anda harus mendeteksi offset partisi dan memasangnya secara khusus. Sayangnya saya tidak pernah dapat menemukan alat Linux yang mengotomatiskannya. Jadi, Anda harus melakukan matematika, tapi itu mudah. Berikut prosesnya:
fdisk -l raspberry_pi.img
Yang memberikan output di bawah ini. Catat ukuran sektor dalam byte (dalam hal ini 512; lihat baris 2 di bawah) dan sektor Mulai dari partisi (94208 untuk partisi Linux; lihat baris terakhir di bawah).
Disk raspberry_pi.img: 7.3 GiB, 7826571264 bytes, 15286272 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
Disklabel type: dos
Disk identifier: 0xbeb1a7ff
Device Boot Start End Sectors Size Id Type
raspberry_pi.img1 8192 93813 85622 41.8M c W95 FAT32 (LBA)
raspberry_pi.img2 94208 15069183 14974976 7.1G 83 Linux
Sekarang, kalikan secara manual ukuran sektor awal * sektor untuk mendapatkan byte offset dari mount
kebutuhan komando. Dalam hal ini, 94208 * 512 =48234496
sudo mkdir /media/sdcard
sudo mount -o loop,rw,sync,offset=48234496 printer_v5.img /media/sdcard
Sekarang, partisi Linux image sudah terpasang di /media/sdcard dan pengguna root dapat mengedit filenya.
Terakhir, setelah selesai:
sudo umount /media/sdcard
Masalahnya adalah ada banyak partisi di gambar Anda. Mount biasa mencari informasi sistem file pada offset 0, yang dalam kasus Anda tampaknya menunjuk ke beberapa informasi boot bios, tetapi tidak ke ext4 fs yang diinginkan. Anda harus berhasil dengan membuat perangkat loopback dengan offset ke partisi yang diinginkan.
Tautan ini dapat membantu Anda.