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.

If you are comfortable with disk partitions, you can skip ahead to Disk_Partitions.adoc#sect-disk-partitions-making-room for more information on the process of freeing up disk space to prepare for a Fedora installation.

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.

Disk_Partitions.adoc#figu-partitions-unused-drive, shows a brand-new, unused disk drive.

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

As Disk_Partitions.adoc#figu-partitions-formatted-drive, implies, the order imposed by a file system involves some trade-offs:

  • 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.

  • A file system splits the remaining space into small, consistently-sized segments. For Linux, these segments are known as blocks.

[1]

Note that there is no single, universal file system. As Disk_Partitions.adoc#figu-partitions-different-file-system, shows, a disk drive may have one of many different file systems written on it. Different file systems tend to be incompatible; that is, an operating system that supports one file system (or a handful of related file system types) may not support another. However, Fedora supports a wide variety of file systems (including many commonly used by other operating systems such as Microsoft Windows), making data interchange between different file systems easy.

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

As Disk_Partitions.adoc#figu-partitions-drive-with-data, shows, some of the previously-empty blocks are now holding data. However, by just looking at this picture, we cannot determine exactly how many files reside on this drive. There may only be one file or many, as all files use at least one block and some files use multiple blocks. Another important point to note is that the used blocks do not have to form a contiguous region; used and unused blocks may be interspersed. This is known as fragmentation. Fragmentation can play a part when attempting to resize an existing partition.

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

There are currently two partitioning layout standards for physical hard disks: Master Boot Record (MBR) and GUID Partition Table (GPT). MBR is an older method of disk partitioning used with BIOS-based computers. GPT is a newer partitioning layout that is a part of the Unified Extensible Firmware Interface (UEFI). This section and Disk_Partitions.adoc#sect-disk-partitions-extended mainly describe the Master Boot Record (MBR) disk partitioning scheme. For information about the GUID Partition Table (GPT) partitioning layout, see Disk_Partitions.adoc#sect-disk-partitioning-guid-partition-table.

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

As Disk_Partitions.adoc#figu-partitions-partition-table shows, the partition table is divided into four sections or four primary partitions. A primary partition is a partition on a hard drive that can contain only one logical drive (or section). Each section can hold the information necessary to define a single partition, meaning that the partition table can define no more than four partitions.

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.

See Disk_Partitions.adoc#figu-partitions-single-part for an example of a disk drive with single partition.

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".

An extended partition is like a disk drive in its own right - it has its own partition table which points to one or more partitions (now called logical partitions, as opposed to the four primary partitions) contained entirely within the extended partition itself. Disk_Partitions.adoc#figu-partitions-extended, shows a disk drive with one primary partition and one extended partition containing two logical partitions (along with some unpartitioned free space).

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

In this situation, the partitions already defined do not span the entire hard disk, leaving unallocated space that is not part of any defined partition. Disk_Partitions.adoc#figu-partitions-unused-space, shows what this might look like.

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.

In any case, you can create the necessary partitions from the unused space. Unfortunately, this scenario, although very simple, is not very likely (unless you have just purchased a new disk just for Fedora). Most pre-installed operating systems are configured to take up all available space on a disk drive (see Disk_Partitions.adoc#sect-disk-partitions-active-partition).

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

In this case, maybe you have one or more partitions that you do not use any longer. Disk_Partitions.adoc#figu-partitions-unused-partition, illustrates such a situation.

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.

After creating a smaller partition for your existing operating system, you can reinstall software, restore your data, and start the installation. Disk_Partitions.adoc#figu-partitions-destructive-repartitioning shows this being done.

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.

Compress Existing Data

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.

Resize the Existing Partition

Disk_Partitions.adoc#figu-partitions-resize-existing shows the actual resizing process. While the actual result of the resizing operation varies depending on the software used, in most cases the newly freed space is used to create an unformatted partition of the same type as the original partition.

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).

Create new partition(s)

As the previous step implied, it may or may not be necessary to create new partitions. However, unless your resizing software is Linux-aware, it is likely that you must delete the partition that was created during the resizing process. Disk_Partitions.adoc#figu-partitions-final-configuration, shows this being done.

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.

See Recommended Partitioning Scheme for more information about the recommended partitioning scheme.


1. Blocks really are consistently sized, unlike our illustrations. Keep in mind, also, that an average disk drive contains thousands of blocks. The picture is simplified for the purposes of this discussion.