Partitioning (Português)

From ArchWiki
Status de tradução: Esse artigo é uma tradução de Partitioning. Data da última tradução: 2020-04-07. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

O particionamento de disco rígido é uma divisão de seu espaço disponível em seções que possam ser acessadas de maneira independente. Um disco rígido inteiro pode ser alocado em uma única partição, ou múltiplas podem ser feitas para casos como em dual-booting, manter uma partição exclusiva para swap ou para separar dados de maneira lógica como arquivos de áudio e vídeo.

As informações necessárias são gravadas em um esquema de tabela de partição que pode ser MBR ou GPT.

Tabelas de partições são criadas e modificadas usando uma de diversas ferramentas, a qual deve ser compatível com o esquema da tabela de partição escolhido. Ferramentas disponíveis estão listadas na seção #Ferramentas de particionamento.

Uma vez criada, uma partição deve ser formatada com um sistema de arquivos apropriado antes que arquivos possam ser gravados nela.

Tabela de partição

Dica: Para imprimir/listar tabelas existentes (de um dispositivo específico), execute parted /dev/sda print ou fdisk -l /dev/sda, onde /dev/sda é um nome de dispositivo de bloco.

Há dois principais tipos de tabelas de partição disponíveis. Eles são descritos abaixo nas seções #Master Boot Record (MBR) e #Tabela de Partição GUID (GPT) juntos com uma discussão sobre como escolher um deles. Uma terceira alternativa, a menos comum, é usar um disco sem nenhuma partição, a qual também está discutida.

Master Boot Record

O Master Boot Record (MBR) são os primeiros 512 bytes de um dispositivo de armazenamento. Contém um gerenciador de boot de sistema operacional e a tabela de partições do dispositivo de armazenamento. Desempenha um papel fundamental no processo de inicialização em sistemas BIOS. Veja Wikipedia:Master boot record#Disk partitioning para conhecer a estrutura do MBR.

Nota:
  • O MBR não fica localizado dentro de uma partição; mas sim no primeiro setor do dispositivo (fisicamente a trilha 0), antes da primeira partição.
  • O setor de boot presente em um dispositivo sem partição ou com uma partição individual é chamado de volume boot record (VBR), ao invés de MBR.

Master Boot Record (código de inicialização)

Os primeiros 440 bytes do MBR são a área do código de inicialização. Em sistemas BIOS, ela usualmente contém o primeiro estágio do carregador de inicialização. Este código pode ser armazenado em backup, restaurado ou apagado usando dd.

Master Boot Record (tabela de partição)

Na tabela de partição MBR (também conhecida como tabela de partição MS-DOS) há três tipos de partições:

  • Partição primária
  • Partição estendida
    • Unidade lógica

Partições primárias podem ser inicializadas e são limitadas a quatro por disco ou volume RAID. Se a tabela de partição MBR requerer mais do que quatro partições, então uma das partições primárias deve ser substituída por uma partição estendida contendo uma unidade lógica ou mais dentro dela.

Partições estendidas podem ser pensadas como contêineres para unidades lógicas. Um disco rígido não pode conter mais do que uma partição estendida. A partição estendida também é contada como uma partição primária, então se um disco possuir uma partição estendida, somente outras três partições primárias serão possíveis (isto é, três partições primárias e uma partição estendida). O número de unidades lógicas residentes dentro de uma partição estendida é ilimitado. Um sistema executado em dual-boot com Windows irá necessitar que o Windows esteja dentro de uma partição primária.

Um esquema bem comum é criar partições primárias de sda1 até sda3 seguidas por uma partição estendida sda4. As unidades lógicas em sda4 são numeradas como sda5, sda6, etc.

Dica: Ao particionar um disco MBR, considere deixar ao menos 33 setores de 512 bytes cada (16.5 KiB) de espaço livre sem particionamento no final do disco para caso você decida convertê-lo posteriormente para GPT. Este espaço adicional será necessário para guardar o cabeçalho da GPT.

Tabela de Partição GUID

Tabela de Partição GUID (GPT) é um esquema de particionamento que é parte da especificação Unified Extensible Firmware Interface; utiliza Identificadores Únicos Globalis (GUIDs), ou UUIDs no universo Linux, para definir partições e tipos de partição. Foi desenvolvido para suceder o esquema de particionamento Master Boot Record.

No início de uma tabela de partição GPT no disco, há um Master Boot record protetivo (PMBR) que protege a GPT de softwares maliciosos. Este MBR protetivo, assim como um MBR comum, possui uma área de código de inicialização a qual pode ser usada para inicializar sistemas usando esquemas BIOS/GPT em bootloaders que suportarem.

