A.1. Conceitos Básicos do Disco Rígido
Discos rígidos executam uma função muito simples — eles armazenam dados que podem ser recuperados com confiança através de comandos.
Ao discutir questões como o particionamento de disco, é importante ter uma compreensão do hardware subjacente; No entanto, uma vez que a teoria é muito complicada e cara, apenas os conceitos básicos serão explicados aqui. Este apêndice utiliza um conjunto de diagramas simplificados de uma unidade de disco para ajudar a explicar o que é o processo e teoria por trás de partições.
A.1.1. Sistemas de Arquivos
Para armazenar em um drive de disco, é necessário formatar primeiro o disco de drive. Formatar (comumente conhecido como " criando um sistema de arquivos ") escreve informação no drive, criando uma certa ordem no espaço vazio de um drive não formatado.
Uma pequena porcentagem do espaço disponível do drive é usado para armazenar dados relativos ao sistema de arquivos e pode ser considerado como cabecalho.
Um sistema de arquivo divide o espaço restante em pequenos segmentos do mesmo tamanho. Para o Linux, estes segmentos são conhecidos como blocos.
Note que não existe nenhum sistema de arquivos único, universal. Conforme indica,
Figura A.3, “Drive de Disco com um Sistema de Arquivos Diferente”, um drive de disco pode conter um dos vários sistemas de arquivos. Sistemas de arquivos diferentes tendem a ser incompatíveis, ou seja, um sistema operacional que suporta um sistema de arquivos (ou até mesmo alguns tipos de sistemas de arquivos relacionados) talvez não suporte outros. No entanto, por exemplo, o Red Hat Enterprise Linux suporta uma grande variedade de sistemas de arquivos (incluindo vários que são normalmente usados por outros sistemas operacionais), facilitando assim a troca de informações entre sistemas de arquivos diferentes.
Escrever um sistema de arquivos no disco é só o começo. O objetivo deste processo é, na verdade, armazenar e recuperar dados. Vamos dar uma olhada em nosso drive após ter escrito (gravado) alguns arquivos nele.
Conforme mostrado na
Figura A.4, “Drive de Disco com Dados Gravados”, alguns dos blocos anteriormente vazios agora contém dados. Entretanto, ao analisar esta ilustração, não pode-se determinar exatamente quantos arquivos residem neste drive. Pode ser que exista apenas um arquivo, ou vários, uma vez que todos os arquivos usam pelo menos um bloco e alguns arquivos usam vários. Outro ponto importante a ser notado é que blocos usados não precisam necessariamente formar uma região contínua, blocos usados e livres podem ser alternados. Isto é conhecido como
fragmentação. A questão da fragmentação pode tornar-se relevante ao tentar redimensionar uma partição existente.
Assim como é o caso com a maioria das tecnologias relativas a computadores, drives de disco foram modificados após sua introdução. Especialmente, eles aumentaram de tamanho. Não estamos falando em espaço físico, mas em capacidade de armazenamento de dados. E esta capacidade adicional trouxe uma mudança fundamental no modo como drives de disco são utilizados.
A.1.2. Partições: transformando um drive em muitos
Drives de discos podem ser divididos em partições. Cada partição pode ser acessada como se fosse um disco separado. Isto é feito através da adição de uma tabela de partições.
Existem diversas razões para alocar espaço de disco em partições de disco separados, por exemplo:
Separação lógica dos dados de sistema operacional a partir de dados de usuário
Habilidade de usar sistemas de arquivo diferentes
Habilidade de executar sistemas operacionais em uma máquina
Existem atualmente dois layouts de particionamento padrão para discos rígidos físicos: Master Boot Record (
MBR) e GUID Partition Table (
GPT).
MBR é um método de particionamento de disco mais antigo em computadores baseados em BIOS. O
GPT é um layout de particionamento que faz parte do Unified Extensible Firmware Interface (
UEFI). Esta seção
Seção A.1.3, “Partições dentro de Partições — Uma Visão Geral de Partições Estendidas” descreve principalmente o esquema de particionamento de disco
Master Boot Record (
MBR). Para obter mais informações sobre o layout de particionamento
GUID Partition Table (
GPT) veja
Seção A.1.4, “GUID Partition Table (GPT)”..
Apesar dos diagramas deste capítulo apresentarem a tabela de partiçõesseparada do drive de disco, isto não é 100% verdadeiro. Na realidade, a tabela de partições é armazenada bem no começo do disco, antes de qualquer sistema de arquivos ou dados do usuário. Mas, para clarificar, eles estão separados em nossos diagramas.
Conforme indicado na
Figura A.5, “Drive de Disco com Tabela de Partições”, a tabela de partições é 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 um drive lógico, ou seção. Cada seção pode acomodar informação necessária para definir uma única partição, o que quer dizer que a tabela de partições não pode definir mais do que quatro partições.
Cada campo da tabela de partições contém diversas características importantes da partição:
Os pontos de início e fim definir o tamanho e a localização da partição no disco. A bandeira "ativa" é utilizada por alguns sistemas operacionais gerenciadores de inicialização. Em outras palavras, o sistema operacional na partição marcada como "ativa" é iniciado.
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 arquivo, ou para indicar que a partição está associada a um determinado sistema operacional, ou para indicar que a partição contém um sistema operacional iniciável, ou alguma combinação dos três.
Em muitos casos, há apenas uma partição em todo o disco, duplicando o método usado antes do particionamento. A tabela de partições tem apenas um campo, que aponta o início da partição.
Nós etiquetamos esta partição como sendo do tipo "DOS". Embora este seja apenas um dos vários tipos de partição possíveis listados na
Tabela A.1, “Tipos de partição”, é adequado para as finalidades desta discussão.
Tabela A.1, “Tipos de partição”, contém uma lista com alguns tipos de partição conhecidos (e outros nem tanto), junto aos seus valores numéricos hexadecimais.
Tabela A.1. Tipos de partiçãoTipo de partição | Valor | Tipo de partição | Valor |
---|
Vazio | 00 | Novell Netware 386 | 65 |
DOS 12-bit FAT | 01 | PIC/IX | 75 |
XENIX root | 02 | Minix antigo | 80 |
XENIX usr | 03 | Linux/MINUX | 81 |
DOS 16-bit <=32M | 04 | Linux swap | 82 |
Extendida | 05 | Linux native | 83 |
DOS 16-bit >=32 | 06 | Linux extended | 85 |
OS/2 HPFS | 07 | Amoeba | 93 |
AIX | 08 | Amoeba BBT | 94 |
AIX bootable | 09 | BSD/386 | a5 |
Gerenciador de Inicializialização OS/2 | 0a | OpenBSD | a6 |
Win95 FAT32 | 0b | NEXTSTEP | a7 |
Win95 FAT32 (LBA) | 0c | BSDI fs | b7 |
Win95 FAT16 (LBA) | 0e | BSDI swap | b8 |
Win95 Extended (LBA) | 0f | Syrinx | c7 |
Venix 80286 | 40 | CP/M | db |
Novell | 51 | DOS access | e1 |
PReP Boot | 41 | DOS R/O | e3 |
GNU HURD | 63 | DOS secundário | f2 |
Novell Netware 286 | 64 | BBT | ff |
A.1.3. Partições dentro de Partições — Uma Visão Geral de Partições Estendidas
No caso de quatro partições não são suficientes para as suas necessidades, você pode usar partições estendidas para criar partições adicionais. Você pode fazer isso definindo o tipo de uma partição para "Extended".
A partição estendida é como se fosse uma unidade de disco autônoma — possui uma tabela de partições que indica uma ou mais partições (agora chamadas de
partições lógicas, ao contrário das quatro
partições primárias) contidas inteiramente dentro da partição estendida em si. A
Figura A.7, “Drive 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 (além de uma área não particionada contendo espaço livre).
De acordo com esta figura, há uma diferença entre partições primárias e lógicas — pode haver apenas quatro partições primárias, mas não há limite para o número de partições lógicas. Entretanto, devido à maneira como as partições são acessadas no Linux, mais de 12 partições lógicas devem ser definidas em um único drive de disco.
A.1.4. GUID Partition Table (GPT)
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 endereçável máxima limitada de um disco. Ao contrário
MBR , que é incapaz de lidar com maior espaço de armazenamento de 2,2 terabytes,
GPT pode ser usado com discos rígidos maiores do que isso; o tamanho máximo do disco endereçável é de 2,2 zettabytes. Além disso,
GPT por suportes padrão criando até 128 partições primárias. Este número poderá ser prorrogado por alocar mais espaço na tabela de partição.
Discos
GPT usam endereçamento de bloco lógico (LBA) e o layout de partição é como este a seguir:
Para preservar compatibilidade de fundo com discos do MBR, o primeiro setor (
LBA 0) de
GPT é reservado para dados
MBR e é chamado de
“protective MBR”.
O
principalGPT cabeçalho começa no segundo bloco lógico (
LBA 1) do dispositivo. O cabeçalho contém o disco GUID, a localização da tabela de partição primária, a localização do cabeçalho GPT secundária, e as somas de verificação CRC32 de si e a tabela de partição primária. Também especifica o número de entradas de partição da tabela.
A
primary GPT tabela 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 partição única GUID.
A
secondary GPT tabela é idêntica à tabela
GPT. Ela é usada principalmente como uma tabela de backup para a recuperação no caso da tabela de partição primária ser corrompida.
O
secundárioGPT cabeçalho é localizado no último setor lógico do disco e ele pode ser usado para recuperar informações do
GPT, no caso do cabeçalho primário ser corrompido. Ele contém o disco GUID, a localização da tabela de partição secundária, a localização do cabeçalho
GPT, e as somas de verificação CRC32 de si e a tabela de partição secundária e o número de entradas de partição possível.
Deve haver uma partição de inicialização do BIOS para o carregador de boot para ser instalado com êxito em um disco que contém um GPT (GUID Partition Table). Isso inclui discos inicializados por Anaconda. Se o disco já contém uma partição de inicialização do BIOS, pode ser reutilizado.