Uma introdução às partições de disco

Este apêndice não é necessariamente aplicável a arquiteturas diferentes de AMD64 e Intel 64. No entanto, os conceitos gerais mencionados aqui podem ser aplicáveis.

Esta seção discute conceitos básicos de disco, estratégias de reparticionamento de disco, o esquema de nomenclatura de partição usado por sistemas Linux e tópicos relacionados.

Se você se sentir confortável com partições de disco, pode pular para Estratégias para reparticionamento de disco para obter mais informações sobre o processo de liberação de espaço em disco para se preparar para uma instalação do Fedora.

Conceitos básicos de disco rígido

Os discos rígidos executam uma função muito simples - eles armazenam dados e os recuperam de forma confiável sob comando.

Ao discutir questões como particionamento de disco, é importante entender o hardware subjacente; entretanto, como a teoria é muito complicada e extensa, apenas os conceitos básicos serão explicados aqui. Este apêndice usa um conjunto de diagramas simplificados de uma unidade de disco para ajudar a explicar o que é o processo e a teoria por trás das partições.

Uma unidade de disco não usada, mostra uma unidade de disco nova e não usada.

Imagem de uma unidade de disco não usada.
Figure 1. Uma unidade de disco não usada

Sistemas de arquivos

Para armazenar dados em uma unidade de disco, é necessário formatar a unidade de disco primeiro. A formatação (normalmente conhecida como "criar um sistema de arquivos") escreve as informações na unidade, criando ordem no espaço vazio em uma unidade não formatada.

Imagem de uma unidade de disco formatada.
Figure 2. Unidade de disco com um sistema de arquivos

Como Unidade de disco com um sistema de arquivos sugere, a ordem imposta por um sistema de arquivos envolve algumas desvantagens:

  • Uma pequena porcentagem do espaço disponível da unidade é usada para armazenar dados relacionados ao sistema de arquivos e pode ser considerada uma sobrecarga.

  • Um sistema de arquivos divide o espaço restante em segmentos pequenos e de tamanho consistente. Para Linux, esses segmentos são conhecidos como blocos [1].

Observe que não existe um sistema de arquivos universal único. Como Unidade de disco com um sistema de arquivos diferente mostra, uma unidade de disco pode ter um dos muitos sistemas de arquivos diferentes escritos nela. Diferentes sistemas de arquivos tendem a ser incompatíveis; ou seja, um sistema operacional que oferece suporte a um sistema de arquivos (ou vários tipos de sistemas de arquivos relacionados) pode não oferecer suporte a outro. No entanto, o Fedora oferece suporte a uma ampla variedade de sistemas de arquivos (incluindo muitos comumente usados por outros sistemas operacionais como o Microsoft Windows), facilitando a troca de dados entre diferentes sistemas de arquivos.

Imagem de uma unidade de disco com um sistema de arquivos diferente.
Figure 3. Unidade de disco com um sistema de arquivos diferente

Escrever um sistema de arquivos no disco é apenas a primeira etapa. O objetivo deste processo é realmente armazenar e recuperar dados. A figura abaixo mostra um disco de unidade depois que alguns dados foram escritos nele:

Imagem de uma unidade de disco com dados escritos nela.
Figure 4. Unidade de disco com dados escritos

Como Unidade de disco com dados escritos mostra, alguns dos blocos anteriormente vazios agora contêm dados. No entanto, apenas olhando para esta imagem, não podemos determinar exatamente quantos arquivos residem nesta unidade. Pode haver apenas um arquivo ou vários, pois todos os arquivos usam pelo menos um bloco e alguns arquivos usam vários blocos. Outro ponto importante a se notar é que os blocos usados não precisam formar uma região contígua; blocos usados e não usados podem ser intercalados. Isso é conhecido como fragmentação. A fragmentação pode desempenhar um papel ao tentar redimensionar uma partição existente.

Como acontece com a maioria das tecnologias relacionadas a computadores, as unidades de disco mudaram com o tempo após sua introdução. Em particular, eles ficaram maiores. Não é maior em tamanho físico, mas maior em sua capacidade de armazenar informações. E essa capacidade adicional levou a uma mudança fundamental na maneira como as unidades de disco eram usadas.

Partições: transformando uma unidade em muitas

As unidades de disco podem ser divididas em partições. Cada partição pode ser acessada como se fosse um disco separado. Isso é feito através da adição de uma tabela de partição.

Existem vários motivos para alocar espaço em disco em partições de disco separadas, por exemplo:

  • Separação lógica dos dados do sistema operacional dos dados do usuário

  • Capacidade de usar diferentes sistemas de arquivos

  • Capacidade de executar vários sistemas operacionais em uma máquina

