Рефераты

Руководство Системного администратора Linux

могут повредиться. Это происходит по причине наличия в Linux

дискового кэша, информация из которого записывается на диск только

через некоторые промежутки времени. Это значительно повышает

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

- 21 -

выключить питание компьютера, то в дисковом кэше может находится

большое количество информации и файловая система может быть

частично повреждена, так как на диск обычно сбрасывается только

часть информации.

Другой причиной для этого является мультизадачность системы,

где одновременно может выполняться несколько процессов и

выключение питания может быть гибельным для системы. Особенно это

касается компьютеров, на которых одновременно работает несколько

пользователей.

Существуют команды, предназначенные для правильного

выключения системы - это shutdown(8) и halt(8), расположенные в

каталоге /sbin. Есть два обычных способа их применения.

Если система установлена на компьютере, где работает один

пользователь, то обычно завершают работу всех программ, работу

всех виртуальных консолей, входят в систему под пользователем root

(или остаются подключенными под этим пользователем, только в этом

случае нужно перейти в корневой каталог во избежание проблем с

демонтированием файловых систем), затем выполняется команда halt

или shutdown -h now (при желании можно установить задержку,

которая устанавливается заменой параметра now на знак '+' и числом

минут, по истечении которых будет завершена работа системы) или

просто halt.

Если на копьютере, на котором установлена система, работает

одновременно несколько пользователей, то возможно использование

команды shutdown в следующем формате:

shutdown -h +time message,

где time это время, по истечении которого работа системы будет

завершена, а message - сообщение, в котором объясняется причина

выключения. Напpимеp,

root# shutdown -h +10 'We will install a new disk. System should

> be back on-line in three hours.'

- 22 -

Выполнение этой команды предупредит каждого пользователя,

работающего в системе, что она будет выключена через 10 минут.

Сообщение выдается на каждый терминал, где работают пользователи,

включая xterm.

Broadcast message from root (ttyp0) Wed Aug 2 01:03:25 1995...

We will install a new disk. System should

be back on-line in three hours.

The system is going DOWN for system halt in 10 minutes !!

Выдача сообщения автоматически повторяется несколько раз

перед прекращением работы системы и каждый раз с более коротким

интервалом. При использовании halt нельзя установить задержку,

поэтому эта программа редко применяется на многопользовательских

системах.

Замечание: файл /etc/inittab содержит команды, выполняющиеся

при выключении системы.

После запуска процесса прекращения работы системы,

демонтируются все файловые системы (кроме системы root),

завершается выполнение всех процессов и программ-демонов, затем

демонтируется файловая система root и вся работа завершается.

После этого выдается сообщение, в котором говорится, что можно

отключить питание. Только после этого питание компьютера может

быть отключено.

В некоторых случаях невозможно завершить этот процесс

соответствующим образом. Например, при повреждении кода ядра в

памяти, нарушается его работа или система зависает и просто нет

возможности ввести новую команду можно только надеяться, что

ничего не повредится и выключить питание. Если же неполадки не

такие серьезные (например вышла из строя клавиатура), а ядро и

программа update работают нормально, то наилучшим вариантом будет

подождать несколько минут, пока update(8) не сохранит на диске

информацию, хранящуюся в кэш-буфере и только после этого выключить

- 23 -

питание.

Некоторые выключают копьютер после трехкратного выполнения

команды sync(8), которая сбрасывает на диск содержимое буфера, и,

после прекращения обращения к диску, выключают компьютер. Если в

момент выключения работа всех программ была завершена, то эта

процедура почти идентична выполнению команды shutdown. Однако,

файловые системы не демонтируются, что может привести к некоторым

проблемам, связанным с флагом 'clean filesystem' системы ext2fs. В

любом случае использование этого способа не рекомендуется.

3.4 Перезагрузка системы

Процесс перезагрузки может быть достигнут путем прекращения

работы системы, выключения питания и включения снова. Более