Escolhendo entre MBR e GPT

Tabela de Partição GUID (GPT) é uma alternativa moderna de método de particionamento criada para substituir o antigo Master Boot Record (MBR). GPT possui algumas vantagens sobre o MBR, o qual data de tempos do MS-DOS. Com os recentes desenvolvimentos de ferramentas de formatação, é fácil obter performance e confiabilidade iguais tanto para GPT como para MBR.

Nota: Para que o GRUB possa inicializar a partir de um disco particionado no esquema GPT em um sistema baseado em BIOS, uma partição de inicialização BIOS é necessária.

Alguns pontos a serem considerar na escolha:

  • Para dual-boot com Windows (ambos 32-bit e 64-bit) usando um sistema BIOS, será necessário escolher o esquema MBR.
  • Para dual-boot com Windows 64-bit usando o modo UEFI ao invés de BIOS, será necessário usar o esquema GPT.
  • Se estiver instalando em hardware antigo, especialmente em laptops antigos, considere escolher MBR seu BIOS pode não suportar (mas veja abaixo como contornar isso).
  • Se estiver particionando um disco de 2 TiB ou mais, será necessário usar o esquema GPT.
  • É recomendável sempre usar GPT para inicializar sistemas UEFI, já que algumas implementações UEFI não suportam inicializar MBR.
  • Se nenhuma das condições acima se aplicarem, será possível escolher livremente entre GPT e MBR. Uma vez que GPT é mais moderno, é recomendável usá-lo neste caso.

Algumas vantagens do GPT sobre o MBR são:

  • Fornece GUID de disco e GUID de partição (PARTUUID) exclusivos para cada partição - uma boa prática de referenciar partições e discos para o sistema de arquivos.
  • Fornece um nome de partição independente do sistema de arquivos (PARTLABEL).
  • Número arbitrário de partições - depende do espaço alocado para a tabela de partições - Não necessita de partições estendidas e unidades lógicas. Por padrão, a tabela de partições GPT contém espaço para definir até 128 partições. Entretanto, se for desejável definir mais partições, é possível alocar mais espaço para a tabela de partições (atualmente apenas gdisk é reconhecido por suportar esse recurso).
  • Utiliza LBA de 64-bits para armazenar números de setores - permite endereçar discos de até 2 ZiB. O MBR é limitado a endereçar até 2 TiB de espaço por dispositivo.
  • Armazena um cabeçalho de backup e uma tabela de partição no fim do disco que auxiliam na recuperação no caso destas serem danificadas.
  • Recurso de somas de verificação CRC32 para detectar erros e corrompimento do cabeçalho e da tabela de partições.

A seção de #Ferramentas de particionamento contém uma tabela indicando quais ferramentas estão disponíveis para criar e modificar tabelas GPT e MBR.

Dica: É possível converter entre MBR e GPT. Veja gdisk#Convert between MBR and GPT.

Disco sem partição

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: Explica quando pode ser desejável utilizar um disco sem particionamento (por exemplo, em máquinas virtuais), quando não se deve utilizar, e o porquê. (Discuss in talk:Partitioning)

Um disco sem partição, também conhecido como superfloppy refere-se a um dispositivo de armazenamento sem uma tabela de partição, tendo um sistema de arquivos ocupando o dispositivo de armazenamento inteiro. O setor de boot presente em um disco sem partição é chamado de volume boot record (VBR).

Particionamento Btrfs

Btrfs pode ocupar um dispositivo de armazenamento inteiro e substituir os esquemas de particionamento MBR ou GPT. Veja as instruções em Btrfs#File system on a single device para detalhes.

Esquema de partição

Não há regras estritas para particionar um disco rígido, embora o guia geral a seguir possa ser seguido. Um esquema de particionamento de disco é determinado por vários razões como flexibilidade desejada, velocidade, segurança, bem como limitações impostas pelo espaço em disco disponível. É essencialmente uma preferência pessoal. Se pretende fazer dual-boot com Arch Linux e um sistema operacional Windows, veja Dual boot com Windows.

Nota:
Dica: Se estiver usando Btrfs, subvolumes podem ser usados para imitar partições. Veja a seção Btrfs#Mounting subvolumes.

Partição raiz simples

Este esquema é o mais simples e deve ser suficiente para a maioria dos casos. Um arquivo swap pode ser criado e facilmente redimensionado conforme necessário. Isto usualmente faz sentido de ser feito considerando uma partição / simples e posteriormente se desejar separar outras em casos específicos como RAID, encriptação, uma partição de mídia compartilhada, etc.

Partições discretas

