Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

Приложение A. Знакомство с дисковыми разделами

Примечание

Информация в этом разделе применима к AMD64 и Intel 64, но общие принципы могут быть применены и к другим платформам.
В этом разделе обсуждаются основы организации дисков, схема разбиения раздело в Linux, распределение дискового пространства между разными операционными системами и пр.
Если вы уже знакомы с дисковыми разделами, можно сразу перейти к следующему разделу (см. Раздел A.2, «Повторное разбиение диска»), где вы узнаете об освобождении пространства для установки Red Hat Enterprise Linux.

A.1. Структура жесткого диска

Жесткие диски выполняют очень простую функцию — они хранят данные и по команде их извлекают.
При обсуждении таких тем как разбиение диска, важно иметь представление об оборудовании, чтобы не путаться в деталях. В этом приложении использована упрощенная схема диска, помогающая понять, что же собственно происходит при разбиении.
Рисунок A.1, «Пустой диск» демонстрирует структуру абсолютно нового диска.
Пустой диск

Рисунок A.1. Пустой диск

A.1.1. Файловые системы

Новый диск надо отформатировать диск. При форматировании на диске создается файловая система, что позволит записывать данные на диск в определенном порядке.
Диск с файловой системой

Рисунок A.2. Диск с файловой системой

Как демонстрирует Рисунок A.2, «Диск с файловой системой», такая организация выдвигает некоторые ограничения:
  • Незначительная часть пространства тратится на хранение данных о файловой системе.
  • Файловая система разбивает оставшееся место на небольшие сегменты одинакового размера, которые в Linux называются блоками. [4]
Также стоит заметить, что не существует универсальной файловой системы. Как демонстрирует Рисунок A.3, «Диск с другой файловой системой», на диске может располагаться несколько файловых систем. Иногда файловые системы могут быть несовместимы, то есть операционная система, поддерживающая одну файловую систему или набор родственных файловых систем, может не поддерживать другую. Однако Red Hat Enterprise Linux поддерживает широкий диапазон файловых систем, что существенно облегчает взаимодействие с другими операционными системами.
Диск с другой файловой системой

Рисунок A.3. Диск с другой файловой системой

Конечно, создание файловой системы на диске — это только начало. Главной задачей все же является хранение данных и обеспечение к ним доступа. Взгляните, как выглядит диск с файлами.
Диск с данными

Рисунок A.4. Диск с данными

Как демонстрирует Рисунок A.4, «Диск с данными», некоторые блоки теперь содержат данные. Однако просто посмотрев на эту схему, нельзя точно определить, сколько файлов хранится на диске. Это может быть и один файл, и несколько, так как файлы используют минимум один блок, а могут использовать и больше. Занятые блоки не должны находиться рядом — занятые и свободные блоки могут перемежаться. Это называется фрагментацией. Фрагментация может сказаться при попытке изменить размер существующего раздела.
Как и большинство компьютерных технологий, жесткие диски неоднократно менялись с момента своего появления. Самым главным изменением, конечно, является увеличение их объема. Объем не в физическом смысле, а как мера информационной емкости. Конечно, многократно увеличившийся объем привел к изменению способов использования жестких дисков.

A.1.2. Разбиение диска на разделы

Диски могут разбиваться на разделы. К каждому разделу можно обращаться как к отдельному диску. Выполняется это с помощью дополнительной таблицы разделов.
Существует несколько оснований для создания разделов:
  • логическое разделение операционной системы и данных пользователей;
  • возможность использования разных файловых систем;
  • установка нескольких операционных систем на одном компьютере.
На данный момент существует два базовых стандарта размещения таблиц разделов на жестких дисках — MBR (Master Boot Record) и GPT (GUID Partition Table). Главная загрузочная запись традиционно использовалась для систем с BIOS. В свою очередь, GPT является частью стандарта UEFI (Unified Extensible Firmware Interface). Раздел A.1.3, «Обзор расширенных разделов» и эта секция обсуждают схему MBR, а Раздел A.1.4, «Таблица разделов GUID» содержит основную информацию о GPT.

Примечание

Представление таблицы разделов отдельно от диска на приведенных схемах не является точным. В действительности, таблица разделов находится в самом начале диска — до файловых систем и данных пользователя. Но ясности ради, на наших диаграммах они разделены.
Диск с таблицей разделов

Рисунок A.5. Диск с таблицей разделов

Как демонстрирует Рисунок A.5, «Диск с таблицей разделов», таблица разделов состоит из четырех секций (основных разделов). Основной раздел — это раздел жесткого диска, содержащий один логический диск (или секцию). В каждой секции хранится информация, определяющая раздел, то есть в таблице разделов нельзя определить больше четырех разделов.
Каждая запись таблицы содержит важные характеристики разделов:
  • координаты начала и конца раздела;
  • флаг активности раздела;
  • тип раздела.