простой способ - это указать команде shutdown перезагрузить

систему установив опцию -r. Например, для этого можно использовать

команду shutdown -r now. Также можно использовать команду reboot.

3.5 Однопользовательский режим работы

Команда shutdown может также использоваться для перевода

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

может подключится кроме пользователя root, который использует для

работы главную консоль. Это иногда применяется для

административных целей, для выполнения которых не может быть

использована нормально работающая система.

3.6 Дискеты для экстенной загрузки

Не всегда имеется возможность загрузки системы с жесткого

диска. Например, при неправильных установках в LILO загрузчике

систему невозможно будет загрузить. В таких случаях должен быть

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

выполняется с дискет.

Большинство распространяемых версий Linux позволяют во время

установки системы создать загрузочную дискету. Однако многие такие

- 24 -

дискеты содержат только ядро и, предполагается, что для устранения

неполадок будут использоваться программы, находящиеся на

установочных дисках. Иногда этих программ бывает недостаточно,

например, когда требуется восстановить некоторые файлы, созданные

с помощью программ, которых нет на этих дисках.

Поэтому может возникнуть необходимость в создании специально

настроенного диска. В документации "Bootdisk HOWTO" содержится

необходимая информация для создания подобного диска.

При загрузке со специально настроенного диска нельзя

использовать привод, на котором смонтирована эта дискета, для

каких-либо других целей. Это может создать некоторые неудобства,

если в компьютере имеется только один дисковод. Однако, если

компьютер имеет достаточный объем памяти, можно загрузить этот

диск в RAM диск (для этого ядро, расположенное на дискете должно

быть сконфигурировано соответствующим образом). Это позволяет

использовать дисковод для других целей.

.

- 25 -

Глава 4 Использование Дисков и Других Устройств

Хранения Информации

При установке системы или изменении ее конфигурации обычно

возникает много проблем с дисками. Нужно установить файловые

системы на дисках так, чтобы на них могли хранится файлы, а также

зарезервировать пространство для других частей операционной

системы.

В этой главе рассматриваются все эти вопросы. Обычно, если

система уже установлена, то каких-либо проблем с дисками в

дальнейшем быть не должно, кроме pаботы с дискетами. При установке

нового диска или его настройке следует обращаться к этой главе.

При администрировании дисков могут возникнуть следующие

проблемы:

Форматирование диска (в настоящее время форматирование

является необязательной процедурой для многих типов дисков).

Разделение диска, если диск будет использоваться для разных

целей. Одна из причин разделения - это хранение разных

операционных систем на одном диске. Другая причина - хранение

пользовательских и системных файлов в pазных pазделах, что

упрощает резервное копирование и восстановление, а также защиту

системных файлов от повреждений.

Создание файловой системы на соответствующем диске или

разделе. В системе Linux диск ничего не значит, пока на нем не

установлена файловая система. Только после этого возможна работа с

файлами.

Монтирование различных файловых систем для формирования

единой структуры каталогов, как автоматически так и вручную

(файловые системы, монтируемые вручную, должны быть вpучную

демонтированы).

- 26 -

В главе 6 рассматриваются вопросы буфеpизации дисков и работы

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

В этой главе рассматриваются вопросы, которые необходимо

знать при работе с жесткими и гибкими дисками. К сожалению здесь

не рассматривается использование ленточных накопителей и приводов

для компакт дисков.

4.1 Типы устройств

В системе UNIX, а следовательно и Linux, существует два типа

устройств: блочные устройства с прямым доступом (такие как диски)

и символьные устройства (такие как ленточные накопители и

последовательные порты), некоторые из них могут быть

последовательными, а некоторые - с прямым доступом. Каждое

поддерживаемое устройство представляется в файловой системе файлом

устройства. При выполнении операций чтения или записи с подобным

файлом, происходит обмен данными между устройством, на которое

