GNU/Linux >> Linux Esercitazione >  >> Linux

crea un img vuoto con dd in modo che i suoi settori siano di 4096byte anziché 512

Non è possibile farlo nel modo che descrivi. La dimensione del settore è una proprietà del dispositivo a blocchi che i file non hanno intrinsecamente. Un file è solo una sequenza di un certo numero di byte, il modo in cui questi vengono memorizzati è un dettaglio di implementazione...

Quindi, se vuoi una dimensione di settore specifica, hai bisogno di un dispositivo a blocchi. E Linux offre dispositivi loop solo per questo scopo, quindi usa losetup per creare un dispositivo a blocchi virtuale supportato da file con una certa dimensione del settore.

File di prova:

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

Dispositivo loop regolare:

# 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

Dispositivo di loop di settori da 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

In entrambi i casi, il file è completamente identico, la proprietà della dimensione del settore è fornita dal livello del dispositivo del ciclo di blocco.


Il bs dato a dd dice solo quanto dovrebbe essere grande il buffer durante la creazione del file. Alla fine, il file consiste solo di zero byte, non ci sono informazioni sull'allineamento.

Devi usare il parametro specifico per fdisk , che è -b , come da man -pagina di 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. Sostituire una parola o un numero in una frase inferiore a 8 usando Awk o Sed?

  2. Trovare la dimensione del settore di una partizione?

  3. Come creare un processo Cron che elimina automaticamente i file più vecchi di 30 giorni?

  4. Come trovare tutti i file con dimensione del file zero (0) byte in una directory in modo ricorsivo

  5. Come creare un file con una determinata dimensione in Linux?

Come elencare, creare, eliminare partizioni su dischi MBR e GPT – Preparazione dell'obiettivo RHCSA

creare file vuoti con la stessa struttura di directory della directory di riferimento

Dimensione di una cartella con du

Impossibile eseguire query DNS quando la risposta è maggiore di 512 byte e viene troncata

Monitora continuamente i tronchi con la coda che occasionalmente vengono ruotati

Perché il mio nome host appare con l'indirizzo 127.0.1.1 anziché 127.0.0.1 in /etc/hosts?