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

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

Примечание

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

A.1. Жесткие диски: основные понятия

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

Не на что смотреть, не правда ли? Но если мы говорим о дисках в общем, этого будет достаточно. Скажем, нам нужно сохранить на этом диске какие-то данные. В таком состоянии, как сейчас, ничего не получится. Сначала нужно кое-что сделать.

A.1.1. Не что вы пишете, а как вы пишете

Опытные пользователи понимают это достаточно быстро. Нам нужно отформатировать диск. Форматирование (или создание файловой системы) позволяет записывать данные на диск в определенном порядке.
Диск с файловой системой
Изображение форматированного диска
Рисунок A.2. Диск с файловой системой

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

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

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

A.1.2. Разделы: преобразование одного диска в несколько

С ростом емкости дисков возник вопрос: насколько разумно использовать все форматированное пространство на диске как один большой раздел? Этот вопрос можно рассматривать с нескольких точек зрения: с философской или технической. С философской точки зрения кажется, что чем больше места появляется на диске, тем больше на нем беспорядка. С технической точки зрения, некоторые файловые системы и не рассчитаны на поддержку разделов, превышающих определенный размер. Или файловые системы могут поддерживать большие диски, но накладные расходы, возникающие при этом, будут слишком высоки.
Решением этой проблемы может стать разделение диска на разделы. К каждому разделу можно обращаться как к отдельному диску. Выполняется это с помощью дополнительной таблицы разделов.

Примечание

Отображение на приведенных схемах таблицы разделов отдельно от собственно диска не является точным. В действительности, таблица разделов находится в самом начале диска, перед файловыми системами и данными пользователя. Но ясности ради, на наших диаграммах они разделены.
Диск с таблицей разбиения разделов
Изображение незанятого диска с таблицей разбиения разделов.
Рисунок A.5. Диск с таблицей разбиения разделов

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