указывает этот файл. Такой способ доступа к устройствам позволяет

не использовать специальные программы (а также специальные методы

програмирования, такие как работа с прерываниями). Например, для

распечатки файла на принтере, используется следующая команда:

ttyp5 root ~ $ cat filename > /dev/lp1

ttyp5 root ~ $

Однако, для распечатки файлов используется специальная

программа (обычно lpr(1)), которая контролирует поток поступающих

файлов во избежание возникновения конфликтных ситуаций, например,

при попытке распечатать на одном принтере одновpеменно несколько

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

автоматически. По подобной схеме работает большинство устройств.

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

Так как устройства отображаются как файлы в файловой системе

(в каталоге /dev), несложно обнаружить с помощью команды ls(1)

какие существуют файлы устройств. После выполнения команды ls -l

- 27 -

на экран выводится список файлов, причем в первой колонке

содержится тип файла и права доступа к нему. Например, для

просмотра файла, соответствующего последовательному порту,

используется следующая команда:

ttyp5 root ~ $ ls -l /dev/cua0

crw-rw-rw- 1 root uucp 5, 64 Nov 30 1993 /dev/cua0

ttyp5 root ~ $

Первый символ в первой колонке, т.е. 'c', показывает тип

файла, в данном случае символьное устройство. Для обычных файлов

используется символ '-', для каталогов - 'd', для блочных

устройств - 'b' (см. pуководство к команде ls(1) для более

подробной информации).

Наличие большого количества файлов устройств совсем не

означает, что эти устройства на самом деле установлены. Наличие

файла /dev/sda ни о чем не говорит и совсем не означает, что в

компьютере установлен жесткий диск SCSI. Это предусмотрено для

облегчения установки программ и нового оборудования (нет

необходимости искать нужные параметры и создавать файлы для новых

устройств).

4.2 Жесткие диски

В этом разделе рассматриваются термины, связанные с

использованием жестких дисков.

Жесткий диск состоит из одной или нескольких круглых пластин,

одна или обе стороны которой покрыты магнитным материалом,

используемым для хранения информации. Для каждой стороны

предусмотрена головка, позволяющая считывать или записывать

информацию. Пластины вращаются на одной оси обычно со скоростью

3600 оборотов в минуту, хотя в более быстрых пpиводах используются

более высокие скорости. Головки перемещаются вдоль радиуса

поверхности пластин, что позволяет получить доступ к любой точке

поверхности.

- 28 -

Центральный процессор (CPU) и жесткий диск обмениваются

информацией через дисковый контроллер. Это упрощает схему

обращения и работы с диском, так как контроллеры для разных типов

дисков могут быть построены с использованием одного интерфейса для

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

можно воспользоваться всего лишь одной командой вместо сложных

последовательностей электрических сигналов для того, чтобы

переместить головки к нужной позиции, синхронизировать вращение

диска и считывание или запись данных и др. (на самом деле,

интерфейс между компьютером и контроллером тоже достаточно сложен,

но не на столько, на сколько он был бы без использования

контроллера). Котроллер также выполняет и некоторые другие

функции, такие как буфеpизация информации или автоматическая

замена плохих секторов.

Существуют еще некоторые понятия, знание которых необходимо

для понимания работы жесткого диска. Обычно поверхности делятся на

концентрические кольца, называемые дорожками или трэками, которые,

в свою очередь, делятся на сектора. Такое разделение нужно для

указания нужных позиций на диске и для распределения дискового

пространства на файлы. Для нахождения нужной информации на диске

достаточно примерно следующих данных: "поверхность 3, дорожка 5,

сектор 7". Обычно количество секторов на дорожке одинаково для

всех дорожек на диске, хотя в некоторых устройствах на внешних

трэках размещается большее количество секторов (все сектора имеют

один и тот же физический размер, поэтому на более длинных дорожках

помещается больше секторов). Стандартный размер сектора равен 512

