Estou usando o tune2fs, mas ele fornece dados em blocos e não consigo obter o valor exato do tamanho total da partição.
Eu também usei fdisk -l /dev/mmcblk0p1
, mas o tamanho que estou recebendo daqui também é um valor diferente.
Como posso encontrar o tamanho exato da partição?
Respostas:
O comando é:
Ele fornece o resultado em bytes, como um número inteiro de 64 bits. Ele consulta o tamanho de byte de um dispositivo de bloco , conforme o kernel vê seu tamanho.
O motivo, por
fdisk -l /dev/mmcblk0p1
que não funcionou, é quefdisk
faz algo totalmente diferente: lê na tabela de partição (= primeiro setor) do dispositivo de bloco e imprime o que encontrou . Ele não verifica nada, apenas diz o que está na tabela de partições.Nem sequer se incomoda se a tabela de partição está danificada ou se o dispositivo de bloco não possui uma: ele imprimirá um aviso de que a soma de verificação não está correta, mas ainda imprime o que foi encontrado, mesmo que os valores não sejam claramente -sentido.
Foi o que aconteceu no seu caso:
/dev/mmcblk0p1
não possui uma tabela de partição. Como o nome do dispositivo mostra, ele já é a primeira partição do disco físico/dev/mmcblk0
. Este disco contém uma tabela de partições, se você a consultoufdisk -l /dev/mmcblk0
, funcionou (supondo que tivesse uma tabela de partições msdos).fonte
fdisk -l /dev/mmcblk0
? Ele deve informar o tamanho de um bloco, o número total de blocos no dispositivo, o tamanho das partições e também o bloco inicial e final de cada partição. Você também pode descobrir intervalos de blocos que não estão atribuídos a nenhuma partição a partir dessas informações.Tente
lsblk
, nem sequer requer root:O
-b
parâmetro diz para ele exibir o tamanho em bytes.fonte
Para obter o valor exato do tamanho total da partição, execute:
fonte
Minha solução:
onde
/dev/hda2
é a partição que não é necessariamente montada. é testado com atune2fs
versão 1.42.4fonte