Parted: redimensionar partição sem redimensionar o sistema de arquivos

6

Pode separar redimensionar uma partição sem redimensionar o sistema de arquivos subjacente?

Atualmente, imprime um aviso:

WARNING: you are attempting to use parted to operate on (resize) a file system. parted's file system manipulation code is not as robust as what you'll find in dedicated, file-system-specific packages like e2fsprogs. We recommend you use parted only to manipulate partition tables, whenever possible. Support for performing most operations on most types of file systems will be removed in an upcoming release.

    
por goncalopp 13.08.2012 / 17:09

2 respostas

7

O redimensionamento de uma partição é uma tarefa comum, particularmente ao usar RAID de hardware, máquinas virtuais, etc., em que o tamanho do disco pode (e altera) o tamanho, mesmo enquanto o SO está em execução.

Infelizmente, o parted não irá redimensionar uma partição (e nunca realmente conseguiu). Para obter a mesma coisa, você deve excluir a partição original e recriá-la com um novo endereço final. Você deve manter o endereço inicial igual ou corromper todos os seus dados. Você também deve definir os sinalizadores de volta para seus valores originais para garantir que a partição seja usada corretamente na próxima inicialização.

Antes de começar, certifique-se de ter um backup do seu sistema!

Em parted, mude a unidade de exibição para setores com u s e imprima seus valores atuais com p

Vale a pena escrever esses valores no caso de você quebrar alguma coisa e precisar restaurar suas partições originais.

Em seguida, exclua a partição existente rm

Em seguida, crie uma nova partição com mkpart

Por fim, defina os sinalizadores com toggle

Depois de quitar parted, você pode precisar executar partprobe para fazer com que o kernel atualize sua visualização das partições, por exemplo: cat /proc/partitions

Ao usar o LVM2, você pode aumentar a partição e, em seguida, executar pvresize /dev/... e sua nova capacidade ficará disponível para o grupo de volumes. Você pode prosseguir com lvresize e resize2fs ou o que for adequado ao seu SO.

    
por 20.09.2013 / 02:16
-1

O que você está tentando fazer é arriscado e difícil na melhor das hipóteses e desastroso na pior das hipóteses.

Sistemas de arquivos são projetados para ocupar uma partição inteira sozinhos. É "válido" ter um sistema de arquivos que esteja formatado para ocupar menos que toda a partição, mas seria muito mais um truque tentar usar o espaço não reivindicado para outro sistema de arquivos.

Existem dois tipos de "redimensionar": aumentar e diminuir.

Se seu estado inicial é que um sistema de arquivos ocupa a totalidade de uma partição, e você aumenta a partição (torná-la maior), isso basicamente significa que você ajustou a tabela de partições (apenas um monte de números em uma pequena área do disco). drive, o formato depende do seu tipo de partição, por exemplo, MBR ou GPT), de modo que haverá mais blocos alocados para a partição do que o sistema de arquivos está usando. O sistema de arquivos não usará os blocos adicionais no final da partição, porque o sistema de arquivos ainda pensa que está operando em uma partição menor do que realmente tem. Um sistema de arquivos "inteligente" PODE facilmente detectar e começar a usar o espaço restante, mas não sei se algum deles realmente faz isso. De qualquer forma, você provavelmente receberá pelo menos avisos ao montar sua unidade.

Se você tentar encolher a partição (torná-la menor) sem também encolher o sistema de arquivos, você perderá dados: quando o sistema de arquivos tentar gravar em blocos que estão além do final da partição, o nó do dispositivo lançará uma exceção para tentar escrever além do limite da partição, e o sistema de arquivos lançará um erro de I / O no userspace. Todos os dados que você tinha anteriormente no espaço particionado serão perdidos.

De qualquer forma, você está atirando no seu próprio pé. Não tenho idéia de como você poderia começar a dizer a um sistema de arquivos para montar um sistema de arquivos a partir de um determinado bloco dentro de uma partição. Um comando como mount /dev/sda1 implica que a montagem começa no início da partição. Sim, você estaria um pouco obscurecendo a localização de quaisquer dados na "partição oculta" se você fosse capaz de criar um sistema de arquivos lá; mas qualquer pessoa experiente o suficiente para querer investigar em seu disco rígido vai encontrá-lo facilmente, então não pense que você está ganhando alguma medida de segurança.

Se você estiver preocupado com outros usuários do computador ou pessoas não autorizadas com acesso físico ao computador, use criptografia de disco completo com base em criptografia strong. Simplesmente esconder uma partição não vai confundir a maioria dos usuários de acesso físico por muito tempo se eles estiverem procurando por coisas interessantes em seu disco.

Confira fdisk ou cfdisk se você ainda quiser fazer isso, mas você está anulando todas as garantias do livro (e depois algumas) fazendo isso ...

    
por 13.08.2012 / 17:48