Separar um diretório como uma partição permite selecionar diferentes sistemas de arquivos e opções de montagem. Em casos como o de partições de mídia, elas também podem ser compartilhados entre sistemas operacionais.

A seguir, há alguns exemplos de esquemas que podem ser usados ao fazer um particionamento, e as subseções seguintes detalham um pouco diretórios os quais podem ter sua própria partição separada e seu ponto de montagem relativo a /. Veja file-hierarchy(7) para uma descrição completa do conteúdo destes diretórios.

/

O diretório raiz é o topo da hierarquia, o ponto onde o principal sistema de arquivos é montado e de cada outro sistema de arquivos reside. Todos os arquivos e diretórios aparecem sob o diretório raiz /, mesmo se estiverem armazenados em outros dispositivos físicos. O conteúdo do sistema de arquivos raiz deve ser adequado para inicializar, restaurar, recuperar e/ou reparar o sistema. Portanto, alguns diretórios sob / não são candidatos para partições separadas.

A partição / ou partição raiz é necessária e também a mais importante. As demais partições podem ser substituídas por ela.

Atenção: Diretórios essenciais para inicialização (exceto para /boot) devem estar na mesma partição de / ou montados no mesmo espaço de usuário inicial da initramfs. Estes diretórios essenciais são: /etc e /usr [1].

/ tradicionalmente contém o diretório /usr, o qual pode crescer significativamente à medida em que novo software for instalado. 15–20 GiB devem ser suficientes para a maioria dos usuários com modernos discos rígidos. Se planejar armazenar um arquivo de swap aqui, precisará de um tamanho de partição maior.

/boot

O diretório /boot contém as imagens do kernel e ramdisk, bem como o arquivo de configuração do gerenciador de boot. Também armazena os dados que são usados antes mesmo de o kernel começar a executar programas no espaço de usuário. /boot não é necessário na execução normal do sistema, apenas durante o processo de inicialização e durante atualização do kernel (quando as imagens do ramdisk precisam ser recriadas).

Nota:

Um tamanho sugerido para /boot é 200 MiB a menos que esteja usando uma partição de sistema EFI como /boot, neste caso, no mímimo 260 MiB são recomendados.

/home

O diretório /home contém arquivos de configuração, caches, dados de aplicativos e arquivos de mídia específicos do usuário.

Separar /home permite que / seja reparticionada separadamente, mas note que será possível reinstalar Arch com /home intocada mesmo se não estiver separada - basta que os diretórios de outros níveis sejam removidos, e então pacstrap poderá ser executado.

Não se deve compartilhar diretórios de usuários entre diferentes distribuições, porque elas usam versões de software incompatíveis entre si. Invés disso, considere compartilhar uma partição de mídia ou ao menos usar diferentes diretórios dentro da partição /home. O tamanho desta artição varia.

/var

O diretório /var armazena dados de spool em diretórios e arquivos, dados administrativos e de acesso, cache do pacman, etc. É usada, por exemplo, para cache e registro, e portanto é frequentemente alvo de operações de leitura e escrita. Mantendo-a em uma partição separada evita esgotar o espaço disponível devido a logs enormes.

Ela existe para que seja possível montar /usr como somente-leitura. Tudo que, historicamente, foi gravado dentro de /usr e que é escrito durante a operação do sistema (com exceção de instalação e manutenção de software) deve residir em /var.

Nota: /var contém muitos arquivos pequenos. A escolha de um tipo de sistema de arquivos deve considerar isso se uma partição exclusiva for usada.

/var irá conter, entre outros dados, o cache do pacman. Manter estes pacotes é útil no caso de alguma atualização causar instabilidade, exigindo um downgrade para um pacote mais antigo arquivado. O cache do pacman irá aumentar à medida em que o sistema crescer e for atualizado, mas pode seguramente ser limpo se espaço se tornar um problema. 8–12 GiB em um sistema desktop deve ser suficiente para /var, dependendo da quantidade de software instalado.

/data

Pode-se considerar montar uma partição /data para armazenar diversos dados compartilhados entre usuários. Usar a partição /home para este propósito também é válido. O tamanho desta partição pode variar.

Swap

Uma partição swap fornece uma memória que pode ser usada como memória RAM virtual. Um arquivo swap deve ser uma opção considerada também, como eles não tem nenhuma sobrecarga de performance em relação a manter uma partição separada com este propósito, mas são muito mais fáceis de redimensionar. Uma partição swap pode potencialmente ser compartilhada entre sistemas operacionais, desde que a hibernação não seja utilizada.