Atualmente, existem dois padrões de layout de particionamento para discos rígidos físicos: Master Boot Record ou Registro Mestre de Inicialização (MBR), e GUID Partition Table ou Tabela de Partição GUID (GPT). MBR é um método mais antigo de particionamento de disco usado com computadores baseados em BIOS. GPT é um layout de particionamento mais recente que faz parte da Unified Extensible Firmware Interface (UEFI *). Esta seção e Partições dentro de partições - uma visão geral das partições estendidas descreve principalmente o esquema de particionamento de disco Master Boot Record (*MBR). Para obter informações sobre o layout de particionamento GUID Partition Table (GPT), consulte Tabela de Partição GUID (GPT).

Embora os diagramas neste capítulo mostrem a tabela de partição separada da unidade de disco real, isso não é totalmente preciso. Na realidade, a tabela de partição é armazenada bem no início do disco, antes de qualquer sistema de arquivos ou dados do usuário. Mas, para maior clareza, eles estão separados em nossos diagramas.

Imagem de uma unidade de disco não usada com uma tabela de partição.
Figure 5. Unidade de disco com tabela de partição

Como Unidade de disco com tabela de partição mostra, a tabela de partição é dividida em quatro seções ou quatro partições primárias. Uma partição primária é uma partição em um disco rígido que pode conter apenas uma unidade lógica (ou seção). Cada seção pode conter as informações necessárias para definir uma única partição, o que significa que a tabela de partição pode definir no máximo quatro partições.

Cada entrada da tabela de partição contém várias características importantes da partição:

  • Os pontos do disco onde a partição começa e termina

  • Se a partição está "ativa"

  • O tipo da partição

Os pontos inicial e final definem o tamanho e a localização da partição no disco. O sinalizador "ativo" é usado por carregadores de inicialização de alguns sistemas operacionais. Em outras palavras, o sistema operacional na partição marcada como "ativa" é inicializado.

O tipo é um número que identifica o uso antecipado da partição. Alguns sistemas operacionais usam o tipo de partição para denotar um tipo específico de sistema de arquivos, para sinalizar a partição como associada a um sistema operacional específico, para indicar que a partição contém um sistema operacional inicializável ou alguma combinação dos três.

Consulte Unidade de disco com partição única para obter um exemplo de unidade de disco com partição única.

Imagem de uma unidade de disco com uma única partição.
Figure 6. Unidade de disco com partição única

A partição única neste exemplo é rotulada como DOS. Este rótulo mostra o tipo de partição, sendo DOS um dos mais comuns. A tabela abaixo mostra uma lista de alguns dos tipos de partição comumente usados e números hexadecimais usados para representá-los.

Table 1. Tipos de partição
Tipo de partição Valor Tipo de partição Valor

Vazio

00

Novell Netware 386

65

DOS FAT de 12 bits

01

PIC/IX

75

XENIX raiz

02

MINIX antigo

80

XENIX usr

03

Linux/MINUX

81

DOS 16 bits ⇐32M

04

Linux swap

82

Estendida

05

Linux native

83

DOS 16 bits >=32

06

Estendida Linux

85

OS/2 HPFS

07

Amoeba

93

AIX

08

Amoeba BBT

94

AIX inicializável

09

BSD/386

a5

OS/2 gerenciador de inicialização

0a

OpenBSD

a6

Win95 FAT32

0b

NEXTSTEP

a7

Win95 FAT32 (LBA)

0c

BSDI fs

b7

Win95 FAT16 (LBA)

0e

BSDI swap

b8

Win95 estendida (LBA)

0f

Syrinx

c7

Venix 80286

40

CP/M

db

Novell

51

Acesso DOS

e1

Boot PReP

41

DOS R/O

e3

GNU HURD

63

DOS secundário

f2

Novell Netware 286

64

BBT

ff

Partições dentro de partições - uma visão geral das partições estendidas

No caso de quatro partições serem insuficientes para suas necessidades, você pode usar partições estendidas para criar partições adicionais. Você pode fazer isso definindo o tipo de partição para "Estendida".

Uma partição estendida é como uma unidade de disco por si só – ela tem sua própria tabela de partição que aponta para uma ou mais partições (agora chamadas de partições lógicas, ao contrário das quatro partições primárias) contidas inteiramente na própria partição estendida. Unidade de disco com partição estendida, mostra uma unidade de disco com uma partição primária e uma partição estendida contendo duas partições lógicas (junto com algum espaço livre não particionado).

