(Начало в №31/2006)
Часть 2. Системные и загрузочные
разделы
В первой части статьи были описаны особенности механизма назначения букв локальным дискам в ОС Windows NT/2000/XP и предложены способы изменения буквы логического раздела, дисковода или виртуального CD, созданного такими программами, как Virtual CD и Alcohol. Следует пояснить, что в обозначенных выше операционных системах буквы локальных дисков, назначенные при установке, не изменяются при добавлении новых устройств (дисководов, винчестеров, flash-карт и др.), а также в результате удаления, перемещения и создания разделов. Однако такие действия, как скрытие, разбиение и слияние разделов, могут повлечь за собой переназначение букв дисков. Это также может случиться в результате существенных изменений конфигурации ПК. В зависимости от ситуации у пользователя есть две основные причины для недовольства: хаотическое или неудобное расположение устройств в файловом менеджере либо невозможность открыть файл, программу или запустить операционную систему, что вызвано изменением буквы раздела, произошедшим не по воле пользователя. Во второй части статьи будут рассмотрены обстоятельства, при которых ручное переназначение буквы активного и первичного раздела влияет и не влияет на работоспособность системы.
Перед тем, как приступить к описанию типичных ситуаций, в которых буква первичного или активного раздела может быть успешно изменена, необходимо вспомнить, как происходит загрузка операционной системы, чтобы иметь представление о том, какие действия могут привести к ее краху, а какие нет. В данном случае рассматривается стандартный способ запуска ОС без использования специальных менеджеров загрузки, например, Acronis OS Selector, BootWizard, LILO, ASP Loader и др.
Итак, в базовой системе ввода-вывода (Basic Input-Output System, BIOS) персонального компьютера в меню, который обычно называется Boot Sequence (очередность загрузки), можно указать последовательность загрузки с информационных носителей. Современные компьютеры могут загружаться с жесткого диска (Hard Disk Drive, HDD), дискеты (Floppy Disk Drive, FDD), CD-ROM, flash-модуля, локальной сети (Local Area Network, LAN), накопителей SCSI (винчестеры, стримеры, магнитные ленты и др.) и других устройств. В данной статье интерес представляет запуск операционной системы с винчестера. Если в ПК инсталлировано несколько жестких дисков, то необходимо определить, с какого винчестера будет осуществляться загрузка ОС. После проверки оборудования BIOS передаст управление тому устройству, у которого больший приоритет. В нашем случае это жесткий диск, поэтому управление передается его нулевому сектору, который называется главной загрузочной записью (Master Boot Record, MBR). Если компьютер располагает несколькими винчестерами, то в память загружается MBR первого накопителя. Программный код, записанный в MBR, просматривает таблицу разделов первого жесткого диска, которая также находится в MBR, и передает управление загрузочному сектору активного раздела. Затем программа, записанная в загрузочном секторе, запускает загрузчик (файл ntldr), который расположен в корневой директории активного раздела. Загрузчик читает информацию об установленных операционных системах из файла Boot.ini и передает управление загрузочному сектору выбранной ОС, который загружает в память все необходимые файлы для запуска Windows.
Теперь попробуем поразмыслить. Допустим, на одном ПК установлены две операционные системы - Windows XP на активном разделе и Windows 2000 на первичном разделе, который соседствует с активным. Буква диска - это всего лишь удачный способ уйти от низкоуровневого обращения к содержимому винчестера в дружественном интерфейсе Windows. Конкретная буква локального диска действует только в данной операционной системе, поэтому нет ничего удивительного в том, что в наших операционных системах одним и тем же разделам жесткого диска могут быть присвоены разные буквы. Например, в Windows XP активный раздел может иметь букву С:, первичный - D:, а в Windows 2000 активный - F:, первичный - E:. Важно понимать, что порядок следования букв локальных дисков в проводнике может не соответствовать физическому расположению разделов на винчестере. Если вы когда-нибудь открывали файл Boot.ini, то вы могли заметить, что там раздел указывается не при помощи буквы, а посредством его порядкового номера, начиная с MBR. Применительно к нашему случаю, в строке с Windows XP всегда будет записано multi(0)disk(0)rdisk(0)partition(1), а в строке с Windows 2000 - всегда multi(0)disk(0)rdisk(0)partition(2). Теперь можно предположить, что изменение буквы первичного раздела с D: на любую свободную в среде Windows XP не приведет ни к каким проблемам, равно как и изменение буквы активного раздела с F: на любую незанятую в среде Windows 2000. И это действительно так, потому что при изменении буквы раздела, например, с C: на E:, первый раздел остается первым, а не смещается на третью позицию, что никоим образом не отразится на файле Boot.ini, а значит, загрузчик сможет найти необходимый раздел и запустить ОС. Забавно, знаете ли, в запущенном Windows 2000 наблюдать, как подключенному к USB flash-модулю назначается буква С:. Кажется, нонсенс, такого не может быть! Но нет. Вы сами можете в этом убедиться, хотя бы проследовав по цепочке моих рассуждений.
Оснастка "Управление дисками" не позволяет назначать другие буквы первичным и активным разделам, поэтому при необходимости вы можете воспользоваться только двумя способами:
- Изменить букву диска при помощи менеджера разделов, например, PowerQuest PartitionMagic 8 или Acronis Disk Director (PartitionExpert);
- Открыть редактор системного реестра и перейти к ветви HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices, выбрать параметр "\DosDevices\<старая буква>:" и переименовать его в "\DosDevices\<новая буква>:".
Но что если имеется только одна ОС? Типичная ситуация: во время установки Windows XP буквы С: и D: были назначены дисководам, E: - логическому тому, F: - активному системному разделу с XPюшей. Как-то непривычно и неудобно, не правда ли? Можно ли в этом случае поменять C: и F: местами? К сожалению, нет. По крайней мере, в Windows XP и, по крайней мере, рассматриваемыми средствами. Если у вас один системный раздел и на нем установлена одна операционная система семейства Windows NT, то при изменении его буквы ОС не сможет загрузиться. В память будут загружены некоторые системные файлы, включая ntoskrnl.exe, ядро Windows XP (что видно по заставке), но как только дело дойдет до высокоуровневого обращения к файлам, загрузка остановится - на экране повиснет стандартная картинка загрузки Windows. Утилитой DriveMapper из пакета PowerQuest Partition Magic 8 не удастся обновить ссылки в файловой системе и системном реестре, т.к. она записывает свой скрипт в папку <буква>:\Windows, а после изменения буквы не может получить к нему доступ. На загрузочные дискеты DriveMapper не дублируется.
Из всего сказанного следует вывод: изменение буквы первичного и активного раздела не приводит к пагубным последствиям, если данная операция выполняется не для раздела, с которого запущена работающая в текущий момент операционная система. Я бы хотел попросить неопытных пользователей не экспериментировать с буквами системных разделов вообще или пока не будет опубликована третья статья цикла, в которой будут описаны методы выхода из различных ситуаций, возникших при неправильном назначении букв. Обращаю ваше внимание на то, что автор не несет ответственность за причинение какого-либо ущерба в результате некорректного изменения букв системных дисков.
Виталий
КРАСИЛЬНИКОВ,
[email protected]
Буква диска (disk
letter) - cоглашение об обозначении
разделов жестких дисков, гибких
дисков, компакт-дисков и других
устройств хранения данных на
IBM-совместимых компьютерах; диски
обозначаются буквой, начиная с A, за
которой следует двоеточие.
BIOS (базовая система ввода/вывода) - совокупность программно-аппаратных средств, выполняющих следующие функции: включение периферийных устройств, проверка работоспособности аппаратного обеспечения при включении питания (программа POST - Power-On Self Test), реализация простых задач ввода-вывода (Input/Ouput, I/O); программная часть BIOS размещается в постоянном запоминающем устройстве (ПЗУ, Read Only Memory, ROM); определяя общую производительность компьютера, программы BIOS, как правило, остаются недоступными для пользователей.
Активный или загрузочный раздел (Active Partition) - определенный тип первичного раздела жесткого диска, предназначенный для загрузки компьютера с процессором x86; представляет собой первичный раздел с флагом Active в таблице разделов MBR.
Комментарии