байт. Диск не может оперировать данными, объем которых менее

одного сектора.

Каждая поверхность разделена на дорожки (и сектора) таким

образом, что при перемещении головки одной поверхности к

какой-либо дорожке, головки остальных поверхностей будут

установлены на этой же дорожке. Совокупность всех таких дорожек

называется цилиндром. Для перемещения головок от одной дорожки

(цилиндра) к другой требуется какое-то количество времени. Таким

образом, если разместить данные, доступ к которым чаще всего

производится сразу (например, файл), в одном цилиндре, то

- 29 -

необходимость в перемещении головок отпадает. Это повышает

производительность работы диска. Не всегда представляется

возможным разместить файл подобным образом. Файлы, которые

хранятся в разных местах на диске, называются фрагментированными.

Количество поверхностей (или головок, что в принципе одно и

то же), цилиндров и секторов сильно различается у разных

устройств. Совокупность таких параметров называется структурой

диска, которая хранится в специальной памяти, для питания которой

используются аккумуляторы. Эта память называется CMOS RAM, откуда

операционная система может считывать информацию во время ее

загрузки или во время установки драйвера.

К сожалению, BIOS построен так, что не представляется

возможным указать дорожку, номер которой превышает 1024, для

записи в CMOS RAM, что является серьезным ограничением для дисков

больших объемов. Для решения этой проблемы контроллер жесткого

диска передает заведомо неправильную информацию о структуре диска

и преобразует данные, представляемые компьютером, в нечто,

соответсвующее реальности. Например, жесткий диск может состоять

из 8 головок, 2048 дорожек с 35 секторами в каждой. В то время как

контроллер может утверждать, что диск имеет 16 головок и 1024

дорожки с 35 секторами в каждой, не превышая предела на хранение в

CMOS RAM числа дорожек и преобразуя адресацию уменьшая номер

головки вдвое и удваивая номер дорожки. Преобразование адресов

искажает представление операционной системы о структуре диска, что

усложняет размещение требуемой информации на одном цилиндре для

увеличения производительности.

Преобразование используется только для IDE дисков. В SCSI

дисках используется доступ с применением последовательного номера

сектора (который контроллер преобразует в номер головки, цилиндра

и сектора диска) и другой метод обмена информацией с процессором.

Однако, процессор может не иметь представления о реальной

структуры диска.

Так как системе Linux часто не известна информация о

структуре диска, то в файловых системах не используется размещение

- 30 -

отдельных файлов в пределах одного цилиндра. Вместо этого

применяется размещение файлов в цепочках последовательно

расположенных секторов, что дает приблизительно одинаковую

производительность. Хотя проблема усложняется за счет

использования специальных возможностей контроллера, таких как

внутреннее кэширование и других автоматических функций.

Каждый жесткий диск представлен отдельным файлом. Для IDE

дисков обычно существует только два таких файла. Они известны как

/dev/hda и /dev/hdb соответственно. Для SCSI дисков используются

файлы /dev/sda и /dev/sdb и т.д. Подобные обозначения применяются

и для других типов дисков. Файлы устройств для жестких дисков

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

(которые будут описаны ниже) и поэтому не составляет труда

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

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

для доступа к информации в MBR (которые также рассмотрены ниже).

4.3 Гибкие диски

Гибкий диск состоит из мягкой пластины, покрытой с одной или

обоих сторон материалом, подобным тому, которым покрыты пластины в

жестком диске. У самой дискеты нет никаких головок, они

установлены в приводе. Дискету можно сравнить с одной пластиной,

установленной в жестком диске, только дискета является съемной и

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

время как жесткий диск является одним неделимым устройством.

Также как жесткий диск, дискета делится на дорожки и сектора

(а две соответствующие дорожки на разных сторонах составляют

цилиндр), но их намного меньше, чем на жестком диске.

Дисковод может работать с несколькими типами дискет.

