Использование жесткого диска

Общие сведения о дисках

Жесткий диск– одно из основных устройств компьютера. Он используется для хранения программ и данных. Для работы с жестким диском на нем должен быть создан один или несколько разделов (partitions), причем каждый раздел представляется так, как если бы это был отдельный диск. Разделение используется, например, для раздельного хранения системных и пользовательских программ и данных или при работе с двумя и более операционными системами на одном компьютере. При этом каждая операционная система использует для работы отдельный раздел и не обращается к другим. Таким образом, на одном жестком диске может быть установлено несколько систем. Без использования разделов возникла бы необходимость в приобретении и установке дополнительных жестких дисков.

Для гибких дисков разделы не предусмотрены, так как их объем достаточно мал и в этом нет необходимости. Для CD и DVD-дисков также не предусмотрены разделы, поскольку они создавались для использования в качестве одного диска большой емкости.

Жесткий диск(HDD - harddisk drive) представляет собой блок из нескольких дисков (disks) по поверхностям (sides) которых перемещаются головки (heads). Позиционируются головки по концентрическим дорожкам, или иначе трекам (tracks), каждый из которых разделен на сектора (sectors). Сектор является минимальным адресуемым блоком данных для диска и его размер равен 512 байтам. Дорожки, равноудаленные от центра диска и образующие как бы цилиндрическую поверхность, называют цилиндрами (cilinders). Как правило, современные диски (в режиме адресации LBA) представляют собой несколько сот цилиндров имеющих 63-254 поверхностей по 63 сектора данных на каждой.

MBR, boot-секторы и таблица разделов

Информация о разделах жесткого диска находится в первом секторе (т.е. в первом секторе первой дорожки первого диска) и хранится в виде таблицы разделов (partition table). В этом секторе также хранится и главная загрузочная запись (master boot record). Часто первую дорожку называют MBR, т.к. в секторах этой дорожки записываются коды различных загрузчиков. При загрузке компьютера базовая система ввода-вывода или BIOS (сокращение от Basic Input/Output System) загружает его в оперативную память и инициирует выполнение записанной в него программы-загрузчика. Эта программа считывает таблицу разделов, находит активный раздел (т.е. раздел, отмеченный как загрузочный) и считывает первый сектор этого раздела, который называется загрузочным сектором (boot sector) раздела. Этот сектор содержит другую небольшую программу, которая, в свою очередь, считывает начальную часть операционной системы, расположенной в этом разделе и выполняет ее.

Таблица разделов состоит из четырех строк описывающих четыре возможных раздела диска. Описание каждого раздела диска содержит информацию о типе файловой системы, признаке того, что раздел является загрузочным, о первых и последних головках, дорожках, секторах раздела, количестве секторов смещения начала раздела от начала диска и об общем количестве секторов в разделе. Эта таблица не встроена в оборудование или даже в BIOS. Это только стандарт, которого придерживается большое количество операционных систем. Не все системы поддерживают его, но они являются исключениями. Некоторые системы поддерживают разделение, но они занимают всего один раздел на диске и используют свою внутреннюю схему разделения в пределах используемого раздела. Такие операционные системы нормально работают с другими системами (включая Linux), которые находятся на том же диске. Но те операционные системы, которые не поддерживают разделы, не могут быть установлены вместе с другими системами на одном диске.

Разрушение таблицы разделов грозит отказом операционных систем, установленных на компьютере. Если таблица каким-либо образом повредится, то все файлы вероятнее всего останутся в сохранности и могут быть восстановлены. Испорченная таблица разделов может быть исправлена при помощи программы fdisk. Поэтому для обеспечения восстановления работоспособности системы следует отдельно записать, например в блокноте, данные о разделах диска. Информация о разделах может быть получена командой fdisk -l:

$ fdisk -l /dev/hda

Disk /dev/hda: 15 heads, 57 sectors, 790 cylinders

Units = cylinders of 855 * 512 bytes

Device Boot Begin Start End Blocks Id System

/dev/hda1 1 1 24 10231+ 82 Linux swap

/dev/hda2 25 25 48 10260 83 Linux native

/dev/hda3 49 49 408 153900 83 Linux native

/dev/hda4 409 409 790 163305 5 Extended

/dev/hda5 409 409 744 143611+ 83 Linux native

/dev/hda6 745 745 790 19636+ 83 Linux native

Восстановление данных на дисках требует высокой квалификации и аккуратности, поэтому выполнение этой процедуры обычно доверяют только опытным специалистам.

Расширенные и логические разделы

Изначально, в схеме разделения жесткого диска в персональных компьютерах допускалось использование только четырех разделов. Но вскоре этого оказалось недостаточно, частично по причине того, что многим пользователям для работы требуется более четырех операционных систем (например, Linux, MS-DOS, OS/2, Minix, FreeBSD, NetBSD, Windows/NT и т.д.), но в основном из-за того, что одной системой используется несколько разделов. Например, в системе Linux область подкачки (swap-область) чаще всего размещается в отдельном разделе, а не в основном разделе Linux.

