Os tamanhos informados por df
serão incorretos, pois são considerados apenas blocos de dados e blocos de erros usados internamente pelo sistema de arquivos, bem como pelos blocos reservados.
A maneira mais fácil é encolher seu sistema de arquivos para ser menor do que você deseja em pelo menos 10%. Redimensione a partição para o tamanho desejado e, em seguida, amplie o sistema de arquivos com resize2fs.
Se você quiser calcular manualmente, você precisa saber o tamanho do sistema de arquivos internamente. Verifique isso com tune2fs -l /dev/sda2
e multiplique a contagem de blocos pelo tamanho do bloco. Ao redimensionar a partição no parted, alterne as unidades para setores com unit s
e print
da tabela para obter o setor de início e o tamanho do setor lógico. Divida o tamanho total em bytes acima pelo tamanho do setor. Arredondar para o múltiplo mais próximo de 2048 e redimensionar para esse número de setores (setor final = tamanho em setores + iniciar setor - 1).
Equação (executável em Python apenas preencha os primeiros 4 valores):
block_count = N
block_size = N
sector_size = N
start_sector = N
fs_size = block_count * block_size
fs_sectors = fs_size/sector_size
part_sectors = ((fs_sectors-1)/2048+1)*2048
end_sector = start_sector + part_sectors - 1
print "Partition start: %d end: %d size: %d"%(start_sector,end_sector,part_sectors)
print "Resize in parted with: \nresizepart <number> %ds"%(end_sector)