Como posso encontrar o último setor usado por um sistema de arquivos ext4?

3

Eu preciso identificar o último setor usado por um sistema de arquivos ext4 para que eu possa movê-lo para outro dispositivo.

O sistema de arquivos foi reduzido (com resize2fs ) e é menor que a partição que o contém, então não estou perguntando como encontrar o último setor na partição.

Eu fiz tune2fs -l e identifiquei que

Block count:              48934
First block:              0
Block size:               4096

A partir disso, eu postularia que o sistema de arquivos usa 48934 * 4096/512 = 391472 setores e que eu posso mover muitos setores com dd iniciando no primeiro setor da partição (conforme relatado por gdisk ). / p>

Não tenho certeza se essa contagem de blocos inclui qualquer sobrecarga de ext4 ou se há tamanho adicional que precisa ser considerado. Eu li esta questão que implica que há espaço adicional para ser considerado.

    
por starfry 05.10.2016 / 10:47

1 resposta

4

Você está certo. Não deve haver nenhum problema.

Para evitar alguns cálculos, você pode usar a opção bs e usar o nome da partição do dispositivo, em vez de começar com um deslocamento.

dd count=48934 bs=4096 if=/dev/sdxN  of=... 

Para ter 100% de certeza sobre o tamanho que você poderia testar antes. "Simular" uma partição menor:

umount /dev/XYZ
losetup --offset N-BYTES --sizelimit $(( 48934 * 4096 )) /dev/loop1 /dev/XYZ

mount ou fsck de /dev/loop1 deve informar se você ficou muito pequeno. resize2fs diria se a partição ainda é muito grande, mas não há dry-run . Você também pode brincar com fsadm -v --dry-run check/resize ... , que eu nunca usei ainda. Se paranóico, você deve usar losetup --read-only . Não se esqueça de losetup --detach quando terminar.

    
por 05.10.2016 / 11:13

Tags