Imagem de uma unidade de disco com uma partição estendida.
Figure 7. Unidade de disco com partição estendida

Como esta figura indica, há uma diferença entre partições primárias e lógicas – pode haver apenas quatro partições primárias, mas não há um limite fixo para o número de partições lógicas que podem existir. No entanto, devido à maneira como as partições são acessadas no Linux, não mais do que 12 partições lógicas devem ser definidas em uma única unidade de disco.

Tabela de Partição GUID (GPT)

A Tabela de Partição GUID, ou GUID Partition Table (* GPT ), é um esquema de particionamento mais recente baseado no uso de identificadores globais exclusivos (*GUID). GPT foi desenvolvido para lidar com as limitações da tabela de partição MBR, especialmente com o espaço de armazenamento máximo endereçável limitado de um disco. Ao contrário do MBR, que não consegue lidar com espaço de armazenamento maior que 2,2 terabytes, o GPT pode ser usado com discos rígidos maiores do que isso; o tamanho máximo do disco endereçável é 2,2 zetabytes. Além disso, GPT por padrão oferece suporte à criação de até 128 partições primárias. Esse número pode ser estendido com a alocação de mais espaço para a tabela de partição.

Os discos GPT usam endereçamento de bloco lógico (LBA) e o layout da partição é o seguinte:

  • Para preservar a compatibilidade reversa com discos MBR, o primeiro setor (LBA 0) de GPT é reservado para dados MBR e é chamado de "MBR protetor" (ou "protective MBR", em inglês).

  • O cabeçalho primário do GPT* começa no segundo bloco lógico (*LBA 1) do dispositivo. O cabeçalho contém o GUID do disco, a localização da tabela de partição primária, a localização do cabeçalho GPT secundário e somas de verificação CRC32 de si mesmo e a tabela de partição primária. Ele também especifica o número de entradas de partição da tabela.

  • A tabela primária do *GPT* inclui, por padrão, 128 entradas de partição, cada uma com um tamanho de entrada de 128 bytes, seu tipo de partição GUID e GUID de partição exclusivo.

  • A tabela secundária do *GPT* é idêntica à tabela primária. É usada principalmente como uma tabela de backup para recuperação, caso a tabela de partição primária esteja corrompida.

  • O cabeçalho secundário do GPT* está localizado no último setor lógico do disco e pode ser usado para recuperar informações do *GPT caso o cabeçalho primário esteja corrompido. Ele contém o GUID do disco, a localização da tabela de partição secundária e o cabeçalho GPT primário, somas de verificação CRC32 de si mesmo e a tabela de partição secundária e o número de entradas de partição possíveis.

Deve haver uma partição de inicialização do BIOS para que o carregador de inicialização seja instalado com êxito em um disco que contém GPT (Tabela de Partição GUID). Isso inclui discos inicializados pelo Anaconda. Se o disco já contém uma partição de inicialização do BIOS, ele pode ser reutilizado.

Estratégias para reparticionamento de disco

Existem várias maneiras diferentes de reparticionar um disco. Esta seção discute as seguintes abordagens possíveis:

  • Espaço livre não particionado está disponível

  • Uma partição não utilizada está disponível

  • O espaço livre em uma partição usada ativamente está disponível

Observe que esta seção discute os conceitos mencionados acima apenas teoricamente e não inclui nenhum procedimento que mostre como executar o reparticionamento de disco passo a passo. Essas informações detalhadas estão além do escopo deste documento.

Tenha em mente que as ilustrações a seguir são simplificadas para fins de clareza e não refletem o layout de partição exato que você encontra ao instalar Fedora.

Usando espaço livre não particionado

Nessa situação, as partições já definidas não ocupam todo o disco rígido, deixando espaço não alocado que não faz parte de nenhuma partição definida. Unidade de disco com espaço livre não particionado, mostra como isso pode ser.

Imagem de uma unidade de disco com espaço livre não particionado
Figure 8. Unidade de disco com espaço livre não particionado

No exemplo acima, 1 representa uma partição indefinida com espaço não alocado e` 2` representa uma partição definida com espaço alocado.

Um disco rígido não utilizado também se enquadra nesta categoria. A única diferença é que todo o espaço não faz parte de nenhuma partição definida.

Em qualquer caso, você pode criar as partições necessárias a partir do espaço não utilizado. Infelizmente, este cenário, embora muito simples, não é muito provável (a menos que você tenha acabado de adquirir um novo disco apenas para Fedora). A maioria dos sistemas operacionais pré-instalados são configurados para ocupar todo o espaço disponível em uma unidade de disco (consulte Usando espaço livre de uma partição ativa).