Во многих случаях на диске создается только один раздел, занимающий весь диск, по сути это то же самое, что и не использование разделов вовсе. В таком случае таблица разделов будет содержать только одну запись, указывающую на начало раздела.
Допустим, что этот раздел отмечен как DOS. Доступны и другие типы (см. Таблица A.1, «Типы разделов»), но DOS хорошо подходит для дальнейшего объяснения.
Таблица A.1, «Типы разделов» содержит список нескольких популярных типов разделов с соответствующими им шестнадцатеричными числовыми значениями.
Таблица A.1. Типы разделов
Тип раздела Значение Тип раздела Значение
Пусто 00 Novell Netware 386 65
DOS 12-бит FAT 01 PIC/IX 75
XENIX root 02 устаревший MINIX 80
XENIX usr 03 Linux/MINUX 81
DOS 16-бит <=32 МБ 04 Linux swap 82
расширенный 05 Linux обычный 83
DOS 16-бит >=32 06 Linux расширенный 85
OS/2 HPFS 07 Amoeba 93
AIX 08 Amoeba BBT 94
AIX загрузочный 09 BSD/386 a5
OS/2 Boot Manager 0a OpenBSD a6
Win95 FAT32 0b NEXTSTEP a7
Win95 FAT32 (LBA) 0c BSDI fs b7
Win95 FAT16 (LBA) 0e BSDI swap b8
Win95 расширенный (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 вторичный f2
Novell Netware 286 64 BBT ff

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

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

Как видно из рисунка, существует различие между основными и логическими разделами — на диске может быть до четырех основных разделов, но не существует какого-то определенного ограничения на число логических разделов. Однако, учитывая то, как Linux работает с разделами, следует избегать создания на одном диске больше 12 логических разделов.
Теперь давайте разберемся, как применить эти знания при установке Red Hat Enterprise Linux.

A.1.4. Выделение пространства для Red Hat Enterprise Linux

Вы можете столкнуться с тремя различными состояниями вашего диска при попытке разбиения его на разделы:
  • существует нераспределенное свободное место;
  • существует неиспользуемый раздел;
  • существует свободное место в активно используемом разделе.
Рассмотрим эти ситуации по порядку.

Примечание

Не забывайте, что следующие инструкции упрощены для большей ясности и не учитывают точного расположения разделов при установке Red Hat Enterprise Linux.

A.1.4.1. Использование нераспределенного свободного пространства

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

На рисунке (см. Рисунок A.8, «Жесткий диск с нераспределенным свободным пространством») цифрой 1 обозначена незанятая область диска, а 2 обозначает созданный раздел, занявший эту область.
Как вы можете догадаться, неиспользованный ранее жесткий диск также относится к этой категории. Единственным отличием является то, что все пространство не относится ни к одному из разделов.
В любом случае можно создать разделы, используя нераспределенное пространство. К сожалению, хотя рассмотренная ситуация очень простая, вряд ли вы ее встретите (если только вы не приобрели новый диск специально для Red Hat Enterprise Linux). Большинство предустановленных систем настроены так, что они занимают все доступное место на диске (см. Раздел A.1.4.3, «Использование свободного места в активном разделе»).
Ниже будет рассмотрена более распространенная ситуация.

A.1.4.2. Использование пространства, занятого неиспользуемым разделом

В этом случае, вероятно, у вас есть один или несколько разделов, которые вам больше не нужны. Возможно, вы перестали использовать какую-то операционную систему и выделенные ей разделы. Рисунок A.9, «Диск с неиспользуемым разделом» демонстрирует именно такую ситуацию.
Диск с неиспользуемым разделом
Изображение диска с неиспользуемым разделом, где 1 обозначает неиспользуемый раздел, а 2 демонстрирует использование этого раздела для Linux.
Рисунок A.9. Диск с неиспользуемым разделом

На рисунке 1 обозначает неиспользуемый раздел, а 2 демонстрирует использование этого раздела для Linux (см. Рисунок A.9, «Диск с неиспользуемым разделом»).
Если вы столкнетесь с такой ситуацией, можно использовать место, занятое неиспользуемым разделом. Сначала надо удалить раздел, затем создать на его месте соответствующие разделы Linux. Вы можете удалить разделы, освободив место, и создать новые разделы вручную в процессе установки.

A.1.4.3. Использование свободного места в активном разделе

Это самая распространенная ситуация. И также, к сожалению, самая сложная. Основной проблемой является то, что даже если у вас есть свободное место, оно относится к существующему разделу. Если вы приобрели компьютер с предустановленным программным обеспечением, чаще всего на жестком диске будет всего один большой раздел, содержащий и операционную систему, и данные.
Помимо добавления нового жесткого диска в вашу систему, у вас есть два варианта:
Создание разделов с разрушением
По большому счету, вы удаляете один большой раздел и создаете несколько других, меньшего размера. Как можно догадаться, данные, находившиеся в исходном разделе, будут потеряны. Это значит, что необходимо полное резервное копирование. Позаботьтесь о себе и создайте две резервных копии данных, выполните проверку копий (если доступно в программе резервного копирования) и попробуйте прочитать данные с копии перед удалением раздела.

Предупреждение

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

На рисунке 1 показывает состояние до, а 2 демонстрирует состояние после операции (см. Рисунок A.10, «Диск, переразбитый с потерей данных»).

Предупреждение

Как иллюстрирует Рисунок A.10, «Диск, переразбитый с потерей данных», все данные в этом разделе будут потеряны, если вы не создадите резервную копию.
Создание разделов без разрушения существующих
Здесь вы запустите программу, которая, казалось бы, делает невозможное: уменьшает раздел, не потеряв файлов, находящихся на этом разделе. Многие считают этот метод достаточно надежным. Какие программы способны сделать это? Существует множество программных продуктов управления дисками. Проанализировав предложения, вы сможете найти программу, оптимальную для вашей ситуации.
Хотя неразрушительное переразбиение диска выполняется довольно просто, сам процесс состоит из нескольких этапов:
  • сжатие и резервное копирование данных;
  • изменение размера существующего раздела;
  • создание новых разделов.
Далее эти этапы будут рассмотрены подробнее.
A.1.4.3.1. Сжатие существующих данных
Как иллюстрирует Рисунок A.11, «Сжатие данных на диске», первым этапом является сжатие данных существующего раздела. Это выполняется для того, чтобы упорядочить данные, собрав все свободное место в конце раздела.
Сжатие данных на диске
Изображение диска при сжатии данных, где 1 показывает состояние до, а 2 демонстрирует состояние после операции.
Рисунок A.11. Сжатие данных на диске

На рисунке 1 показывает состояние до, а 2 демонстрирует состояние после операции.
Выполнение этого шага является обязательным. Без него неудачное размещение данных помешает уменьшить раздел до требуемого размера. Также обратите внимание на то, что не все данные могут быть перемещены. Если вы столкнулись с этим ограничением (и это не дает вам уменьшить размер раздела), придется переразбить диск заново, используя метод с разрушением данных.
A.1.4.3.2. изменение размера существующего раздела;
Рисунок A.12, «Диск с уменьшенным разделом» иллюстрирует процесс изменения размера раздела. Хотя окончательный результат уменьшения раздела зависит от используемой программы, в большинстве случаев освобожденное место используется для создания неформатированного раздела того же типа, что и исходный.
Диск с уменьшенным разделом
Изображение диска с измененным размером раздела, где 1 показывает состояние до, а 2 демонстрирует состояние после операции.
Рисунок A.12. Диск с уменьшенным разделом

На рисунке 1 показывает состояние до, а 2 демонстрирует состояние после операции.
Важно понимать, что же используемая вами программа делает с освобожденным пространством. В приведенном примере будет лучше удалить созданный раздел DOS и создать разделы Linux.
A.1.4.3.3. создание новых разделов.
Как было упомянуто ранее, может потребоваться создать новые разделы. Если используемая вами программа не рассчитана на Linux, скорее всего, понадобится удалить раздел, созданный при уменьшении раздела (см. Рисунок A.13, «Диск с окончательным вариантом разбиения»).
Диск с окончательным вариантом разбиения
Изображение диска с окончательным вариантом разбиения, где 1 показывает состояние до, а 2 демонстрирует состояние после операции.
Рисунок A.13. Диск с окончательным вариантом разбиения

На рисунке 1 показывает состояние до, а 2 демонстрирует состояние после операции.

Примечание

Следующая информация относится только к компьютерам на базе x86.
Для удобства наших пользователей мы предоставляем утилиту parted. Это свободно распространяемая программа, способная изменять размеры разделов.
Если вы решите переразбить жесткий диск с помощью parted, важно, чтобы вы понимали организацию диска и сделали резервную копию данных вашего компьютера. Создайте две копии всех важных данных. Эти копии следует сохранить на внешних носителях (например, на лентах, дискетах или CD-ROM), и прежде чем продолжить, убедиться в том, что их можно прочитать.
Если вы решите использовать parted, помните, что после работы parted оставляет два раздела: один, размер которого вы уменьшали, и другой, созданный в освобожденной области. Если вы планируете установить Red Hat Enterprise Linux в этой области, нужно удалить новый раздел либо с помощью программы разбиения дисков в вашей операционной системе, либо при настройке разделов во время установки.

A.1.5. Схема обозначения разделов

Linux обращается к дисковым разделам, используя комбинации букв и цифр, что сначала может показаться странным, особенно если вы привыкли к обозначениям C, D и т.п. В мире DOS и Windows разделы именуются следующим образом:
  • Тип каждого раздела проверяется на совместимость с DOS и Windows.
  • Если тип раздела совместим, ему присваивается буква. Буквы дисков начинаются с «C» и продолжаются по алфавиту.
  • Буква диска используется для обозначения раздела и файловой системы этого раздела.
В Red Hat Enterprise Linux используется более гибкая и информативная схема, которая основана на схеме именования файлов, где имена имеют вид /dev/xxyN.
Ниже объясняется эта схема именования разделов:
/dev/
Это имя каталога, в котором находятся файлы всех устройств. Так как разделы располагаются на жестких дисках, а жесткие диски представляют собой устройства, в /dev/ находятся файлы, представляющие все возможные разделы.
xx
Первые две буквы раздела обозначают тип устройства, содержащего раздел, обычно это либо hd (для дисков IDE), либо sd (для дисков SCSI).
y
Этот символ указывает конкретное устройство, содержащее раздел. Например, /dev/hda (первый жесткий диск IDE) или /dev/sdb (второй SCSI-диск).
N
Последнее число определяет раздел. Первые четыре (основных или дополнительных) раздела нумеруются с 1 до 4. Номера логических разделов начинаются с 5. Так, например, /dev/hda3 обозначает третий основной или дополнительный раздел на первом IDE-диске, а /dev/sdb6 — второй логический раздел на втором SCSI-диске.

Примечание

В этой схеме именования не указан тип раздела; в отличие от DOS/Windows, в Red Hat Enterprise Linux могут быть идентифицированы все разделы. Конечно, это не означает, что Red Hat Enterprise Linux может обращаться к данным разделов любого типа, но в большинстве случаев получить доступ к данным другой операционной системы все же возможно.
Возьмите эту информацию на заметку, так как это поможет понять, как создавать разделы, необходимые для работы Red Hat Enterprise Linux.

A.1.6. Разделы диска и другие операционные системы

Если разделы Red Hat Enterprise Linux расположены на одном диске с разделами, используемыми другими операционными системами, скорее всего, это не вызовет никаких проблем. Однако существуют определенные комбинации Linux и других операционных систем, которые требуют особого внимания.

A.1.7. Разделы диска и точки подключения

Пользователи, начинающие знакомство с Linux, часто путаются в том, как Linux использует и обращается к разделам. В DOS и Windows это относительно просто — каждому разделу соответствует буква диска, которую можно использовать для обращения к файлам и каталогам, расположенным в этом разделе.
Это полностью отличается от того, как ведет себя с разделами Linux, и как вообще представляется дисковое хранилище. Основным отличием является то, что каждый раздел используется как часть одного хранилища, содержащего один набор файлов и каталогов. Это реализуется за счет сопоставления раздела каталогу, называемого также подключением или монтированием диска. Подключение диска делает его содержимое доступным в указанном каталоге (также называемом точкой подключения (монтирования)).
Например, если раздел /dev/hda5 подключен в точку /usr/, это означает, что все файлы и каталоги в /usr/ физически будут находиться на /dev/hda5. Например, файл /usr/share/doc/FAQ/txt/Linux-FAQ будет находиться на диске /dev/hda5, тогда как /etc/gdm/custom.conf будет расположен на другом диске.
Продолжая пример, можно сделать так, чтобы один или несколько каталогов ниже /usr/ являлись точками подключения других разделов. Например, раздел (скажем, /dev/hda7) может быть подключен в точку /usr/local/, таким образом, файл /usr/local/man/whatis будет располагаться в разделе /dev/hda7, а не в /dev/hda5.

A.1.8. Сколько разделов создавать?

На этом этапе подготовки к установке следует определиться с числом и размером разделов, которые будут использоваться новой операционной системой. Вопрос «сколько же разделов создавать?» постоянно поднимается в дискуссиях в Linux-сообществе, и этим спорам не видно конца, поэтому лучше будет просто сказать, что число вариантов разбиения диска равно числу мнений людей, обсуждающих эту тему.
Не забывая об этом, придерживайтесь следующей рекомендации: если вы не видите причин сделать по-другому, создайте как минимум разделы swap, /boot/ и / (корневой).
Раздел 9.14.5, «Рекомендуемая схема разбиения» содержит дополнительную информацию.


[13] На самом деле, блоки имеют постоянный размер в отличие от приведенного на иллюстрациях. Также учтите, что обычный диск состоит из тысяч таких блоков. Все эти небольшие неточности были допущены ради доступности изложения.