Координаты начала и конца определяют размер раздела и его расположение на диске. Флаг активности используется некоторыми загрузчиками операционных систем. Так, при запуске компьютера будет загружена операционная система, расположенная в активном разделе.
Тип раздела — число, характеризующее предназначение раздела. Возможно, это определение покажется немного расплывчатым; причина в том, что понятие типа раздела само по себе довольно обширно. Например, он может определять тип файловой системы, тип операционной системы раздела или служить индикатором того, что раздел является загрузочным.
Рисунок A.6, «Диск с одним разделом» демонстрирует схему с одним разделом.
Диск с одним разделом

Рисунок A.6. Диск с одним разделом

Часто на диске создается один раздел, занимающий весь диск, — по сути это то же самое, что и схема без разделов. В этом случае таблица разделов будет содержать только одну запись, указывающую на начало раздела.
Допустим, этот раздел имеет тип DOS. Доступны и другие типы (см. Таблица A.1, «Типы разделов»), но DOS хорошо подходит для дальнейшего объяснения.
Таблица A.1, «Типы разделов» содержит список некоторых типов с соответствующими шестнадцатеричными значениями.

Таблица A.1. Типы разделов

Тип разделаЗначениеТип разделаЗначение
Пустой00Novell Netware 38665
DOS 12-бит FAT01PIC/IX75
XENIX root02устаревший MINIX80
XENIX usr03Linux/MINUX81
DOS 16-бит <=32 МБ04Linux swap82
расширенный05стандартный Linux83
DOS 16-бит >=3206Linux расширенный85
OS/2 HPFS07Amoeba93
AIX08Amoeba BBT94
AIX загрузочный09BSD/386a5
OS/2 Boot Manager0aOpenBSDa6
Win95 FAT320bNEXTSTEPa7
Win95 FAT32 (LBA)0cBSDI fsb7
Win95 FAT16 (LBA)0eBSDI swapb8
Win95 расширенный (LBA)0fSyrinxc7
Venix 8028640CP/Mdb
Novell51DOS accesse1
PReP Boot41DOS R/Oe3
GNU HURD63DOS вторичныйf2
Novell Netware 28664BBTff

A.1.3. Обзор расширенных разделов

Конечно, четырех разделов может быть недостаточно. В этом случае помогут так называемые расширенные разделы.
Для расширенного раздела создается дополнительная таблица разделов. По сути расширенный раздел похож на диск — у него есть своя таблица разделов, указывающая на логические разделы в противоположность четырем первичным разделам. На рисунке (см. Рисунок A.7, «Диск с дополнительным разделом») показан диск с одним первичным разделом, одним расширенным, содержащим два логических раздела, и некоторым нераспределенным пространством.
Диск с дополнительным разделом

Рисунок A.7. Диск с дополнительным разделом

Как видно из рисунка, главное отличие основных разделов от логических заключается в том, что на диске может быть до четырех основных разделов, в то время как число логических разделов не ограничено. Но учитывая то, как Linux работает с разделами, следует избегать создания больше 12 логических разделов на одном диске.

A.1.4. Таблица разделов GUID

Таблица разделов GUID (GPT, GUID Partition Table) — новый стандарт размещения таблиц разделов на основе глобальных идентификаторов (GUID, Globally Unique Identifiers), которые снимают ограничения, присущие MBR. Так, например, MBR не может адресовать пространство за пределами 2.2 ТБ, в то время как максимальный размер диска для GPT составляет 2.2 зеттабайт. По умолчанию GPT поддерживает до 128 первичных разделов, что можно изменить, увеличив пространство для таблицы разделов.
GPT использует систему адресации логических блоков (LBA, Logical Block Addressing) с такой структурой разделов:
  • Первый сектор (LBA 0) зарезервирован для таблицы MBR и носит название «защищенной MBR», так как выполняет чисто защитную функцию и обеспечивает обратную совместимость с MBR.
  • LBA 1 содержит оглавление GPT, что включает GUID диска, информацию о расположении главной таблицы разделов и оглавления вторичной таблицы GPT, а также контрольные суммы CRC32 (собственную и сумму основной таблицы разделов). Оглавление также содержит число записей данных о разделах.
  • По умолчанию основная таблица GPT включает 128 записей разделов, GUID типа раздела и уникальный идентификатор раздела. Размер каждой записи составляет 128 байт.
  • Вторичная таблица GPT является резервной копией основной таблицы.
  • Вторичное оглавление GPT располагается в последнем логическом секторе диска и используется для восстановления исходного оглавления. Содержит GUID диска, информацию о расположении вторичной таблицы разделов и оглавления первичной таблицы, контрольные суммы CRC32 (собственную и сумму вторичной таблицы разделов), а также число записей данных о разделах.

Важно

Для успешной установки операционной системы на диск с GPT необходимо, чтобы он содержал загрузочный раздел BIOS. В этом разделе будет размещаться загрузчик.


[4] Блоки имеют постоянный размер в отличие от приведенного на иллюстрациях. Обычно диск состоит из тысяч таких блоков. Все эти неточности были допущены ради доступности изложения.