Historicamente, a regra geral para o tamanho da partição swap era alocar duas vezes a quantidade de memória física (RAM) instalada. Como os computadores tem ganhado cada vez maiores capacidades de memória, esta regra está defasada. Por exemplo, um desktop médio com até 512 MiB de RAM, a regra de 2× é usualmente adequada; se uma quantidade de memória RAM suficiente (mais de 1024 MiB) está disponível, é possível ter uma partição ou arquivo swap de menor tamanho.

Para usar hibernação (também referida como suspensão ao disco) é recomendado que seja criada uma partição ou arquivo swap com o tamanho da RAM. Apesar do kernel tentar compactar a imagem de suspensão ao discopara preencher o tamanho do espaço reservado para swap, não há garantia de que será bem-sucedido caso o espaço de swap for significativamente menor do que o tamanho da RAM. Veja Power management/Suspend and hibernate#Hibernation para mais informações.

Exemplos de leiaute

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: Melhorar o conteúdo desta seção. (Discuss in talk:Partitioning#Table draft 2)

Os exemplos a seguir usam /dev/sda como exemplo de disco com /dev/sda1 como sua primeira partição. O esquema de nomeamento do dispositivo de bloco poderá ser diferente se estiver particionando um disco NVMe (por exemplo, /dev/nvme0n1 com partições iniciando em /dev/nvme0n1p1), um catão SD ou disco eMMC (por exemplo /dev/mmcblk0 com partições começando em /dev/mmcblk0p1). Veja Arquivo de dispositivo#Nomes de dispositivos de bloco para mais informações.

Nota: Inicialização em UEFI não envolve qualquer bandeira "boot", este método de inicialização depende somente das entradas na NVRAM. Parted e ferramentas similares de interface gráfica usam uma bandeira "boot" em GPT para indicar que esta partição é uma partição de sistema EFI.

Leiaute de exemplo UEFI/GPT

Ponto de montagem no sistema instalado Partição GUID e tipo de partição Atributos da partição Tamanho sugerido
/boot ou /efi /dev/sda1 C12A7328-F81F-11D2-BA4B-00A0C93EC93B: Partição de sistema EFI 260 MiB
/ /dev/sda2 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709: Linux x86-64 root (/) 23–32 GiB
[SWAP] /dev/sda3 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F: Linux swap Mais de 512 MiB
/home /dev/sda4 933AC7E1-2EB4-4F13-B844-0E14E2AEF915: Linux /home Restante do dispositivo

Leiaute de exemplo BIOS/MBR

Ponto de montagem no sistema instalado Partição ID e tipo de partição Sinalizador de inicialização Tamanho sugerido
/ /dev/sda1 83: Linux Sim 23–32 GiB
[SWAP] /dev/sda2 82: Linux swap Não Mais de 512 MiB
/home /dev/sda3 83: Linux Não Restante do dispositivo

Leiaute de exemplo BIOS/GPT

Ponto de montagem no sistema instalado Partição GUID e tipo de partição Atributos da partição Tamanho sugerido
Nenhum /dev/sda1 21686148-6449-6E6F-744E-656564454649: Partição de inicialização BIOS1 1 MiB
/ /dev/sda2 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709: Linux x86-64 root (/) 2: BIOS inicializável 23–32 GiB
[SWAP] /dev/sda3 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F: Linux swap Mais de 512 MiB
/home /dev/sda4 933AC7E1-2EB4-4F13-B844-0E14E2AEF915: Linux /home Restante do dispositivo
  1. Uma partição de inicialização BIOS somente é necessária ao usar GRUB para inicializar um disco GPT em um sistema BIOS. Esta partição não tem qualquer relação com /boot, e sequer deve ser formatada com um sistema de arquivos, nem mesmo montada.

Ferramentas

Ferramentas de particionamento

Os programas a seguir são usados para criar e/ou manipular tabelas de partições de dispositivos e partições. Veja os artigos nos links para os comandos exatos a serem usados.

Esta tabela irá ser útil para escolher o utilitário de sua necessidade:

MBR GPT
Scripts de diálogo fdisk
parted
fdisk
gdisk
parted
Modo texto interativo cfdisk cfdisk
cgdisk
Não interativo sfdisk
parted
sfdisk
sgdisk
parted
Gráfico GParted
gnome-disk-utility
partitionmanager
GParted
gnome-disk-utility
partitionmanager
Atenção: Para particionar dispositivos, use uma ferramenta de particionamento compatível com o tipo de tabela de partição (GPT ou MBR) escolhido. O uso de ferramentas incompatíveis pode resultar em destruição da tabela junto com suas partições ou dados existentes.

fdisk

fdisk e seus utilitários estão descritos no artigo fdisk.

GPT fdisk

gdisk e seus utilitários estão descritos no artigo gdisk.

GNU Parted

Este grupo de ferramentas está descrito no artigo GNU Parted.

  • GNU Parted — Ferramenta de particionamento via terminal.
https://www.gnu.org/software/parted/parted.html || parted
  • GNOME Disks — Utilitário de gerenciamento de discos para GNOME.
https://wiki.gnome.org/Apps/Disks || gnome-disk-utility
  • GParted — Editor de partições GTK para gerenciar graficamente suas partições de disco.
https://gparted.sourceforge.io/ || gparted
  • KDE Partition Manager — Programa utilitário do KDE para gerenciar dispositivos de disco, partições e sistemas de arquivos.
https://kde.org/applications/system/org.kde.partitionmanager || partitionmanager

Backup

Recuperação

  • gpart — Um utilitário que descobre o conteúdo de uma tabela de partições MBR destruída. Sua utilização está explicada no manual do gpart(8).
https://github.com/baruch/gpart || gpart
  • GPT fdisk — Uma ferramenta de particionamento que pode restaurar o cabeçalho primário da GPT (localizada no início do disco) a partir do cabeçalho secundário da GPT (localizado no fim do disco) ou vice-versa.
https://www.rodsbooks.com/gdisk/ || gptfdisk
  • TestDisk — Um utilitário que suporta recuperação de partições perdidas em ambos MBR e GPT.
https://www.cgsecurity.org/index.html?testdisk.html || testdisk

Alinhamento de partição

fdisk, gdisk e parted lidam com alinhamento automaticamente. Veja GNU Parted#Check alignment caso deseje verificar o alinhamento após o particionamento.

Para certas unidades, o formato avançado pode ser capaz de fornecer melhor desempenho de alinhamento.

Suporte à GPT do kernel

A opção CONFIG_EFI_PARTITION na configuração do kernel ativa o suporte a GPT (apesar do nome, EFI PARTITION). Esta opção deve ser compilada no kernel e não compilada como um módulo carregável. É necessária mesmo em discos GPT que são utilizados para armazenamento de dados e não para inicialização do sistema. É ativada por padrão em todos kernel oficialmente suportados pelo Arch. No caso de um kernel personalizado, ative esta opção com o parâmetro CONFIG_EFI_PARTITION=y.

Truque para BIOS antigos inicializarem a partir de GPT

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: Quem dá a mínima se a especificação proíbe? Não há razão para complicar as coisas: apenas marque a partição 0xEE como inicializável. Ambos fdisk e parted podem fazê-lo. (Discuss in talk:Partitioning)

Alguns sistemas baseados em BIOS antigos (produzidos antes de 2010) tentam processar o setor de inicialização e recusam-no se ele não contiver uma partição inicializável MBR. Isto é um problema se for necessário usar GPT neste disco, porque do ponto de vista do BIOS, ele contém somente uma partição MBR não inicializável do tipo ee (isto é, uma partição MBR protetiva). É possível marcar a partição protetiva MBR como inicializável usando fdisk -t mbr /dev/sda, e isto irá funcionar em alguns sitemas BIOS. Entretanto, a especificação UEFI proíbe a partição protetiva MBR de ser inicializável, e sistemas baseados em UEFI irão interferir nisso, mesmo quando configuradas no modo legado de inicialização. Então, isso importa caso deseje criar um flash drive USB baseado em GPT que deveria inicializar tanto em sistemas UEFI como sistemas BIOS antigos que insistem em procurar uma partição MBR inicializável. Não é possível solucionar este problema usando ferramentas como fdisk ou gdisk, mas é possível criar uma partição MBR falsa com uma adequada entrada para ambos os tipos de BIOS manualmente, com uma sequência correta de bytes.

O comando a seguir irá sobrepor a segunda partição MBR e adicionar uma partição inicializável do tipo 0 (isto é, como espaço não utilizado), cobrindo somente o primeiro setor do dispositivo. Isto não vai interferir com a GPT ou com a primeira entrada partição MBR que normalmente contém uma partição MBR protetiva.

# printf '\200\0\0\0\0\0\0\0\0\0\0\0\001\0\0\0' | dd of=/dev/sda bs=1 seek=462

O resultado final será algo como:

# fdisk -t mbr -l /dev/sda
Disk /dev/sda: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Disk model: ST3250820AS     
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start       End   Sectors   Size Id Type
/dev/sda1           1 488397167 488397167 232.9G ee GPT
/dev/sda2  *        0         0         1   512B  0 Empty

Partition table entries are not in disk order.

Veja também