Fazer o particionamento de disco no Linux costuma ser uma das primeiras lições que o público novato aprende quando migra do Windows. O meu palpite é que isso acontece por curiosidade, mas porque o usuário, cansado do Windows por alguma razão, procura experimentar o Linux, porém sem abrir mão do sistema do qual “cresceu utilizando”.
Qual a relação entre as duas coisas? Talvez não seja uma novidade para você, mas cabe frisar rapidamente: é possível criar um dual boot no seu computador. Assim, a máquina é capaz de rodar múltiplos sistemas operacionais, permitindo ao usuário escolher o qual deseja utilizar no momento. Então sim: você pode rodar Linux e Windows no seu PC.
O assunto já foi explorado algumas vezes nas publicações do blog. Contudo, decidi criar um conteúdo que sirva de guia para particionamento de disco no Linux, deixando os artigos fragmentados somente nos casos em que você necessitar de abordagens mais específicas.
Portanto, este artigo contém informações que abrangem:
- tipos de partições;
- sistemas de arquivos;
- ferramentas e utilitários para particionamento; e
- comandos para gerenciar partições.
Como manda o cronograma, vamos começar pelos tipos de partições existentes no seu disco rígido com Linux instalado.
Partições do Linux
Antes de tudo, o que são partições? Basicamente, são divisões do HD. Imaginemos um disco rígido de 500GB de capacidade. Dentro de sua estrutura lógica (a parte abstrata), há quatro divisões bem delimitadas com os respectivos espaços (em GB): 150, 340, 4, 6.
O primeiro valor corresponde ao espaço reservado para o sistema operacional. O segundo, armazenamento de dados diversos. O terceiro, memória Swap. O quarto, áreas dedicadas a arquivos cruciais usados no boot. Cada um dos volumes é o que chamamos partição.
Como o exemplo acima ilustra, a partição de um disco pode servir para vários propósitos. Em todos os casos existe uma vantagem em comum: o conteúdo de uma partição fica sempre isolado das demais partições.
Logo, se a partição em que se encontra o sistema operacional é formatada, as outras permanecem intactas. Portanto é recomendado que se crie uma partição exclusiva para dados, evitando que eles corram risco de remoção na hora de formatar partições ou instalar / reinstalar um sistema operacional.
Agora que exploramos o conceito de particionamento de disco no Linux, vejamos, a seguir, elementos que fazem parte do processo (tipos de partições, sistema de arquivos etc.).
Native / Data
Uma partição Native (ou Data) representa o espaço em disco dedicado à instalação da sua distribuição do Linux ou armazenamento de dados, simplesmente. Quando formatada, a unidade do tipo Native recebe um sistema de arquivos escolhido pelo próprio usuário — explicarei mais adiante.
Cuidados em relação a partições reservadas
Normalmente, o usuário que migra do Windows para o Linux utiliza um computador que já veio com sistema da Microsoft instalado de fábrica. É necessário tomar muito cuidado quando se faz o gerenciamento de partições usando programas específicos, como o GParted.
O motivo para o alerta é que o Windows utiliza de uma pequena partição exclusiva para carregar os drivers com segurança chamada EFI. Nesse caso, o computador recorre sempre a essa partição antes de carregar o Windows Boot Manager.
Embora ela fique oculta na navegação do sistema, ela é revelada pelo GParted e, se formatada / excluída, compromete até mesmo o boot do Linux — exigindo reparos e reinstalação do Grub, por exemplo.
Swap (memória virtual)
Retomando a definição que dei neste artigo especial sobre partição Swap, ela consiste em “um espaço restrito que armazena uma quantidade de memória física a ser utilizada quando o sistema operacional fica sobrecarregado. É como uma ‘válvula de escape’ para o computador, a qual evita a queda de desempenho, travamentos e desligamentos automáticos”.
A capacidade reservada à partição Swap é definida pelo próprio usuário. No entanto, não é certo determinar a dimensão com base no “quanto mais, melhor”, pois o uso do disco rígido como RAM fornece um desempenho muito baixo. Sendo assim, opte por:
- se a máquina tem até 2GB de RAM, utilize o dobro para Swap;
- tendo a memória RAM 4GB ou mais, dedique metade do valor para Swap.
Outro ponto importante é a frequência com a qual o sistema recorrerá à memória Swap, que também é configurável no Linux. Se você tiver dúvidas quanto ao valor, ajuste para o padrão 60 (moderado) usando o comando vm.swappiness=60 no terminal.
Sistemas de arquivos
Cada partição no Linux (o mesmo vale para outros sistemas operacionais) é formatada com um sistema de arquivos. Conforme a minha explicação no artigo que publiquei sobre o tema:
“Um sistema de arquivos (file system, do inglês) é um processo lógico, responsável por gerenciar o meio e o local do disco em que os dados são guardados. Todas as operações internas do hardware que ficam “escondidas” dos usuários são manejadas por esse sistema.”
Existem diversos tipos de sistemas de arquivos que podemos utilizar no Linux. O mais popular deles atualmente é o ext4. Ele se destaca por suportar arquivos de volume altíssimo, ser escalável e fornecer a função journaling, a qual aumenta as chances de recuperação de dados após interrupções de sistema.
Sim, quando se trata de filesystem e Linux, as soluções disponíveis carregam as próprias vantagens. Dependendo do propósito do usuário, há alternativas mais viáveis e outras, menos indicadas.
O JFS (Journaled File System), por exemplo, criado pela IBM, chega a ser mais antigo do que o próprio kernel Linux. A vantagem deste sistema de arquivos é a estabilidade em máquinas que funcionam melhor com sistemas operacionais antigos.
Recomendo que leia o artigo que destaquei no início do tópico para conhecer os principais sistemas de arquivos compatíveis com Linux. No entanto, considerando que esteja fazendo as primeiras instalações, opte pelo ext4.
Logical Volume Manager (LVM)
Durante a instalação de uma distro Linux, como Debian, Ubuntu e Mint, temos a opção de usar LVM para, entre outras coisas, elevar o nível de organização das partições, habilitar snapshots dos volumes de disco e possibilitar o redimensionamento dinâmico do tamanho da partição.
A questão da organização é: fazer com que as partições sejam localizadas a partir de um rótulo em vez de nome de dispositivo / interface. Por exemplo, podemos criar três partições com os respectivos nomes: vendas, contabilidade e marketing — isso faz toda a diferença em ambientes corporativos.
No quesito desempenho, o LVM tende a diminuir a performance de acesso ao disco rígido, mas dificilmente a perda é significativa. Em contrapartida, processos de leitura, gravação e transferência de dados são substancialmente otimizados. Para uso doméstico o LVM tem mais prós do que contras.
O redimensionamento dinâmico é, também, um aspecto muito interessante. Por meio de um programa de gerenciamento, o usuário consegue diminuir ou aumentar o espaço da partição instantaneamente. Ou seja, não há necessidade de formatar a partição para adicionar / retirar volume a ela.
Programas úteis para particionamento de disco no Linux
Neste tópico, vamos conhecer brevemente alguns programas específicos para auxiliar no particionamento de disco. Para uma abordagem mais completa, já temos este artigo no qual foram apresentados seis gerenciadores de disco para Linux.
Entre as principais ferramentas da categoria, o já mencionado GParted é a mais popular entre os usuários, pois é rico em funções, é eficiente e é operado via interface gráfica, o que facilita muito o processo para quem ainda não se adaptou a linhas de comandos.
Nessa linha, inclusive, há várias opções interessantes. Como exemplos temos o GNOME Disk Utility, padrão nas versões do Debian, que dispõe de um mecanismo de monitoramento que previne falhas de hardware, além do QtParted, clone do Partition Magic, uma das melhores ferramentas de particionamento para Windows.
Por outro lado, se é um gerenciador CLI (command-line interface, ou seja, roda no terminal) que você busca, há outras ótimas opções, como o Parted, do projeto GNU, e o próprio Fdisk, que acompanha as distribuições Linux por padrão.
Aliás, é justamente esse tipo de solução que quero priorizar neste artigo: o uso de comandos para particionamento de disco no Linux. Vamos aprender a utilizá-los? No tópico a seguir, listei uma série de instruções a serem aplicadas tanto no Parted quanto no Fdisk.
Comandos de gerenciamento de partições
Utilizar comandos para gerenciar discos, quando há o domínio dos procedimentos, resulta agilidade, pois o terminal se comunica mais rapidamente com o kernel, e economia de recursos computacionais, visto que não há consumo significativo de processamento e RAM.
Outra ótima razão para uso de linha de comando é a possibilidade de ir além com as ferramentas. Por mais vantagens que a interface gráfica ofereça, é certo que o usuário fica limitado àquelas funcionalidades ali presentes, enquanto o terminal nos permite introduzir novos comandos.
Sabendo dos benefícios em se tornar expert em comandos no Linux, vamos começar a praticar fazendo o particionamento de disco via terminal? Abaixo, separei para você alguns comandos úteis do Parted e também do Fdisk.
Gerenciamento de disco no Parted
Se você utiliza o Ubuntu, é provável que o GNU Parted já esteja instalado no sistema e pronto para uso, mas se por alguma razão não estiver instalado, siga as instruções do site oficial do GNU Project.
Para confirmar se o Parted está funcionando, vamos listar as partições existentes usando o seguinte comando: sudo parted -l.
Funcionou? Então você está de frente para um conjunto de informações e detalhes das partições, como o número, a capacidade, o mapeamento, o sistema de arquivos, o nome etc.
Selecionar um dispositivo de armazenamento ou partição
Esteja operando um computador com múltiplos discos rígidos, esteja trabalhando com um notebook com HD particionado, você pode selecionar um componente ou partição para gerenciá-lo isoladamente.
Suponhamos que o seu objetivo seja promover alterações na partição /dev/sda3. Digite o comando:
sudo parted /dev/sda3
Logo em seguida será exibida em tela uma mensagem de confirmação:
GNU Parted 3.2 Using /dev/sda2 Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
Detalhe importante: antes de prosseguir com qualquer comando de gerenciamento, tenha certeza de que o dispositivo foi declarado corretamente. Do contrário, o Parted selecionará aleatoriamente uma partição para aplicar os procedimentos.
Gerar uma tabela de partição
Tabelas de partições nada mais são que um registro de informações básicas da partição.Usando alguns dos comandos mklabel ou mktable, podemos criar tabelas em um dispositivo de armazenamento de modo a facilitar o mapeamento, então não se trata de particionar disco.
Fazendo isso, cabe explicar, apagará todas as informações de rótulo da partição para que sejam substituídas pelos detalhes que serão coletados pelo Parted. Não havendo problemas em proceder, digite:
sudo parted mklabel gpt
# Tecle Y em seguida para confirmar a ação
Concluído o processo, imediatamente o dispositivo será rotulado com as novas informações, o que facilitará o gerenciamento.
Criar uma partição de disco
Como sempre, criar uma partição exige cuidados na hora de digitar os comandos, pois qualquer equívoco pode ser fatal. Ciente da partição a ser criada e tomando por referência a sua ordem na lista (1, 2, 3…), digite:
sudo parted mkpart PartiçãoLinux 2 50000MB
Acima, declaramos que no espaço de disco marcado pela flag 2 será criada uma partição de 50.000MB (=50GB), a qual receberá o nome “PartiçãoLinux”. Para confirmar a ação, basta digitar: sudo parted quit.
Gerenciamento de disco com o Fdisk
Assim como o Parted, o utilitário Fdisk requer permissões root para funcionar e tem a sintaxe bem simples. A listagem de discos e partições, por exemplo, é feita a partir do comando sudo fdisk -l.
Para verificar as partições em um determinado disco rígido, digite o mesmo comando acompanhado do rótulo do dispositivo. Exemplo: sudo fdisk -l /dev/sda1.
Visualizar informações da tabela de uma partição
O Fdisk é muito prático até mesmo para quem acaba de conhecer o Linux. Prova disso é que as informações de tabela de partição são impressas no terminal apenas selecionando a partição e, em seguida, o comando desejado. Exemplo:
sudo fdisk /dev/sda2
# Acabamos de escolher a partição
Logo que selecionamos a partição, o Fdisk solicitará um comando para que alguma ação seja tomada. Como a intenção é de obter detalhes sobre o elemento, digite p e dê Enter.
Listar todos os comandos do Fdisk para gerenciar o Particionamento de Disco no Linux
O exemplo anterior foi suficiente para demonstrar o modo de funcionamento do Fdisk. Isto é, digitamos fdisk mais a partição ou o dispositivo em questão e, então, digita-se um comando para ação (cada um deles é por uma letra somente). Sendo assim, não há segredos para dominar o utilitário; apenas confira a lista:
- a: alterna um sinalizador de inicialização
- b: edita rótulo de disco BSD
- c: alterna o sinalizador de compatibilidade DOS
- d: deleta a partição selecionada
- l: lista as partições existentes
- m: imprime o menu “ajuda”
- n: adiciona uma nova partição
- o: cria uma tabela de partição DOS
- p: exibe informações da tabela de uma partição
- q: fecha o Fdisk sem salvar as alterações
- s: cria um rótulo de disco Sun (tipo de partição criada automaticamente pelo sistema, sempre na terceira partição)
- t: altera o identificador de uma partição
- u: modifica unidades de exibição / entrada
- v: verifica a tabela de partição
- w: escreve tabela de partição / disco e fecha programa
- x: funcionalidade extra (uso recomendado a usuários experientes)
Resumindo, desde que se saiba o que está fazendo, executar no Fdisk é muito fácil.
O que há no expert mode do Fdisk?
Apenas para não deixar em branco, a funcionalidade extra do Fdisk permite ao usuário fazer modificações diretamente no disco rígido, como alterar o número de cilindros e dos setores do HD. Portanto é um modo restrito a testes e reparos e que exige certo nível de conhecimento técnico no assunto.
Chegamos ao fim de mais um artigo. Espero que você tenha aprendido bastante com o conteúdo e, principalmente, adquirido confiança para fazer o particionamento de disco no Linux usando as ferramentas poderosas que sistema oferece. Daqui em diante, ficará muito mais fácil experimentar os diversos flavors do Linux até encontrar a sua distribuição favorita.
Se você está curtindo estudar o Linux, reconhece a importância dos seus fundamentos para a carreira na área de TI e entende que o sistema tem muito a oferecer para a sua formação, sugiro que visite a página Profissionais Linux. Lá, eu te mostro como se tornar um especialista em pouco tempo!