BIOS компьютера при его загрузке считывает Master Boot Record и запускает ее, а она, в свою очередь, работает с Таблицей разделов. В Корневой Таблице Разделов указывается для каждого раздела, с какого сектора какой дорожки какого цилиндра он начинается и на каких заканчивается, сколько в нем всего секторов, какой тип файловой системы на нем установлен и является ли данный раздел в данный момент загрузочным — то есть должна ли операционная система загружаться именно с него. Загрузочный раздел в Корневой Таблице разделов может быть указан только один. Поскольку Корневая Таблица разделов и Master Boot Record располагаются в одном секторе, то они вместе должны занимать не более 512 байт, что соответствует четырем записям в Корневой Таблице разделов. Каждая из четырех записей Корневой Таблицы разделов может описывать раздел с какой-либо файловой системой — такие разделы еще называются Первичными.
В начале каждого раздела, в его первом секторе располагается Загрузочная запись этого раздела — небольшая программа, которая непосредственно и запускает операционную систему. При загрузке компьютера программа Master Boot Record считывает Корневую Таблицу разделов, а затем считывает и запускает Загрузочную запись того раздела, который помечен в этой таблице как активный, загрузочный.
Исходя из сказанного, видно, что на жестком диске компьютера IBM PC может быть установлено до четырех разделов с различными файловыми системами — способами размещения данных на диске. При этом различные файловые системы между собой не перекрываются и друг другу не мешают. Соответственно в каждом разделе может располагаться операционная система, работающая именно с той файловой системой, которая в этом разделе находится.
— А две могут?
— Могут и две, и три, если они, конечно, сами себе это позволяют. Тут имеет значение именно тип файловой системы — вот файловая система в каждом разделе может быть лишь одна.
— То есть на вннчестер можно установить совершенно любую операционную систему, с любым способом работы с файлами?
— Да нет, все-таки не любую, а лишь ту, которая удовлетворяет стандартам IBM PC. То есть — умеющую работать с процессором, памятью, шиной, периферийными устройствами, сделанными согласно этим стандартам. А если она еще и «знает», что такое Загрузочная запись и может с нее загружаться, то в этом случае на диск с такой операционной системой можно дополнительно поставить и другую ОС.
2.
— Здравствуйте, я по поводу предыдущего вопроса — хотел бы сделать небольшое уточнение. На моем компьютере логических дисков восемь — как же информация о них влезает в Корневую Таблицу разделов?
— Вы работаете в DOS или Windows?
— Да.
— В этом случае один из разделов, указанных в Корневой Таблице разделов, может быть сделан так называемым 'Дополнительным разделом DOS' и являться как бы «контейнером» входящих в него логических дисков. В первом секторе Дополнительного раздела Dos расположена его Таблица разделов с точно такой же структурой, как и Корневая Таблица разделов. Описываются в ней координаты начала и конца первого логического диска в этом Расширенном разделе (а также тип его файловой системы), а кроме того, координаты начала и конца зоны, занимаемой остальными логическими дисками, если они есть. Соответственно в первом секторе зоны остальных логических дисков находится Таблица разделов с информацией о втором логическом диске, расположенном в Дополнительном разделе Dos, и зоне, занимаемой следующими за ним дисками. В итоге получается ряд вложенных друг в друга, как матрешки, разделов, в каждом из которых имеется по своей Таблице разделов, описывающей координаты одного логического диска и зоны, занимаемой следующими дисками. Такая структура может показаться сложной, но только она дает возможность совместить большое количество логических устройств и ограниченный размер Таблиц Разделов.
— А на логических дисках Дополнительного раздела DOS могут быть созданы другие файловые системы?
— В принципе могут, но на практике — отнюдь не всегда. Дело в том, что само понятие 'Дополнительного раздела DOS' — это изобретение Microsoft, и, соответственно, полноценно работать с ним могут не все ОС. Скажем, на логическом диске Дополнительного раздела DOS вполне спокойно может располагаться файловая система NTFS, которую использует WindowsNT/2000/XP, Linux тоже работает с Дополнительным разделом без труда, а вот ffs (Fast File System), файловую систему ОС FreeBSD, туда так просто не уместить. Хотя, опять-таки, в процессе совершенствования FreeBSD можно добиться и того, что она будет спокойно работать и с файловой системой ffs на Дополнительном разделе DOS.
— Дополнительный раздел может быть загрузочным?
— Нет, не может.
— Но, простите, у меня Windows установлена на диске F и преспокойно загружается.
— У вас установлены на диске F файлы самой операционной системы. Загрузочные же файлы ОС, те, которые выполняют самые начальные этапы загрузки, располагаются именно на системном диске — С. Посмотрите — вы обязательно найдете в его корневом каталоге несколько скрытых файлов с названиями io.sys, msdos.sys или ntldr — в зависимости от используемой вами версии Windows…
— Да, точно… Но то есть как — если я, скажем, отформатирую диск С, то Windows загружаться не будет, несмотря на то, что она сама установлена на диске F?
— Именно так.
— А что же тогда делать — неужели переустанавливать?
— Нет, не обязательно. Если вы используете Windows95, то перед форматированием сохраните файл msdos.sys (а также config.sys, autoexec.bat, если они присутствуют и необходимы) на другом диске, а после форматирования, выполнив его с ключом /s, т. е. сделав диск С системным, скопируйте его туда назад. (Именно в этом файле находится информация о том, на каком логическом диске и в какой папке располагаются основные файлы Windows — в строках WinDir=C: WINDOWS, WinBootDir=C: WINDOWS, HostWinBootDrv=C.) Если же вы работаете в Windows 2000, то вам будет необходимо восстановить загрузчик этой операционной системы, загрузившись с компакт-диска Windows 2000 (или с четырех дискет, сделанных предварительно программой makeboot.exe из каталога BOOTDISK дистрибутивного компакт-диска), в появившемся после загрузки меню выбрать пункт Repair, затем в следующем меню — пункт Recovery Console (сокращенная версия Windows 2000, позволяющая получить доступ к файловой системе и выполнить несколько команд восстановления), ввести пароль администратора и затем, в наконец-то появившейся командной строке — команду fixboot. Кстати, команда fixmbr восстановит Master Boot Record — так же, как и fdisk /mbr.
— …Нет, вы все-таки неправы! Я только что Fdisk'ом назначил Дополнительный раздел активным, загрузочным!
— Ну-ну — перезагрузитесь теперь… Пометить его как активный в Корневой Таблице разделов можно, а вот загрузиться с него нельзя.
— Да… Просто повис, черный экран, даже сообщений нет… Хорошо, дискета есть, сейчас все верну назад.
— Между прочим, неплохой способ запрета детям доступа к компьютеру. У кого нет системной дискеты или компакт-диска с программой FDisk, тот не сможет запустить компьютер, у которого активным назначен Дополнительный раздел DOS. А даже если такая дискета и появится, то понять, почему компьютер не грузится, будет непросто, не зная, что было сделано.
— И последнее. А можно ли выделить несколько логических дисков в Первичном Разделе?
— В операционных системах DOS и Windows каждый Первичный раздел может содержать лишь один логический диск — таковы стандарты. Другие операционные системы в принципе полностью свободны в распределении места отведенных им разделов и внутри них могут устанавливать какие угодно структуры организации данных, в том числе и делить их на подразделы. Обычно информация об этом приводится в документации к операционной системе. Например, в Первичном разделе, отведенном под FreeBSD,