Например, привод на 3.5 дюйма может работать с дисками на 720 Кб и

1.44 Мб. Так как при использовании разных типов дисков, работа

самого привода немного различается, к тому же операционная система

должна иметь представление об объеме диска, существует множество

файлов устройств для работы с приводами для гибких дисков.

- 31 -

Напpимеp, файл /dev/fd0H1440 соответствует первому приводу (fd0)

формата 3.5 дюйма с дискетой на 3.5 дюйма высокой плотности (H)

объемом 1440 Кб (1440), т.е. позволяет pаботать с обычными

дискетами на 3.5 дюйма.

Имена файлов для приводов гибких дисков довольно сложные,

поэтому в системе Linux существует специальный тип устройства,

который автоматически определяет тип используемого гибкого диска.

Метод определения заключается в последовательном чтении первого

сектора вставленной дискеты с пpименением различных способов

чтения, до тех пор, пока он не будет правильно считан.

Естественно, диск должен быть сначала отформатирован.

Автоматическими устройствами являются /dev/fd0, /dev/fd1 и т.д.

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

для доступа к диску, могут быть установлены с помощью программы

setfdprm(8). Это может быть полезно в некоторых случаях, например,

если используются дискеты нестандартного объема (т.е. дискета

имеет нестандартное количество секторов в дорожке) или если

определение типа диска по какой-либо причине не работает и

соответствующий файл устройства отсутствует.

4.4 Форматирование

Форматирование - это процесс записи специальных отметок на

магнитную поверхность, которые используются для разделения дорожек

и секторов. Перед форматированием диска его поверхность состоит из

смеси различных магнитных сигналов. При форматировании эти сигналы

упорядочиваются и происходит формирование дорожек и секторов. В

действительности, все намного сложнее и выходит за рамки этой

книги. Нужно знать только то, что диск не может использоваться, до

тех пор пока он не будет отформатирован.

При работе в MS-DOS, форматирование также включает в себя

процесс создания файловой системы. Там часто эти два процесса

совмещены, особенно при работе с гибкими дисками. Но если нужно

сделать разграничение, то действительным форматированием называют

форматированием на низком уровне, а создание файловой системы -

- 32 -

форматированием на высоком уровне. При работе в системе UNIX (а

также в этой книге) вместо этих двух понятий будут использоваться

понятия форматирование и, соответственно, формирование файловой

системы.

Для IDE и некоторых SCSI дисков форматирование производится

при их изготовлении и, обычно, не требуется повторения этой

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

действительности, форматирование диска может привести к ухудшению

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

отформатирован специальным образом для обеспечения возможности

замены плохих секторов.

Форматируемые диски часто поставляются со специальной

программой, потому как внутренние интерфейсы у разных приводов

различны. Эта программа обычно раположена в микросхеме BIOS

контроллера или поставляется отдельно как программа для MS-DOS. Ни

одни из них не могут быть использованы для системы Linux.

Во время форматирования могут быть обнаружены плохие блоки

или сектора, которые не должны быть использованы при дальнейшей

работе. Эти функции возлагаются на файловую систему. Хотя можно

создать небольшой раздел диска, который включает в себя только

плохие блоки. Это эффективно при большом количестве плохих блоков,

так как при работе файловой системы могут возникнуть некоторые

трудности, связанные с размером неиспользуемой области.

Для форматирования дискет используется программа fdformat(8).

В качестве параметра указывается файл устройства. Например,

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

размером 3.5 дюйма высокой плотности в первом приводе для гибких

дисков:

ttyp5 root ~ $ fdformat /dev/fd0H1440

Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.

Formatting ... done

Verifying ... done

ttyp5 root ~ $

- 33 -

Если для форматирования используется автоматическое

устройство (например, /dev/fd0), то сначала нужно указать

параметры этого устройства с помощью программы setfdprm(8). Для

получения такого же результата, как в предыдущем примере, нужно

выполнить следующие действия:

