Saya membuat img
file melalui perintah berikut:
dd if=/dev/zero bs=2M count=200 > binary.img
Ini hanya file dengan nol, tapi saya bisa menggunakannya fdisk
dan membuat tabel partisi:
# fdisk binary.img
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x51707f21.
Command (m for help): p
Disk binary.img: 400 MiB, 419430400 bytes, 819200 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: 0x51707f21
dan, katakanlah, satu partisi:
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-819199, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-819199, default 819199):
Created a new partition 1 of type 'Linux' and of size 399 MiB.
Command (m for help): w
The partition table has been altered.
Syncing disks.
Ketika saya memeriksa tabel partisi, saya mendapatkan hasil berikut:
Command (m for help): p
Disk binary.img: 400 MiB, 419430400 bytes, 819200 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: 0x7f3a8a6a
Device Boot Start End Sectors Size Id Type
binary.img1 2048 819199 817152 399M 83 Linux
Jadi, partisi itu ada. Ketika saya mencoba memformat partisi ini melalui gparted, saya mendapatkan kesalahan berikut:
Saya tidak tahu mengapa ini terlihat binary.img1
, dan saya tidak tahu bagaimana memformat partisi dari command live.
Adakah yang tahu cara memformatnya menggunakan sistem file ext4?
filesystems
partition
disk-image
Mikhail Morfikov
sumber
sumber
Couldn't find valid filesystem superblock.
. Inilah gambarnya : i.imgur.com/dl7XAC4.png. Apakah ini semacam bug?Jawaban:
Anda dapat mengakses gambar disk dan partisi individualnya melalui fitur loopback. Anda telah menemukan bahwa beberapa utilitas disk akan beroperasi dengan wajar pada gambar disk. Namun,
mkfs
bukan salah satu dari mereka (tapi anehnyamount
).Ini adalah output dari
fdisk -lu binary.img
:Untuk mengakses partisi yang Anda buat, Anda memiliki beberapa pilihan
Rute eksplisit
Outputnya
/dev/loop0
adalah nama perangkat loop yang telah dialokasikan. The--offset
parameter hanya partisi offset (Start
) dikalikan dengan ukuran sektor (512
). Sedangkan--sizelimit
ukuran partisi, dan Anda dapat menghitungnya dengan cara berikut: Akhir-Mulai + 1, yaitu 819199-2048 + 1 = 817152, dan angka itu juga harus dikalikan dengan ukuran sektor.Anda kemudian dapat menggunakan
/dev/loop0
sebagai referensi Anda ke partisi:Rute tersirat
Outputnya
/dev/loop0
adalah nama perangkat loop utama yang telah dialokasikan. Selain itu,--partscan
opsi memberitahu kernel untuk memindai perangkat untuk tabel partisi dan menetapkan perangkat loop tambahan secara otomatis. Dalam kasus Anda dengan satu partisi Anda juga mendapatkan/dev/loop0p1
, yang kemudian dapat Anda gunakan sebagai referensi Anda ke partisi:sumber
fdisk
output.Ada cara lain untuk melakukan ini secara umum, gunakan
kpartx
( tidak terkait kde)dan sekarang Anda harus memiliki semua perangkat partisi yang didefinisikan di bawah
/dev/mapper
sebagai loop0p1 , loop0p2 , ...lalu
Optionnaly, ketika Anda selesai, Anda dapat menjalankan juga
untuk menyingkirkan loop0p? deivce
sumber
(... dan kemudian
binary.img2
dikubur dalam komentar.)Itu karena alat mengharapkan nama file mengikuti pola tertentu. Pola itu adalah yang digunakan oleh file perangkat untuk disk aktual dan volume disk pada sistem Anda, yaitu:
sda
(atau yang lainnya). Inilah yangfdisk
ingin dimanfaatkan.sda1
,sda2
,sda3
, dan sebagainya. Inilah yang digunakan alat-alat seperti yanggparted
diharapkan untuk digunakan ketika mereka memintamkfs
untuk melakukan hal-hal pada volume disk individu .Tentu saja, file biasa tidak tumpang tindih dengan cara yang dilakukan file perangkat disk. Diskusi yang melibatkan filesystem loopback bahwa Anda telah melihat semua tentang mengambil file gambar seluruh disk tunggal dan menggunakan loopback untuk menciptakan
1
,2
,3
, dan sebagainya file yang mencerminkan irisan individu di dalamnya, setelah tata letak partisi yang diinginkan telah ditulis ke tabel partisi.sumber
Meskipun topik ini tidak berhubungan langsung, ia menyebutkan banyak informasi yang sama dan terkait.
Wiki Debian | Raspberry Pi dan qemu-user-statis
Jika Anda tidak dapat menggunakan
apt
untuk menginstal beberapa perintah yang disebutkan dalam posting ini, coba gunakanapt-cache search [package_name]
. Ini mungkin tidak menampilkan hasil apa pun jika perintah tersebut berasal dari paket dengan nama yang berbeda.Sebagai contoh,
losetup
sebelumnya bisa diinstallosetup
menggunakanapt install losetup
, tetapi sekarang menjadi bagian dariutil-linux
repositori Ubuntu. Cara Anda mengetahui paket apa yang bertindak sebagai wadah untuk paket lain, Anda harus menggunakan pencarian repositori online untuk distribusi Linux Anda. Atau, jika Anda harus menginstalnya dari sumber lain, gunakan mesin pencari Web.Beberapa paket layak dicoba ...
util-linux genisoimage dosfstools squashfs-tools fsarchiver xfsprogs reiserfsprogs reiser4progs jfsutils ntfsprogs btrfs-tools
Setiap distribusi Linux juga memiliki halaman manual online sendiri. Terkadang lebih mudah menggunakan manual daripada tutorial. Halaman manual juga akan memberi tahu Anda semua opsi dan parameter perintah. Tutorial biasanya hanya akan fokus pada yang digunakan.
sumber
Minimal runnable
sfdisk
+mke2fs
contoh tanpasudo
Dalam contoh ini, kita akan membuat, tanpa
sudo
atausetsuid
, file gambar yang berisi dua partisi ext2, masing-masing diisi dengan file dari direktori host.Kami kemudian akan menggunakan
sudo losetup
hanya untuk me-mount partisi untuk menguji bahwa kernel Linux benar-benar dapat membacanya seperti yang dijelaskan di: /programming/1419489/how-to-mount-one-partition-from-an-image -file-that-berisi-multi-partisi / 39675265 # 39675265Untuk detail lebih lanjut, lihat:
sfdisk
: berkaitan dengan tabel partisi: /superuser/332252/how-to-create-and-format-a-partition-using-a-bash-script/1132834#1132834mke2fs
: berurusan dengan pemformatan partisi EXT: /superuser/605196/how-to-create-ext2-image-without-superuser-rights/1366762#1366762Contoh:
Diuji pada Ubuntu 18.04. GitHub hulu .
Membantu membungkus file sistem file mentah yang ada menjadi gambar
Diekstrak dari yang di atas, berikut ini dapat bermanfaat:
GitHub hulu .
sumber