![]() |
Процесс загрузки операционной системы и мультизагрузка
Приветствую!
Дано VMware® Workstation 10.0.2 build-1744117. Создал виртуальную машину, в устройства этой виртуальной машины добавил три HDD (IDE). PM-HDD1 (5Гб), PS-HDD2 (20ГБ) SS-HDD3 (25ГБ). На каждом из HDD только один раздел. Secondary Master это CD-ROM. 1.Начал установку ОС Win XP SP2 первой и установил Win XP на PM-HDD1. 2.Далее установил Win 7 Макс на PS-HDD2. 3.Далее установил Win 7 Макс на SS-HDD3. В итоге получил меню загрузки Код:
Предшествующая ОС PM-HDD1 то в меню загрузки получу вот такое соответствие Код:
Предшествующая ОС PM-HDD1 Если я правильно понимаю процесс загрузки происходит следующим образом, если я где-то не прав поправте пожалуйста. Получается так, PM-HDD1 в БИОСе указан как загрузочное устройство, после прохождения POST подпрограмма БИОСа загружает в оперативную память первый сектор PM-HDD1, передав управление загрузкой программе, находящейся в этом секторе. Далее эта программа, прочитав первый сектор активного раздела передает управление загрузкой этой программе. Эта программа передает управление программе BOOTMGR. А как далее BOOTMGR узнает, с какого HDD и какую ОС грузить, если я правильно понимаю на этом этапе BOOTMGR не знает ничего о логических дисках, а как раз в хранилище конфигурации загрузки (BCD) я вижу инфу связанную с логическими дисками. Как BOOTMGR находит именно тот HDD который нужно. P.S. Просто я пытаюсь изучить задачу загрузки нескольких ОС на одном компьютере и пока для себя в голове не могу четко все разложить по полочкам. Инфы конечно много по этому вопросу, но, на мой взгляд, она в разных источниках очень похожа, а ньюансов и деталей как раз маловато. После того как разберусь с этим вопросом хочу заняться EFI, ну только в общих чертах. Может кто подскажет литературу по этим вопросам. |
Редактирование меню загрузки операционных систем, или куда пропал boot.ini
Если не разберетесь, сделайте 2 файла, получение которых описано после слов Внимание - обязательно к исполнению! в шапке темы Вопросы загрузки Windows 7 (восстановление, создание двойной загрузки и т.д.). |
Ответа на свой вопрос так я и не нашел. Вот например кусочек из BCD в ОС Win7_default
Код:
Windows Boot Loader будет также написано osdevice partition=C: но это будет раздел уже на диске HDD2. Еще вопрос Цитата:
Прикладываю файлы. Скрин сделан в ОС Win7, которая грузится по умолчанию. ![]() Раздел С - установлена Win7 (была установлена последней, грузится по умолчанию, вторая в меню загрузки сверху). Раздел D - установлена WinXP (была установлена самой первой, данный раздел как раз является активным) Раздел E - установлена Win7 (была установлена второй, третья в меню загрузки сверху). |
Цитата:
|
Вложений: 3
Я думал что я его прикрепил к сообщению. Извиняюсь.
|
masyaka, загрузитесь в Windows 7, в командной строке с правами администратора выполните:
Код:
bcdedit /set {default} description "Win 7 SS-HDD2" Будут еще вопросы по теме - спрашивайте |
Ой голова моя...okshef прочитал ваше последнее сообщение и понял что я не совсем правильно изложил свой вопрос.
1. Начнем с меню загрузки На самом деле оно вот такое Код:
Предшествующая версия Windows 2. Далее я попробовал смоделировать такую ситуацию. Два HDD на которых установлены одинаковые ОС Win7 я меняю местами (то есть если делать такое на реальном оборудовании то я переключаю HDD2 в тот контроллер куда был подключен HDD3, а HDD3 в тот контроллер куда был подключен HDD2). Таким образом я проверял предположение что после переключения HDD по второму пункту меню загрузки сверху я загружу ОС установленную на HDD2, а не ОС установленную на HDD3, как это было до переключения. Я предположил что после того как я выбираю второй пункт меню загрузки, BOOTMGR определяет что нужно загрузить ОС с HDD3 который подключен ко второму контроллеру, и если я подключу другой HDD к этому контроллеру с такой же ОС, то по второму сверху пункту меню загрузки загрузится ОС уже с этого подключенного HDD. Предположение оказалось неверным потому что после переключения по второму пункту меню загрузки сверху все равно грузится ОС с HDD3. И задача моя заключается не в том чтобы сделать так что после переключения по умолчанию будет грузится ОС Win 7 установленная на HDD2, а не Win 7 установленная на HDD3. Я хотел понять (может быть в общих чертах) как BOOTMGR определяет с какого HDD загрузить ОС для соответствующего пункта меню загрузки, как BOOTMGR определяет что для второго сверху пункта меню загрузки нужно загрузить ОС Win7 которая находится на HDD3 и не важно куда подключен это HDD3 ко второму контроллеру или к первому, на основе какой информации BOOTMGR это определяет. okshef а можете еще прокомментировать вот этот вопрос Цитата:
|
masyaka, извините за задержку с ответом, думал, кто-то подхватит за это время... На самом деле информации о назначении этих двух параметров крайне мало, а точнее - вообще, практически, нет. Могу только предположить, что параметр device указывает на физическое устройство, на котором системе загрузки следует искать средства загрузки.
Например, в BCD в разделе BOOTMGR присутствует только параметр device, указывающий на расположение файла bootmgr и папки BOOT c файлом bcd, фактически являющимся разделом реестра, который подключается раньше всех. Также параметра osdevice нет в разделе NTLDR, который отвечает за загрузку Win XP или в разделах, отвечающих за загрузку среды восстановления. В каждом разделе, кроме bootmgr, есть параметр path, указывающий на конкретную папку с файлами загрузки. И только тогда, когда нужно загрузить ОС типа Vista - Win 8 разделах загрузки операционных систем появляется параметр osdevice. Видимо, его назначение - дать указание средствам загрузки на то, что на разделе или устройстве (типа VHD, например), указанном в параметре device, находится операционная система. Отсюда равенство этих параметров. Вот так я это себе представляю. По поводу смены жестких дисков. Неудивительно, что порядок загрузки не изменился. Удивительно, что вообще что-то загрузилось. |
Время: 09:56. |
Время: 09:56.
© OSzone.net 2001-