ttyp5 root ~ $ setfdprm /dev/fd0 1440/1440

ttyp5 root ~ $ fdformat /dev/fd0

Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.

Formatting ... done

Verifying ... done

Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.

Formatting ... done

Verifying ... done

ttyp5 root ~ $

Обычно проще указать точный файл устройства, который

соответствует типу форматируемого диска.

Программа fdformat также используется для выявления плохих

блоков. Она обрабатывает плохой блок несколько раз. Если проблема

не очень серьезна (загрязненная рабочая поверхность

считывающих/записывающих головок, плохой контакт в разъеме

контроллера), то fdformat продолжит свою работу, но возникновение

реальной ошибки прервет процесс проверки. Ядро отображает

появление каждой ошибки на терминале. Если используется syslog, то

сообщение поступает в файл /usr/adm/messages. fdformat не сообщает

специфику ошибки (обычно это не имеет значения, так как дисководы

это довольно дешевые устройства и их замена не составляет

проблем).

ttyp5 root ~ $ fdformat /dev/fd0H1440

Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.

Formatting ... done

Verifying ... read: Unknown error

ttyp5 root ~ $

- 34 -

Команда badblocks(8) используется для поиска плохих блоков на

любом диске или разделе диска (включая гибкие диски). Она не

форматирует диск, поэтому может быть использована для проверки

даже существующих файловых систем. В следующем примере

рассматривается проверка 3.5 дюймовой дискеты с двумя плохими

блоками.

ttyp5 root ~ $ badblocks /dev/fd0H1440

718

719

ttyp5 root ~ $

Программа выводит номера найденных плохих блоков. Во многих

файловых системах есть средства, позволяющие избежать

использования таких блоков. Для таких целей существует список

известных плохих блоков, который инициализируется при установке

файловой системы и может быть модифицирован в дальнейшем.

Первичный поиск плохих блоков производится при выполнении команды

mkfs (которая инициализирует файловую систему), в последующем

проверка производится с помощью программы badblocks, а модификация

списка - при помощи команды fsck. Эти команды будут рассмотрены

ниже.

4.5 Дисковые разделы

Весь жесткий диск может быть разбит на несколько разделов,

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

отдельный диск. Разделение используется, например, при работе с

двумя операционныи системами на одном диске. При этом каждая

операционная система использует для работы отдельный раздел и не

взаимодействует с другими. Таким образом, две различные системы

могут быть установлены на одном жестком диске. Без использования

разделов в данном случае возникла бы необходимость в приобритении

второго диска.

Для гибких дисков разделы не предусмотрены. В большинстве

случаев для этого нет необходимости, так как их объем достаточно

мал.

- 35 -

4.5.1 MBR, загрузочные сектора и таблица разделов

Информация о разделении жесткого диска находится в первом

секторе (т.е. в первом секторе первой дорожки первого диска). Этот

сектор называется MBR (сокращение от Master Boot Record) этого

диска. При загрузке компьютера BIOS загружает его в память и

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

таблицу разделов, находит активный раздел (т.е. раздел, отмеченный

как загрузочный) и считывает первый сектор этого раздела, который

называется загрузочным сектором (MBR также является загрузочным

сектором, но он выполняет специальные функции и поэтому имеет

отдельное название). Этот сектор содержит другую небольшую

программу, которая, в свою очередь, считывает начальную часть

операционной системы, расположенной в этом разделе, а затем

выполняет ее.

Схема разделения не встроена в оборудование или даже в BIOS.

Это только стандарт, которого придерживается большое количество

операционных систем. Не все системы поддерживают его, но они

являются исключениями. Некоторые системы поддерживают разделение,

но они занимают всего один раздел на диске и используют свою

внутреннюю схему разделения в пределах используемого раздела.

Такие операционные системы нормально работают с другими системами

(включая Linux), которые находятся на том же диске. Но те

операционные системы, которые не поддерживают разделы, не могут