Usando espaço de uma partição não usada

Nesse caso, talvez você tenha uma ou mais partições que não usa mais. Unidade de disco com uma partição não usada, ilustra tal situação.

Imagem de uma unidade de disco com uma partição não usada
Figure 9. Unidade de disco com uma partição não usada

No exemplo acima, 1 representa uma partição não usada e 2 representa a realocação de uma partição não usada para Linux.

Nessa situação, você pode usar o espaço alocado para a partição não usada. Você deve primeiro deletar a partição e então criar a(s) partição(ões) Linux apropriada(s) em seu lugar. Você pode excluir a partição não usada e criar manualmente novas partições durante o processo de instalação.

Usando espaço livre de uma partição ativa

Esta é a situação mais comum. Infelizmente, também é o mais difícil de manusear. O principal problema é que, mesmo se você tiver espaço livre suficiente, ele está atualmente alocado para uma partição que já está em uso. Se você comprou um computador com software pré-instalado, o disco rígido provavelmente tem uma partição enorme contendo o sistema operacional e os dados.

Além de adicionar um novo disco rígido ao sistema, você tem duas opções:

Reparticionamento destrutivo

Nesse caso, a única partição grande é excluída e várias outras menores são criadas. Todos os dados contidos na partição original são destruídos. Isso significa que é necessário fazer um backup completo. É altamente recomendável fazer dois backups, usar a verificação (se disponível em seu software de backup) e tentar ler os dados do backup antes de excluir a partição.

Se um sistema operacional foi instalado nessa partição, ele deve ser reinstalado se você quiser usar esse sistema também. Esteja ciente de que alguns computadores vendidos com sistemas operacionais pré-instalados podem não incluir a mídia de instalação para reinstalar o sistema operacional original. Você deve verificar se isso se aplica ao seu sistema é antes de destruir a partição original e a instalação do sistema operacional.

Depois de criar uma partição menor para o sistema operacional existente, você pode reinstalar o software, restaurar seus dados e iniciar a instalação. Unidade de disco sendo repartida de forma destrutiva mostra isso sendo feito.

Imagem de uma unidade de disco sendo reparticionada de forma destrutiva
Figure 10. Unidade de disco sendo repartida de forma destrutiva

No exemplo acima, 1 representa antes e 2 representa depois.

Todos os dados anteriormente presentes na partição original são perdidos.

Reparticionamento não destrutivo

Com o reparticionamento não destrutivo, você executa um programa que reduz o tamanho de uma partição grande sem perder nenhum dos arquivos armazenados nessa partição. Esse método geralmente é confiável, mas pode consumir muito tempo em unidades grandes.

Embora o processo de reparticionamento não destrutivo seja bastante direto, há três etapas envolvidas:

  1. Compactar e fazer backup dos dados existentes

  2. Redimensionar a partição existente

  3. Criar nova(s) partição(ões)

Cada etapa é descrita mais detalhadamente.

Compactar dados existentes

Como mostra a figura a seguir, a primeira etapa é compactar os dados em sua partição existente. O motivo para fazer isso é reorganizar os dados de modo que maximizem o espaço livre disponível no "final" da partição.

Imagem de uma unidade de disco sendo compactada
Figure 11. Unidade de disco sendo compactada

No exemplo acima, 1 representa antes e 2 representa depois.

Esta etapa é crucial. Sem ela, a localização dos dados pode impedir que a partição seja redimensionada para a extensão desejada. Observe também que, por um motivo ou outro, alguns dados não podem ser movidos. Se for este o caso (e isso restringe severamente o tamanho de sua(s) nova(s) partição(ões)), você pode ser forçado a reparticionar seu disco de forma destrutiva.

Redimensionar a partição existente

Unidade de disco com partição redimensionada mostra o processo real de redimensionamento. Embora o resultado real da operação de redimensionamento varie dependendo do software usado, na maioria dos casos, o espaço recém-liberado é usado para criar uma partição não formatada do mesmo tipo da partição original.

Imagem de uma unidade de disco com uma partição redimensionada
Figure 12. Unidade de disco com partição redimensionada

No exemplo acima, 1 representa antes e 2 representa depois.

É importante entender o que o software de redimensionamento que você usa faz com o espaço recém-liberado, para que você possa executar as etapas apropriadas. No caso ilustrado aqui, seria melhor excluir a nova partição DOS e criar a(s) partição(ões) Linux apropriada(s).

Criar nova(s) partição(ões)

