Pesquisa de site

Como converter um diretório /Home em partição no Linux


Este tópico pode parecer um pouco peculiar. Quero dizer, por que você deveria converter seu diretório inicial em uma partição separada?

Sempre que você estiver instalando o Linux, o instalador já seleciona o particionamento ‘guiado’ por padrão. Quando você escolhe esta opção, o instalador coloca o diretório home e todos os outros diretórios do sistema sob a partição raiz (/).

Embora esta configuração funcione muito bem, ela apresenta um risco enorme. Se o seu sistema travar ou algo corromper a partição raiz, todos os seus arquivos pessoais residentes no diretório inicial serão perdidos.

Por esse motivo, é importante criar uma partição inicial separada durante a instalação. Isso garante a segurança dos seus arquivos pessoais durante a reinstalação de um sistema operacional ou no caso de falha da partição raiz.

Se você aceitou a opção padrão ao particionar seu disco rígido de forma que todos os nossos diretórios fiquem na partição raiz, então este guia é para você.

Neste guia, transferiremos o diretório inicial para uma partição separada em um disco recém-adicionado. Para fins de demonstração, usaremos uma unidade USB removível para servir como unidade adicional. No mundo real, pode ser uma unidade SSD ou um HDD adicional que você deseja que seja a partição inicial.

Vamos começar!

Etapa 1: Identifique a nova unidade adicionada

Antes de conectar a unidade removível, temos apenas um único disco rígido (/dev/sda) com uma pasta home e todas as partições do sistema montadas no / ou partição raiz.

Aqui está uma visão geral da configuração do seu disco rígido usando o comando df.

df -Th

A seguir, conectaremos a unidade 8GB removível USB. Ele é identificado como /dev/sdb e é montado no ponto de montagem /media/tecmint/USB.

Para confirmar isso, executaremos o comando lsblk.

lsblk

A partição e o ponto de montagem podem variar de acordo com sua configuração. Por exemplo, uma terceira unidade será indicada como /dev/sdc, uma quarta /dev/sdd e assim por diante.

Passo 2: Crie uma nova partição no Linux

Adicionamos recentemente nossa segunda unidade ao nosso sistema, mas para usá-la como uma partição separada para nosso diretório home, precisamos criar uma partição nela. No momento não tem, pois é uma unidade nova.

O comando fdisk confirma conforme mostrado.

sudo fdisk -l

Na seção destacada, você pode ver que a nova unidade não possui nenhuma partição associada a ela, ao contrário da primeira unidade que possui /dev/sda1, /dev/sda2, e /dev/sda5.

Agora vamos criar uma partição usando o comando:

sudo fdisk /dev/sdb

Quando solicitado, pressione 'n' para criar uma nova partição. Em seguida, pressione 'p' para especificar a criação de uma partição primária e pressione '1' para especificar o número da partição. Para os próximos dois prompts, pressione 'ENTER' para aceitar os padrões na especificação do primeiro e do último setor.

Como minha unidade removível vem com o sistema de arquivos NTFS, irei removê-la pressionando 'Y'. Para salvar todas as alterações feitas, pressione 'w', pois isso grava todas as alterações feitas na partição.

Para confirmar as alterações feitas, mais uma vez, execute o comando:

sudo fdisk /dev/sdb

Quando solicitado, pressione 'p' para imprimir. Isso imprime as informações da partição. Na saída, você pode ver que uma nova partição /dev/sdb1 foi criada com Linux como tipo de sistema de arquivos. Precisamos formatá-lo para o tipo de sistema de arquivos ext4, o que faremos na próxima seção.

Etapa 3: formate uma nova partição no Linux

A próxima etapa é formatar a partição /dev/sdb1 usando o formato do sistema de arquivos ext4. Observe que estamos formatando /dev/sdb1 (a partição) e não /dev/sdb que é a unidade removível.

sudo mkfs.ext4 /dev/sdb1

Etapa 4: montar nova partição no Linux

Para que a unidade fique acessível ao sistema, precisamos montá-la no sistema de arquivos do sistema. Mas primeiro criaremos um ponto de montagem no qual montaremos a partição.

sudo mkdir -p /srv/home

A seguir, montaremos a partição no ponto de montagem da seguinte maneira. Na verdade, isso torna a unidade disponível para o sistema.

sudo mount /dev/sdb1 /srv/home

Para confirmar isso, execute o comando df conforme mostrado:

sudo df -Th

Etapa 5: copiar os arquivos do diretório inicial para a nova partição

Agora precisamos copiar o conteúdo do diretório home para o ponto de montagem que agora está localizado na unidade. Então, executaremos o comando:

sudo cp -aR /home/* /srv/home/

Apenas para confirmar se tudo correu bem, verificaremos o conteúdo do diretório inicial.

ls -l /srv/home/tecmint

Na saída, você pode ver claramente que todos os diretórios padrão que deveriam estar no diretório inicial estão presentes.

Etapa 6: crie um novo diretório inicial e monte a unidade

Agora precisamos criar outro diretório inicial no qual montaremos nossa partição inicial. Para evitar confusão, renomearemos nosso diretório inicial atual para /home.bak mostrado.

sudo mv /home /home.bak

A seguir, criaremos um novo diretório inicial.

sudo mkdir /home

Em seguida, desmontaremos o sistema de arquivos /dev/sdb1 e o montaremos no diretório inicial recém-criado

sudo umount /dev/sdb1
sudo mount /dev/sdb1 /home

Para confirmar se o diretório /home contém os diretórios padrão, navegaremos e listaremos seu conteúdo:

cd /home
ls -l tecmint

Além disso, você pode verificar se nosso sistema de arquivos está montado no ponto de montagem /home usando o comando df da seguinte forma.

sudo df -Th /dev/sdb1

A saída confirma que o sistema de arquivos /dev/sdb1 em nossa unidade está montado na partição /home. No entanto, isso não sobreviverá a uma reinicialização. Para tornar isso persistente, uma etapa adicional é necessária: modificar o arquivo /etc/fstab com as informações do sistema de arquivos.

Etapa 7: montagem de partição permanente no Linux

Para garantir automaticamente que o sistema de arquivos seja montado sempre que o sistema for inicializado, modificaremos o arquivo /etc/fstab. Mas primeiro, vamos obter o UUID do sistema de arquivos como segue.

sudo blkid /dev/sdb1

Copie e cole o UUID em algum lugar de um editor de texto, pois ele será usado na próxima etapa.

Em seguida, abra o arquivo /etc/fstab.

sudo vim /etc/fstab 

Anexe esta linha ao arquivo conforme mostrado. Substitua o uid entre colchetes pelo UUID real do sistema de arquivos /dev/sdb1 que você copiou e colou anteriormente no editor de texto.

UUID=[ uid ]     /home	   ext4	   defaults	0	2

Salve as alterações e feche o arquivo. Em seguida, execute o seguinte comando para montar todas as partições.

sudo mount -a

Agora, sua unidade será montada sempre na inicialização do sistema na partição /home.

df  -h /dev/sdb1

Para evitar passar por todas essas etapas, é sempre aconselhável ter uma partição inicial separada do restante das partições do sistema durante a instalação, a fim de separar seus arquivos pessoais dos arquivos do sistema. Isso facilita a recuperação de seus dados caso algo dê errado.