Для решения этой проблемы была разработана схема, использующая расширенные разделы (extended partitions). Она позволяет разбивать основной раздел (primary partition) на подразделы. Основной раздел, разбитый таким образом, называется расширенным разделом (extended рartition), а подразделы называются логическими разделами (logical рartitions). Они используются так же, как и основные разделы, различие состоит только в схеме их создания.

Ниже приведен пример деления жесткого диска на разделы (табл. 4.1). Диск разделен на три основных раздела. Второй раздел при этом разделен на два логических раздела. Часть диска не используется вообще. Весь диск, как целое, и каждый основной раздел имеют свой загрузочный сектор.

Таблица 1.1. Пример разбиения жесткого диска

Деление жесткого диска на разделы

Если BIOS компьютера не поддерживает режим расширенной адресации LBA, то загрузочный раздел (раздел, в котором находятся файлы, используемые при загрузке и само ядро) должен полностью располагаться в пределах первых 1024 цилиндров. Это связано с тем, что данные в цилиндрах с номерами боле 1024 будут недоступны для BIOS. Поэтому следует удостовериться в том, чтобы загрузочный раздел располагался в пределах первых 1024 цилиндров.

Деление жесткого диска на разделы производится с помощью программ fdisk или cfdisk.

В связи с тем, что в системе Linux используются блоки размером в 1 Кб, т.е. в два сектора, каждый раздел должен содержать четное число секторов. Нечетное число секторов приведет к тому, что последний из них не будет использоваться. Это ни на что не влияет, но при запуске программы fdisk будет выдано предупреждение.

При изменении размера раздела обычно требуется сначала сделать резервную копию всей необходимой информации, удалить раздел, создать новый раздел, а затем восстановить всю сохраненную информацию в новый раздел.

Порядок работы с программой fdisk можно найти в программной документации. Ниже описан порядок работы с программой cfdisk Программа cfdisk подобна fdisk, но обладает более дружественным интерфейсом, поэтому её используют чаще.

Для разметки жесткого диска в приглашении командной строки необходимо ввести следующую команду:

  1. cfdisk

После запуска программа выведет на экран всю информацию о существующих разделах. В большинстве случаев для создания разделов Linux выбирается свободное пространство (Free Space) или удаляются несколько существующих разделов для освобождения пространства.

ВНИМАНИЕ: Перед тем, как удалять разделы очень важно сохранить на резервных носителях все программы и наборы данных, которые могут понадобиться в дальнейшем.

Для создания раздела необходимо с помощью клавиш ^ v выбрать Free Space, а клавишами < > выбрать команду New и нажать Enter.


Рисунок 1.3.

Далее программа предложит выбрать тип раздела: первичный или логический,


Рисунок 1.4.

затем ввести размер раздела в мегабайтах (MB)

Рисунок 1.5.

и выбрать место расположения раздела в начале или, если размер раздела меньше свободного пространства, в конце свободного пространства.

По-умолчанию все созданные разделы имеют тип 83 (Linux),


Рисунок 1.6.

поэтому для одного из разделов необходимо изменить тип на 82 (Linux swap). Для изменения типа раздела необходимо с помощью клавиш ^ v выбрать требуемый раздел, а клавишами < > выбрать команду Type и ввести 82

.
Рисунок 1.7.


Рисунок 1.8.

До того как записывать изменения на диск, следует ещё раз проверить таблицу разделов. Она будет отображаться в главном окне программы.
Рисунок 1.9.

Если всё правильно, то, чтобы сохранить изменения на диск необходимо выбрать команду Write.
Рисунок 1.10.

Чтобы выйти из программы необходимо выбрать команду Quit

.
Рисунок 1.11.

Схемы разделения на разделы

Для жестких дисков небольшого объема достаточно использовать один раздел. При использовании диска большого объема (боле 10 Гбайт) обычно его разбивают на несколько разделов.

Обычно используется отдельный раздел или диск для корневой файловой системы, которая содержит каталоги /bin, /etc, /dev, /lib, /tmp /root и некоторые другие, требуемые для нормальной загрузки и запуска системы. Для личных каталогов пользователей (каталог /home) и для swap-области рекомендуется использовать отдельные разделы или диски. Также в отдельном разделе может быть размещен и каталог /usr. Разделение каталогов с системными и пользовательскими файлами облегчает создание резервных копий, восстановление и обновление программ.

Для установки операционной системы MOPSLinux рекомендуется создать как минимум два раздела: один для корневой файловой системы (не менее 7Гб для полной установки) и один для подкачки (100-200Мб). Желательно создать ещё один раздел (1-3Гб) для каталога /home. В этом случае при переустановке системы личная информация и настройки пользователей сохранятся. Файлы устройств и разделы – > в файловую систему…

Каждому основному и расширенному разделу соответствует отдельный файл устройства. Существует соглашение для имен подобных файлов, которое состоит в добавлении номера раздела к имени файла самого диска. 1-4 разделы являются основными (вне зависимости от того, сколько существует основных разделов), а 5-8 - логическими (вне зависимости от того, к какому основному разделу они относятся). Например, /dev/hda1 соответствует первому основному разделу первого IDE-диска, а /dev/sdb7 третьему расширенному разделу второго SCSI-диска.