Como a etapa anterior sugeriu, pode ou não ser necessário criar novas partições. No entanto, a menos que seu software de redimensionamento seja compatível com o Linux, é provável que você precise excluir a partição que foi criada durante o processo de redimensionamento. Unidade de disco com configuração de partição final, mostra que isso está sendo feito.

Imagem de uma unidade de disco com configuração de partição final
Figure 13. Unidade de disco com configuração de partição final

No exemplo acima, 1 representa antes e 2 representa depois.

Esquemas de nomenclatura de partição e pontos de montagem

Uma fonte comum de confusão para usuários não familiarizados com o Linux é a questão de como as partições são usadas e acessadas pelo sistema operacional Linux. No DOS/Windows, é relativamente simples: cada partição recebe uma "letra de unidade". Em seguida, use a letra da unidade correta para se referir aos arquivos e diretórios em sua partição correspondente. Isso é totalmente diferente de como o Linux lida com partições e, por falar nisso, com armazenamento em disco em geral. Esta seção descreve os princípios principais do esquema de nomenclatura de partição e a maneira como as partições são acessadas em Fedora.

Esquema de nomenclatura de partição

O Linux usa um esquema de nomenclatura baseado em arquivo, com nomes de arquivo na forma de /dev/xxyN.

Os nomes do dispositivo e partição consistem no seguinte:

/dev/

Este é o nome do diretório no qual residem todos os arquivos do dispositivo. Como as partições residem em discos rígidos, e discos rígidos são dispositivos, os arquivos que representam todas as partições possíveis residem em /dev/.

xx

As primeiras duas letras do nome da partição indicam o tipo de dispositivo no qual a partição reside, geralmente sd.

y

Esta letra indica em qual dispositivo a partição está. Por exemplo, /dev/sda para o primeiro disco rígido, /dev/sdb para o segundo e assim por diante.

N

O número final denota a partição. As primeiras quatro partições (primárias ou estendidas) são numeradas de 1 a 4. As partições lógicas começam em 5. Assim, por exemplo, /dev/sda3 é a terceira partição primária ou estendida no primeiro disco rígido, e /dev/sdb6 é a segunda partição lógica no segundo disco rígido.

Mesmo que seu sistema possa identificar e referir-se a todos os tipos de partições de disco, ele pode não ser capaz de ler o sistema de arquivos e, portanto, acessar os dados armazenados em cada tipo de partição. No entanto, em muitos casos, é possível acessar com êxito os dados em uma partição dedicada a outro sistema operacional.

Partições de disco e pontos de montagem

Cada partição é usada para fazer parte do armazenamento necessário para suportar um único conjunto de arquivos e diretórios. Isso é feito associando uma partição a um diretório por meio de um processo conhecido como montagem ou, em inglês, mounting. A montagem de uma partição torna seu armazenamento disponível a partir do diretório especificado (conhecido como ponto de montagem).

Por exemplo, se a partição /dev/sda5 está montada em /usr/, isso significa que todos os arquivos e diretórios em /usr/ residem fisicamente em /dev/sda5. Portanto, o arquivo /usr/share/doc/FAQ/txt/Linux-FAQ seria armazenado em /dev/sda5, enquanto o arquivo /etc/gdm/custom.conf não.

Continuando o exemplo, também é possível que um ou mais diretórios abaixo de /usr/ sejam pontos de montagem para outras partições. Por exemplo, uma partição (digamos, /dev/sda7) poderia ser montada em /usr/local/, o que significa que /usr/local/man/whatis residiria então em /dev/sda7 do que /dev/sda5.

Quantas partições?

Neste ponto do processo de preparação para instalar o Fedora, você deve levar em consideração o número e o tamanho das partições a serem usadas por seu novo sistema operacional. No entanto, não há uma resposta certa para essa pergunta. Depende de suas necessidades e requisitos.

A menos que você tenha uma razão para fazer o contrário, você deve pelo menos criar uma partição /boot e uma partição / ` (raiz). Dependendo das especificações de hardware do seu sistema, partições adicionais podem ser necessárias, como `/boot/efi para sistemas AMD e Intel de 64 bits com firmware UEFI, uma partição biosboot para sistemas AMD e Intel com uma Tabela de Partição GUID (GPT ) etiqueta no disco do sistema ou uma partição PReP Boot nos servidores IBM Power Systems.

Veja Esquema de particionamento recomendado para mais informações sobre o esquema de particionamento recomendado.


1. Os blocos realmente têm tamanhos consistentes, ao contrário de nossas ilustrações. Lembre-se também de que uma unidade de disco comum contém milhares de blocos. A imagem é simplificada para os fins desta discussão.