As estruturas essenciais do sistema de arquivos são endereçadas relativamente ao início do sistema de arquivos, que é o mesmo que o início do dispositivo de bloco. Como seu sistema de arquivos é implicitamente esperado para iniciar no primeiro bloco do dispositivo de bloco, ele tolera nenhum deslocamento a qualquer momento entre o primeiro bloco do dispositivo de bloco e o primeiro bloco do sistema de arquivos.
O fim do seu sistema de arquivos pode ser alterado (crescido e encolhido) relativamente ao ponto de partida, mas não há maneira fácil de estender além do primeiro bloco (ou encolher um sistema de arquivos 'para trás'), como você introduziria um offset entre o dispositivo de bloco e o início do sistema de arquivos. Teoricamente, isso seria possível, no entanto, o conjunto de ferramentas atual e o kernel do Linux não estão preparados para esse tipo de operação.
No comentário a esta resposta, você afirmou que só interessou relocalizar seu sistema de arquivos em uma nova partição cobrindo apenas a segunda metade da paritição atual.
Um sistema de arquivos depende de qual dispositivo de bloco ele usa? Não. A realocação do sistema de arquivos com ferramentas diferentes, como dd
, é possível.
O procedimento seria assim:
- faça um backup, nunca é demais
- reduz o sistema de arquivos existente para baixo (ou abaixo) do tamanho da nova partição
- calcule a posição inicial atual do sistema de arquivos no disco (não na partição)
- reparticione seu disco
- dd a quantidade de dados no disco para o seu lugar certo (desde que você conheça o antigo ponto de partida, o novo ponto de partida e o comprimento)
- estenda seu sistema de arquivos (no caso da etapa 2 você diminuiu)
Gostaria de destacar que este procedimento não funcionará, se o seu sistema de arquivos reduzido (ponto 2) e o novo local desejado (a nova partição, no ponto 4) se sobrepuserem no disco.
Considere usar LVM
para atenuar esses problemas como este e muitos outros. Com LVM
, você poderia simplesmente:
- reduza seu sistema de arquivos
- reduza seu volume lógico (e deixe o LVM lidar com toda essa bagunça)