dd comando escrevendo para / dev / sdc tamanho alterado do disco

1

Eu usei um comando dd para gravar diretamente em / dev / sdc (um tamanho hdd 1TB montado externamente) para testar várias velocidades de gravação em um modo bruto. (Eu não me importo com quaisquer dados no disco). Agora, o tamanho do disco, conforme relatado por fdisk ou gparted, é o tamanho dos dados que eu escrevi, e não consigo descobrir como recuperar o tamanho total do disco.

O comando que usei foi:

dd se = / dev / urandom de = / dev / sdc bs = 4096 count = [número grande]

Como mostrado abaixo, se eu escrever 128 KB de dados usando este comando, o fdisk reportará a unidade como apenas 128 KB de tamanho. Quando tento escrever até 1 TB de dados, ele pára em 30 GB com erro de dispositivo cheio.

Eu tentei excluir e recriar tabelas de partições, mas como o software reconhece apenas o tamanho de unidade menor, isso não ajuda.

Como obtenho o tamanho total da unidade de volta?

P.S. Eu também tentei escrever de if = / dev / zero em vez disso. Isso vale para 5 GB / se para no mesmo local de 32 GB.

P.P.S. Eu também tentei remover a energia da unidade e reiniciá-la, pensando que havia algo na memória causando o problema. Mesmo problema.

# fdisk -l /dev/sdc

Disk /dev/sdc: 29.5 GiB, 31633203200 bytes, 61783600 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

#try to write to entire drive:
# dd if=/dev/zero of=/dev/sdc bs=65536 count=15258788 status=progress

26753171456 bytes (27 GB, 25 GiB) copied, 5.00001 s, 5.4 GB/s
dd: error writing '/dev/sdc': No space left on device
482685+0 records in
482684+0 records out
31633203200 bytes (32 GB, 29 GiB) copied, 5.89003 s, 5.4 GB/s

# dd if=/dev/urandom of=/dev/sdc bs=65536 count=2 status=progress
2+0 records in
2+0 records out
131072 bytes (131 kB, 128 KiB) copied, 0.000660426 s, 198 MB/s

# fdisk -l /dev/sdc
Disk /dev/sdc: 128 KiB, 131072 bytes, 256 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

# dd if=/dev/urandom of=/dev/sdc bs=65536 count=15258788 status=progress
31624462336 bytes (32 GB, 29 GiB) copied, 136 s, 233 MB/s     
dd: error writing '/dev/sdc': No space left on device
482685+0 records in
482684+0 records out
31633203200 bytes (32 GB, 29 GiB) copied, 136.038 s, 233 MB/s
    
por dan grunberg 11.01.2018 / 19:12

1 resposta

0

Por alguma razão, o arquivo de dispositivo especial do bloco / dev / sdc não existia, talvez porque a unidade não estava conectada no momento. O comando dd criou o arquivo como um arquivo normal, provavelmente no sistema de arquivos raiz, que fornece os resultados observados.

    
por 11.01.2018 / 23:46