GNU/Linux >> Belajar Linux >  >> Linux

buat img kosong dengan dd sehingga sektornya berukuran 4096bytes, bukan 512

Tidak mungkin melakukannya seperti yang Anda gambarkan. Ukuran sektor adalah properti perangkat blok yang tidak dimiliki file secara inheren. File hanyalah urutan dari sejumlah byte tertentu, bagaimana file disimpan adalah detail implementasi...

Jadi jika Anda menginginkan ukuran sektor tertentu, Anda memerlukan perangkat blok. Dan Linux menawarkan perangkat loop hanya untuk tujuan ini, jadi gunakan losetup untuk membuat perangkat blok virtual yang didukung file dengan ukuran sektor tertentu.

File percobaan:

# dd if=/dev/zero of=empty4k.img bs=4096 count=8192

Perangkat loop reguler:

# losetup --find --show empty4k.img 
/dev/loop0
# fdisk -l /dev/loop0
Disk /dev/loop0: 32 MiB, 33554432 bytes, 65536 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

Perangkat loop sektor 4096 byte:

# losetup --find --show --sector-size=4096 empty4k.img 
/dev/loop1
# fdisk -l /dev/loop1
Disk /dev/loop1: 32 MiB, 33554432 bytes, 8192 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Dalam kedua kasus, file benar-benar identik, properti ukuran sektor disediakan oleh lapisan perangkat loop blok.


bs diberikan ke dd hanya memberi tahu seberapa besar buffer seharusnya selama membuat file. Pada akhirnya, file hanya terdiri dari nol-byte, tidak ada informasi tentang penyelarasan.

Anda harus menggunakan parameter khusus untuk fdisk , yaitu -b , sesuai dengan man -halaman dari fdisk(8) :

  -b, --sector-size sectorsize
          Specify  the  sector  size  of  the  disk.   Valid values are 512,    1024, 2048, and 4096.  (Recent kernels know the sector size.  Use this option only on old kernels or to override the kernel's
          ideas.)  Since util-linux-2.17, fdisk differentiates between logical and physical sector size.  This option changes both sector sizes to sectorsize.

Linux
  1. Mengelola partisi di Linux dengan fdisk

  2. Mengganti Kata Atau Angka Dalam Kalimat Yang Kurang Dari 8 Menggunakan Awk Atau Sed?

  3. Menemukan Ukuran Sektor Dari Sebuah Partisi?

  1. Buat pohon direktori kosong baru dari pohon yang ada dengan file

  2. du yang menghitung jumlah file/direktori daripada ukuran

  3. Ubuntu - pasang file gambar dengan izin r/w

  1. Bagaimana Cara Mengalokasikan Lebih Banyak Ruang untuk Bertukar dan Meningkatkan Ukurannya Lebih Besar dari Ram?

  2. buat file kosong dengan struktur direktori yang sama dengan direktori referensi

  3. Terus pantau log dengan ekor yang sesekali diputar