Причина всех бед Итак, непосредственно после нажатия кнопки Power BIOS проводит так называемую процедуру POST (самодиагностика при старте), которая при обнаружении аппаратной неисправности основных узлов должна пропищать специальные коды. После «поста» системный BIOS детектирует загрузочное устройство, им может быть дискета, CD-ROM, жесткий диск и USB-периферия. Обнаружив несколько жестких дисков установленных в системе, BIOS выбирает из них основной (это можно задать в CMOS Setup) и ищет на нем первый сектор, который находится на нулевой дорожке. В первом секторе хранится главная загрузочная запись MBR (Master Boot Record), которая при обнаружении считывается в ОЗУ. После того как BIOS считала MBR в ОЗУ, дальнейший ход загрузки компьютера выполняет микрокод, хранящийся в MBR. Считанная в ОЗУ MBR сканирует таблицу разделов (Partition Table) и находит в ней первичный активный раздел. Чаще всего таковым оказывается раздел, получающий в ОС семейства Windows буквенное имя С: (у Linux это hda0). Найдя этот раздел, MBR загружает в ОЗУ код загрузчика ОС, хранящийся в самом первом секторе первичного активного раздела. Еще этот сектор называют нулевым, поскольку отсчет секторов на HDD начинается с нуля, но по сути он первый.
В этом месте я немного отвлекусь и замечу, что в случае, если вы сделаете активным не первый раздел (обычно получающий в ОС имя С:, а второй, он в загруженной Windows все равно получит имя С:. Microsoft в своем репертуаре, в очередной раз сбила с толку пользователей, наделив разделы буквенными именами, вот в Linux все по-человечески. Если попытаться загрузить компьютер, на котором отсутствует таблица разделов и главная загрузочная запись, то вы получите ошибку BIOS - сообщение о том, что операционной системы нет (Operation System is Missing). В процессе инсталляции ОС в первый сектор первичного активного раздела (загрузочного) записывается так называемый загрузчик операционной системы, который выглядит как обычный файл с атрибутами «только для чтения» и «защищенный системный». В Windows 9х этот файл назывался bootsect.dos и также записывался в первый сектор активного раздела, в системах семейства NT он переименован в ntldr и у него гораздо больше возможностей, нежели у предшественника. Так, например, ntldr работает в паре с файлом boot.ini, что позволяет загружать операционные системы, указывая, где расположены системные файлы (это называется ARC-имена). В процессе загрузки ntldr считывает из файла boot.ini то, на каком контроллере, диске и разделе находятся такие файлы, как ntoskrnl. А если одновременно установить Windows 98 и Windows NT, в самом низу этого файла появляется запись вида «C:\=”Windows 98″», которая на этапе выбора загрузки ОС из списка передает управление файлу bootsect.dos.
Если вы установите Windows NT после установки Windows 9х, то инсталлятор сохранит копию загрузчика bootsect.dos на диске С: и запишет на его место ntldr, который, руководствуясь файлом boot.ini, уже знает о присутствии Windows 9х. В случае, если вы поступите наоборот, инсталлятор старушки Win 98 перезапишет ntldr своим bootsect.dos, который, конечно же, ничего не знает об NT-системе. С Vista дела обстоят примерно таким же образом: при инсталляции к уже установленной ОС Windows NT Vista «подберет» ее, а вот в обратном случае все будет куда хуже.
Понадобятся лишь два диска с дистрибутивами и, возможно, менеджер разделов (Partition Magic или Acronis Disk Director).
Легенда - имеется компьютер с установленной операционной системой Windows Vista, на него требуется установить Windows ХР (но это может быть и Win2k, и 2003 Server). Дабы усложнить задание и сделать ситуацию более реалистичной, представим, что Vista проинсталлирована на единственный раздел жесткого диска, как обычно бывает при покупке нового ПК.
Задача - создать еще один раздел и установить в него Windows ХР, но так, чтобы в процессе загрузки Windows Vista ее загрузочное меню отображало две установленные операционные системы.
Что к чему
Как создать два раздела из одного, на котором, собственно, и установлена операционная система, уже неоднократно писалось, но вкратце напомню. Нужно сначала укоротить раздел С: с конца, а затем на свободном пространстве создать раздел (основной или расширенный - решать вам, это в нашем случае несущественно). В этот раздел мы и будем устанавливать Windows ХР. Понятное дело, новая операционная система принесла с собой более сложную организацию загрузочных файлов. Устанавливаем на раздел D: Windows ХР и смотрим, что у нас получилось. Видно, что добавились некоторые файлы, но самое главное - в первый сектор загрузочного раздела был записан загрузчик ntldr, который ровным счетом ничего не знает о существовании Висты, поскольку берет все данные о загрузке из файла boot.ini.