быть установлены вместе с другими системами на одном диске.

Из мер предосторожности следует записать таблицу разделов.

Если эта таблица каким-либо образом повредится, то все файлы

останутся в сохранности (испорченная таблица разделов может быть

исправлена при помощи программы fdisk).

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

Изначально, в схеме разделения жесткого диска в PC

допускалось использование только четырех разделов. Но вскоре этого

оказалось недостаточно, частично по причине того, что многим для

- 36 -

работы требуется более четырех операционных систем (например,

Linux, MS-DOS, OS/2, Minix, FreeBSD, NetBSD, Windows/NT и т.д.),

но в основном из-за того, что одной системой используется

несколько разделов. Например, в системе Linux swap-область чаще

всего размещается в отдельном разделе (а не в основном разделе

Linux) для повышения скорости обмена (см. ниже).

Для решения этой проблемы была разработана схема,

использующая расширенные разделы. Она позволяет разбивать основной

раздел на подразделы. Основной раздел, разбитый таким образом,

называется расширенным разделом, а подразделы называются

логическими разделами. Они функционируют так же, как и основные

разделы, различие состоит в схеме их создания.

Ниже дан пpимеp pазбиения жеского диска на pазделы. Весь диск

разбит на три основных раздела, второй из которых разбит на два

логических. Часть диска не используется вообще. Весь диск, как

целое, и каждый основной раздел имеют свой загрузочный сектор.

иммммммммммммммммммммммммммммммммммммммv

· MBR ·

лмммммммммммммммммммммммммммммммммммммм¦ддддддддддддд

· Загрузочный сектор ·

·--------------------------------------· Основной

· ·

· Область данных раздела · раздел

· ·

лмммммммммммммммммммммммммммммммммммммм¦ддддддддддддд

· Загрузочный сектор · Ё

·дддддддддддддддддддддддддддддддддддддд· Ё

· Неиспользуемый загрузочный сектор · ЛогическийЁ

·--------------------------------------· Ё

· · раздел Ё

· Область данных раздела · Ё

· · Ё Расширенный

·дддддддддддддддддддддддддддддддддддддд·дддддддддддЇ

· Неиспользуемый загрузочный сектор · Ё раздел

·--------------------------------------· ЛогическийЁ

- 37 -

· · Ё

· Область данных раздела · раздел Ё

· · Ё

лмммммммммммммммммммммммммммммммммммммм¦ддддддддддддд

· ·

· Неиспользуемое дисковое пространство ·

· ·

лмммммммммммммммммммммммммммммммммммммм¦ддддддддддддд

· Загрузочный сектор ·

·--------------------------------------· Основной

· ·

· Область данных раздела · раздел

· ·

хмммммммммммммммммммммммммммммммммммммм№ддддддддддддд

4.5.3 Типы разделов

Таблицы разделов (одна находится в MBR, другие используются

для расширенных разделов) содержат один байт для каждого раздела,

который указывает тип раздела. Это позволяет определить

операционную систему, которая использует раздел или для чего он

используется во избежание случайного размещения двух систем на

одном разделе. Однако, в действительности, операционные системы

игнорируют байт типа раздела. Например, система Linux вообще не

имеет представления о его существовании. Хуже того, некоторые

системы неправильно его интерпретируют (по крайней мере, некоторые

версии DR-DOS игнорируют самый важный бит этого байта, в отличие

от других).

Не существует никаких стандартов, касающихся значений этих

байтов, хотя некоторые общепринятые значения приведены в таблице

ниже. Такую же информацию предоставляет программа Linux fdisk.

0 пустой раздел 40 Venix 80286 94 Amoeba BBT

1 DOS 12-битная FAT 51 Novell a5 BSD/386

2 XENIX root 52 Microport b7 BSDI fs

3 XENIX usr 63 GNU HURD b8 BSDI swap-область

- 38 -

4 DOS 16-бит (=32Мб) 80 Old MINIX e1 DOS

7 OS/2 HPFS 81 Linux/MINIX e3 DOS r/o

8 AIX 82 Linux swap-область f2 DOS дополнительный

9 AIX загрузочный 83 Linux ff BBT

a OS/2 загрузочный 93 Amoeba

4.5.4 Разделение жесткого диска

Существует много программ, позволяющих создавать и удалять

разделы. У большинства операционных систем имеются свои

собственные и разумнее всего пользоваться именно такими

программами. Чаще всего эта программа называется fdisk (как и в

случае Linux). Особенности работы с ней рассмотрены в ее

руководстве. Команда cfdisk подобна fdisk, только в первой

используется полноэкранный интерфейс.

При pаботе с IDE дисками, загрузочный раздел (раздел, в

котором находятся файлы, используемые при загрузке и само ядро)

должен полностью располагаться в пределах первых 1024 цилиндров,

потому как во время загрузки работа с диском происходит через BIOS

(перед переходом системы в защищенный режим), а BIOS не может

оперировать с цилиндрами, номер которых больше, чем 1024. Иногда

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

частично расположенного в пределах первых 1024 цилиндров. Данный

метод работает до тех пор, пока все файлы, считываемые посредством

BIOS, находятся в пределах 1024 цилиндров. Так как это сделать

довольно сложно, то пpименение этого метода не рекомедуется.

Сложно предугадать, когда после дефрагментации или сбрасывании

содержимого буфера на диск система перестанет загружаться. Поэтому

следует удостовериться в том, что загрузочный раздел расположен в

пределах первых 1024 цилиндров.

Некоторые последние версии BIOS и недавние модели IDE дисков

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

превышает 1024.

- 39 -

Каждый раздел должен содержать четное количество секторов,

так как в системе Linux используются блоки размером в 1 Кб, т.е.

два сектора. Нечетное количество секторов приведет к тому, что

последний из них будет неиспользован. Это ни на что не влияет, но

пpи запуске fdisk будет выдано пpедупpеждение.

При изменении размера раздела обычно требуется сначала

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

раздел, создать новый раздел, а затем восстановить всю сохраненную

информацию на новый раздел. Хотя существует программа для MS-DOS

под названием fips, которая позволяет изменять объем раздела без

резервного копирования, но для других файловых систем эту опеpацию

необходимо пpоизводить.

4.5.5 Файлы устройств и разделы

Каждому основному и расширенному разделу соответствует

отдельный файл устpойства. Существует соглашение для имен подобных

файлов, которое состоит в добавлении номера раздела к имени файла

самого диска. 1-4 разделы являются основными (вне зависимости от

того, сколько существует основных pазделов), а 5-8 - логическими

(вне зависимости от того, к какому основному разделу они

относятся). Например, /dev/hda1 соответствует первому основному

разделу первого IDE жесткого диска, а /dev/sdb7 - третьему

расширенному разделу второго SCSI диска.

4.6 Файловые системы

4.6.1 Что такое файловая система?

Файловая система - это методы и структуры данных, которые

используются операционной системой для хранения файлов на диске

или его разделе. О файловой системе также говорят, ссылаясь на

раздел или диск, используемый для хранения файлов или тип файловой

системы.

Нужно видеть разницу между диском или разделом и

- 40 -

установленной на нем файловой системой. Некоторые программы

(например, программы установки файловой системы) при обращении к

диску или разделу используют прямой доступ к секторам. Если на

этом месте была файловая система, то она будет серьезно

повреждена. Большинство программ взаимодействуют с диском

посредством файловой системы, и, следовательно, их работа будет

нарушена, если на разделе или диске никакая система не установлена

(или тип файловой системы не соответствует требуемуму).

Страницы: 1, 2, 3, 4, 5, 6


© 2010 БИБЛИОТЕКА РЕФЕРАТЫ