Как посмотреть загрузку windows xp

Обновлено: 04.07.2024

Процесс загрузки компьютера казалось бы изучен нами до мелочей: кнопка - BIOS - операционная система - логин. А ты задумывался когда-нибудь о том что же на самом деле происходит в это время внутри твоего компьютера? Можешь по шагам рассказать как работает компьютер? Уверен, что нет. Поэтому сегодня проведем короткий ликбез - расскажем о том, как же на самом деле загружается компьютер.
Эта статья рассматривает работу Windows XP, в остальных системах процесс, естественно, несколько отличается.

Включается тумблер питания.
Блок питания проводит самодиагностику. Когда все электрические параметры в норме БП посылает сигнал Power Good процессору. Время между включением питания и уходом сигнала обычно 0.1-0.5 секунд.

Таймер микропроцессора получает сигнал Power Good.
С получением этого сигнала таймер перестает посылать сигнал Reset процессору, позволяя тому включиться.

CPU начинает выполнять код ROM BIOS.
Процессор загружает ROM BIOS начиная с адреса FFFF:0000. По этому адресу прописан только переход на адрес настоящего кода BIOS ROM.

Система выполняет начальный тест железа.
Каждая ошибка, встречающаяся на этом этапе сообщается определенными звуковыми кодами (в прошлом биканьем, сейчас уже вероятно более современно - голосом), так как видео система еще не инициализирована.

BIOS ищет адаптеры, которые могут потребовать загрузки своего BIOS-а.
Самым типичным случаем в этом случае является видео карта. Загрузочная процедура сканирует память с адреса C000:0000 по C780:0000 для поиска видео ROM. Таким образом загружаются системы всех адаптеров.

ROM BIOS проверяет выключение это или перезагрузка.
Процедура два байта по адресу 0000:0472. Любое значение отличное от 1234h является свидетельством "холодного" старта.

Если это включение ROM BIOS запускает полный POST (Power On Self Test). Если это перезагрузка, то из POST процедуры исключается проверка памяти.
Процедуру POST можно разделить на три компоненты:

Видео тест инициализирует видео адаптер, тестирует карту и видео память, показывает конфигурацию или возникшие ошибки.
Идентификация BIOS-а показывает версию прошивки, производителя и дату.
Тест памяти проверяет чипы памяти и подсчитывает размер установленной памяти.
Ошибки, которые могут возникнуть в ходе POST проверки можно разделить на смертельные и не очень :). Во втором случае они показываются на экране, но позволяют продолжить процесс загрузки. Ясно, что в первом случае процесс загрузки останавливается, что обычно сопровождается серией бип-кодов.

BIOS читает конфигурационную информацию из CMOS.
Небольшая область памяти (64 байт) питается от батарейки на материнской платы. Самое главное для загрузки в ней - порядок, в котором должны опрашиваться приводы, какой из них должен быть первым - дисковод, CD-ROM или винчестер.

Если первым является жесткий диск, BIOS проверяет самый первый сектор диска на наличие Master Boot Record (MBR). Для дисковода проверяется Boot Record в первом секторе.
Master Boot Record - первый сектор на цилиндре 0, 0 головке, 512 байт размером. Если она находится, то загружается в память по адресу 0000:7C00, потом проверяется на правильную сигнатуру - два последних байта должны быть 55AAh. Отсутствие MBR или этих проверочных байт останавливает процесс загрузки и выдает предупреждение. Сама MBR состоит из двух частей - системного загрузчика (partition loader или Boot loader), программы, которая получает управление при загрузке с этого жесткого диска; таблицы разделов (партиций), которая содержит информацию о логических дисках, имеющихся на жестком диске.

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

Дальше Boot Loader проверяет таблицу партиций в поисках активной. Загрузчик дальше ищет загрузочную запись (Boot Record) на самом первом секторе раздела.
В данном случае Boot Record это еще 512 байт - таблица с описанием раздела (количество байт в секторе, количество секторов в кластере и т.п.) и переход на первый файл операционной системы (IO.SYS в DOS).

Операционная система.

Управление передается операционной системы. Как же она работает, как проходит процесс загрузки?

Boot Record проверяется на правильность и если код признается правильным то код загрузочного сектора исполняется как программа.
Загрузка Windows XP контролируется файлом NTLDR, находящемся в корневой директории системного раздела. NTLDR работает в четыре приема:

Начальная фаза загрузки
Выбор системы
Определение железа
Выбор конфигурации

В начальной фазе NTLDR переключает процессор в защищенный режим. Затем загружает соответствующий драйвер файловой системы для работы с файлами любой файловой системы, поддерживаемой XP.
Если кто забыл, то наша любимая ОСь может работать с FAT-16, FAT-32 и NTFS.

Если в корневой директории есть BOOT.INI, то его содержание загружается в память. Если в нем есть записи более чем об одной операционной системе, NTLDR останавливает работу - показывает меню с выбором и ожидает ввода от пользователя определенный период времени.
Если такого файла нет, то NTLDR продолжает загрузку с первой партиции первого диска, обычно это C:\.

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

После выбора конфигурации NTLDR начинает загрузку ядра XP (NTOSKRNK.EXE).
В процессе загрузки ядра (но перед инициализацией) NTLDR остается главным в управлении компьютером. Экран очищается и внизу показывается анимация из белых прямоугольников. Кроме ядра загружается и Hardware Abstraction Layer (HAL.DLL), дабы ядро могло абстрагироваться от железа. Оба файла находятся в директории System32.

NTLDR загружает драйвера устройств, помеченные как загрузочные. Загрузив их NTLDR передает управление компьютером дальше.
Каждый драйвер имеет ключ в HKEY_LOCAL_MACHINE\SYSTEM\Services. Если значение Start равно SERVICE_BOOT_START, то устройство считается загрузочным. Для кажого такого устройства на экране печатается точка.

NTOSKRNL в процессе загрузки проходит через две фазы - так называемую фазу 0 и фазу 1. Первая фаза инициализирует лишь ту часть микроядра и исполнительные подсистемы, которая требуется для работы основных служб и продолжения загрузки. На этом этапе на экране показывается графический экран со статус баром.
XP дизейблит прерывания в процессе фазы 0 и включает их только перед фазой 1. Вызывается HAL для подготовки контроллера прерываний. Инициализируются Memory Manager, Object Manager, Security Reference Monitor и Process Manager. Фаза 1 начинается когда HAL подготавливает систему для обработки прерываний устройств. Если на компьютере установлено более одного процессор они инициализируются. Все исполнительные подсистемы реинициализируются в следующем порядке:

Object Manager
Executive
Microkernel
Security Reference Monitor
Memory Manager
Cache Manager
LPCS
I/O Manager
Process Manager

Инициализация Менеджера ввода/Вывода начинает процесс загрузки всех системных драйверов. С того момента где остановился NTLDR загружаются драйвера по приоритету.
Сбой в загрузке драйвера может заставить XP перезагрузиться и попытаться восстановить Last Known Good Configuration.

Последняя задача фазы 1 инициализации ядра - запуск Session Manager Subsystem (SMSS). Подсистема ответственна за создание пользовательского окружения, обеспечивающего интерфейс NT.
SMSS работает в пользовательском режиме, но в отличии от других приложений SMSS считается доверенной частью операционной системы и "родным" приложением (использует только исполнительные функции), что позволяет ей запустить графическую подсистему и login.

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

Если Вы имеете на компьютере 2 и более операционных систем, то наверняка у Вас на определенной стадии загрузки компьютера появляется список этих операционных систем, предлагающий их выбрать в течении, скажем, 30 секунд. Или же, бывает такое, что после установки очередной операционной системы, вторая вдруг исчезла из списка, а то и вовсе перестала загружаться. Еще частая проблема, когда Вы недоустановили (или удалили вовсе) систему, но она уже успела прописаться в загрузчик и висит там мертвой строчкой, или же.. Или что-то еще :-)

system

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

Немного подробнее о том, что можно, ну а потом уже как это сделать.
Поехали.

Редактирование списка загрузки Windows

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

  • Во-первых , как по мне, 30 секунд - для кого-то много, для кого-то мало. Как может быть много? Ну, например, Вы включаете компьютер и идете ставить чайник, а по возвращению видите, что система, если и выбралась, то всё еще грузится. Так вот можно поменять это самое время на, в общем-то, любое значение от 1 до n . Возможно есть предел сего значения, но я не проверял, да и сильно сомневаюсь, что кому-то надо, чтобы система грузилась через 30 минут :)
  • Во-вторых , как я уже говорил выше, возможно, Вы (или Ваши знакомые) ставили второй\третий\пятый Windows (или другую операционную систему), но прервали установку или что-то не получилось в ходе неё, или Вы вовсе удалили одну из систем с жесткого диска. Только вот запись то об этой самой недопоставленной\удаленной Windows осталась и всячески надоедает, т.к. приходится всё время выбирать рабочую систему из списка. Так вот можно избавиться от лишних строк.
  • В-третьих . Многие любят всякие забавные примочки. В данном случае, можно, например, переименовать системы в списке как угодно, например, вместо Microsoft Windows XP поставить Mega Winda Vasi .
  • В-четвертых , допустим, Вам друг принес жесткий диск со своим Windows , но Вы не знаете как добавить операционную систему в список доступных, чтобы её можно было выбрать. Опять же это можно сделать там, где я сейчас расскажу.
  • В-пятых , есть несколько бредовая идея по использованию нижеописанного способа редактирования списка доступных для загрузок систем. Можно создать список из скажем 25 систем, но грузится из них будет одна, остальные в силу своего несуществования будут выдавать ошибку. Какая по счету работает будете знать только Вы, т.к Вы этот список и создадите, а злоумышленнику, включившему Ваш компьютер, придется раз 20 перезагружать компьютер в поисках рабочей системы. Кстати использовать это можно не только в целях безопасности, но и просто как розыгрыш друга, или подруги ;)

..и прочее прочее прочее.

Редактирование и настройка списка загрузки ОС. Что к чему, как и зачем.

А сейчас, собственно, о том как это всё делать и где же редактируется сей список систем и его настройки в различных операционных системах Windows.

Для Windows XP картина выглядит следующим образом.
Открываем " Пуск -> Настройка -> Панель управления -> Система -> Дополнительно -> Загрузка и восстановление - Параметры ":

список загрузки операционных систем windows xp

Здесь мы можем настроить время отображения списка операционных систем, систему загружаемую по умолчанию, а так же настроить некоторые параметры отказа ОС. Если надо, то настраиваем здесь всё как нам удобно, после чего жмём в кнопочку " Правка ".

boot.ini файл windows xp редактирование загрузки

Перед нами открывается файл boot.ini (по умолчанию скрытый), хранящийся на загрузочном жестком диске. Рекомендую перед его исправлением сделать его резервную копию, т.е нажать " Файл -> Сохранить как " и сохранить где-нибудь в новосозданной папочке. После чего можно смело приступать к редактированию текущего файла.

Если у нас одна система, установленная на диске С:\ , то вот что мы, скорее всего, увидим в boot.ini нечто подобное:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional RU" /noexecute=optin /fastdetect

Где:
timeout - время отображения списка операционных систем
default - операционная система загружаемая по умолчанию
partition(1) - номер раздела физического (именно физического, а не логического, т.е одно устройство разделено на 2 , 3 и более частей) диска, где расположена система. Т.е например (1) - это диск C, (2) - это диск D:\ и тд.
rdisk(1) - номер не раздела, а самого физического диска. Т.е. (1) - это первый жесткий диск, (2) - это второй. Не буква диска, а именно жесткий диск.
Microsoft Windows XP Professional RU - название операционной системы. Изменяйте как хотите, хоть на Super Linux-Mac Pupkin . Система останется прежней.

Приведу пример:
Windows XP Eng расположен на диске C:\ , а Windows XP Rus на втором жестком диске ( slave , а не master ) на первом разделе. По умолчанию грузится Windows XP Eng . Время выбора 15 сек .

[boot loader]
timeout=15
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS txb">Windows XP Eng " /fastdetect
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS txb">Windows XP Rus " /fastdetect

Вы можете создавать\удалять записи о системах в файле, всячески редактировать список и тд и тп, как угодно по своему усмотрению. В случае ошибки система может не загрузится, но в этом случае файл нужно будет просто заменить на сохраненный ранее (сделать это можно, например, с помощью WindowsPE , который грузится напрямую с CD/DVD -диска или используя консоль восстановления).

Вообще я рекомендую продублировать все записи после [operating systems] и работать с ними, а не с первоначальными. А уж когда добьетесь результата - первоначальные можно удалить, а отредактированные оставить.

Отредактировав список его надо сохранить там, где он и был, а именно " Файл -> Сохранить как - > boot.ini" - > диск C:\ и нажать на кнопку " Сохранить ". На предложение заменить - соглашаемся.

Для "Windows Vista/7/8" картина правки загрузочного списка выглядит примерно следующим образом.
В общем и целом, для базовой правки можно воспользоваться программой MultiBoot , но она скорее предназначена для восстановление загрузчиков, нежели для полноценного редактирования (хотя её можно использовать и так при некоторой сноровке).

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

Подробней о MultiBoot можно почитать в моей статье "Как вернуть загрузку Windows 7/Vista после установки XP [восстановление загрузчика, MultiBoot]", а мы прибегнем пока к работе со списком загрузки при помощи средств системы:

  • Для начала создайте в корне любого диска папку с именем BCDREZ .
  • Затем нажмите " Win+R " на клавиатуре, либо пройдите по пути " Пуск-Выполнить ".
  • В появившемся окне введите cmd и нажмите " ОК ".
  • Откроется консоль. В ней вводим команду " dcedit C:\BCDREZ\bcd ", где С:\ - диск, где Вы создали папку BCDREZ
  • Далее вводим команду " bcdedit " на что нам должно выдать большой такой список:
  • С которым мы и будем работать. Тут есть две колонки Здесь нас интересует следующее:
    • идентификатор – ну собственно, идентификатор, той или иной, записи и есть;
    • device – раздел диска, где лежат файлы загрузки;
    • osdevice – раздел, где лежат файлы операционной системы, указанный в виде буквы;
    • path – определяет путь к загрузчику операционной системы, т.е остаток пути после device ;
    • default – показывает идентификатор операционной системы, что загружается по умолчанию;
    • displayorder – показывает порядок, в котором расположены записи о загружаемых системах;
    • timeout – время в секундах до выбора загружаемой по умолчанию ОС;
    • locale – язык;
    • description – название системы в загрузочном меню.

    bcdedit

    • bcdedit /default
      Задает систему, загружаемую по умолчанию, где < current >- это идентификатор в списке, что вы получили выше. Например это может быть или еще какое-либо значение (здесь и далее по тексту предполагает, что Вы можете увидеть в полученном у Вас списке выше различные значения идентификатора для различных систем, если у Вас их несколько).
    • bcdedit /timeout 99
      Задает значение таймаута, где 99 - время в секундах. Что есть таймаут смотрите выше по тексту.
    • bcdedit /displayorder /remove
      Убирает загрузку определенной системы из меню, т.е удаляет строку с ней. Тут может быть , или что еще угодно
    • bcdedit /set locale ln-Ln
      Задает язык. В данном примере английский.
    • bcdedit /set description "Windows Vasya Pupkin"
      Изменяет название строки в меню загрузки операционной системы, где указанное в кавычках и есть новое название.
    • bcdedit /set osdevice partition=D:
      Меняет букву раздела, где лежат файлы операционной системы, где D: - буква диска. Обычно почти всегда требуется так же указать команду bcdedit /set device partition=D: , дабы поменять еще и раздел, где лежат файлы загрузки.
    • bcdedit /delete
      Удаление записи.

    Ну что ж, давайте к послесловию.

    Послесловие.

    Вот такие дела. Колдуйте, но колдуйте осторожно.

    Если есть какие-то вопросы, мысли, дополнения и прочее прочее, то пишите в комментариях или с помощью формы обратной связи, а так же на нашем форуме.

    Белов Андрей (Sonikelf) Заметки Сис.Админа [Sonikelf's Project's] Космодамианская наб., 32-34 Россия, Москва (916) 174-8226

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

    Принципы загрузки операционных систем

    При включении компьютера управление процессором получает BIOS, и если он настроен на загрузку (boot) с винчестера, то он подгружает в оперативную память компьютера первый сектор диска (MBR) и передает управление ему. Если у вас несколько жестких дисков, то каждый из них содержит свою MBR. В этом случае можно или менять порядок загрузки дисков в BIOS, или же прописать все операционные системы с разных дисков в один PBR загрузчик, об этом ниже.

    Сразу оговоримся, что если у BIOS у вас включен режим загрузки UEFI, то структура разделов диска у вас должна быть не MBR, а GPT. GPT имеет не только другую структуру разделов, но и другую структуру загрузочной области. Там в первый сектор записывается «заглушка» для BIOS (Protective MBR), которая служит для того, чтобы старый Legacy BIOS мог загрузиться с GPT диска в режиме совместимости, если ОС была установлена на GPT (часто в BIOS его называют CSM – Compatibility Support Module). Однако, вы никогда не сможете загрузить ОС с MBR диска, если в BIOS выставлена загрузка в режиме UEFI.

    Общая структура MBR может быть представлена следующей таблицей:

    Смещение Длина Описание

    000h 446 Код загрузчика

    1BEh 64 Таблица разделов

    1CEh 16 Раздел 2

    1DEh 16 Раздел 3

    1EEh 16 Раздел 4

    1FEh 2 Сигнатура (55h AAh)

    Длина указана в байтах.

    Шестнадцатеричный однобайтовый код далее указывает на тип (ID) раздела. Например, 07h – раздел типа NTFS, 0Bh – FAT32, 17h – скрытый NTFS раздел, 27h – системный скрытый NTFS раздел для восстановления системы.

    Типы MBR

    Существуют следующие распространенные типы MBR:

    • Windows NT версий 5.х и 6.x, занимает 1 сектор. Может загружать ОС только с первичного активного раздела.
    • GRUB4DOS версий 5.х и 6.x – занимает 16 секторов. Представляет собой файл gbldr.mbr. также его можно установить в качестве PBR прямо в раздел.
    • GRUB 2.0 – универсальный загрузочный менеджер, занимает 63 сектора. Состоит из файлов boot.img и core.img. Может работать с любыми файловыми системами и загружать ОС как с первичных, так и логических разделов.
    • PLoP – занимает 62 сектора и имеет продвинутый интерфейс. Позволяет организовать загрузку с CD/Floppy/USB без поддержки и обращения к BIOS.
    • UltraISO USB-HDD – занимает 1 сектор и позволяет выполнять загрузку с внешних USB HDD дисков.

    Конечно, с учетом многообразия ОС, существует масса других MBR, но они не так популярны.

    Операционные системы дружат только с определёнными типа загрузчиков, однако это не значит, что их нельзя модифицировать для поддержки других ОС. Так, в Windows MBR можно добавить информацию о Linux разделе, но этого недостаточно, чтобы Linux стал грузиться. Для этого также потребуется редактировать и PBR. Однако линуксовый LDLINUX.SYS требует наличия своего микрокода в MBR, чтобы обращаться к нему в процессе загрузки, то есть если у вас загрузочная запись Windows NT MBR, а загрузчик GRUB, то такая схема работать не будет. Виндовсовые загрузчики могут обойтись без наличия соответствующего микрокода в MBR, поэтому они могут грузиться и через GRUB MBR.

    Главное, что вам нужно понять, что MBR содержит микрокод, инструкции для процессора, а не файлы. PBR же указывает на загрузчик, который является файлом.

    Разнообразие PBR

    Мы с вами выяснили, что MBR передает управление на активный раздел с PBR. PBR (Partition Boot Record), так же называют volume boot record (VBR) – это микрокод в начальном секторе раздела диска (часто это сектор 63), который содержит информацию, какой же загрузчик искать.

    Существуют следующие загрузчики:

    • io.sys для MS-DOS, Windows 95/98/МЕ
    • ntldr для Windows 2000/XP/2003
    • bootmgr для Windows Vista/7/8/8.1/10

    Как я сказал выше, загрузчик является не загрузочной областью, а бинарным файлом.

    • Файлы Windows NTLDR или BOOTMGR должны лежать в корне активного системного раздела и работают они по-разному. Об этом ниже.
    • Файл GRLDR используется Grub4DOS также должен лежать в корне партиции, с котрой выполняется загрузка
    • Syslinux – универсальный загрузчик, содержащий много модулей и поддерживающий загрузку с файловых систем ext2/3/4, FAT, NTFS, CD/DVD дисков, по сети через PXE. Позволяет организовать текстовое или графическое загрузочное меню.
      Чаще всего этот загрузчик используют для запуска Linux с файловых систем FAT/NTFS или же создания мультизагрузочных USB флэшек, позволяющих загружать как Linux-совместимые приложения под DOS, так и Windows PE.

    Например, типичные пример создания мультизагрузочной флэшки – Multiboot USB 2k10, создаваемые уважаемыми conty9 & korsak7. Мультизагрузочный диск системного администратора с возможностью загрузки c CD/DVD, флешки, USB-HDD и обычного HDD и состоящий из нескольких Windows PE-сборок, а также DOS версий продуктов компании Acronis – например Acronis True Image (выполнены на Linux-ядре). Именно из-за этого смешанного зоопарка систем и приходится использовать загрузчик Syslinux (хотя можно и Grub4DOS).

    В своем арсенале вам необходимо обязательно иметь утилиту BootICE. Уникальная в своём роде утилита для изменения или бэкапа/восстановления MBR (Master Boot Record) или PBR (Partition Boot Record). С BOOTICE, вы можете легко изменять тип MBR/PBR. Поддерживается загрузочные записи: Grub4DOS, SysLinux, PLoP, MS NT52/60… Например, с помощью этой утилиты, вы можете установить Grub4DOS вашим MBR или PBR, установить NTLDR или BOOTMGR к вашему PBR, установить SYSLINUX на PBR, и так далее.


    Редактирование и установка MBR

    Редактирование и установка загрузчика

    Помимо работы с MBR и PBR, BootICE позволяет редактировать разделы диска, выполнять ручное разбиение и форматирование, модифицировать тип раздела, сохранять и восстанавливать из бэкапа таблицу разделов.

    Работа с таблицей разделов в BootICE

    Кратко о загрузчике Syslinux

    Обратите внимание, что загрузчик Syslinux сам по себе не может быть установлен в MBR, однако в пакете syslinux имеются два файла, из которых можно установить загрузочный код Syslinux в 440-байтную область загрузочного кода MBR: mbr . bin или gptmbr . bin . Конечно, это имеет смысл только для Linux.

    Кстати, syslinux может быть использовать с UEFI – для него загрузчик называется syslinux . efi , однако он еще достаточно сырой.

    Итак, Syslinux состоит из файла загрузчика и файла конфигурации меню syslinux.cfg. Файл меню может вызывать графическое меню через подгрузку файла vesamenu.c32.

    Через BootICE вы также можете установить загрузчик Syslinux, указав в опциях альернативное местоположение файлов ldlinux.sys и и файла меню syslinux.cfg.

    Загрузчики Windows

    Конечно, основное внимание мы уделим загрузчикам для Windows.

    Для Windows 7 он запускает файл \WINDOWS\system32\winload.exe

    Загрузка WINDOWS\system32\winload.exe

    Диспетчер загрузки bootmgr позволяет выполнить загрузку как с обычного системного диска, так и из загрузочных образов, виртуальных дисков, загрузку с использованием загрузчиков других операционных систем. Это позволяет использовать bootmgr для загрузки Windows PE. В соответствии с конфигурацией загрузки, диспетчер BOOTMGR может выполнить загрузку ядра Windows или, например, Linux, обеспечить выход из режима гибернации, загрузить диагностические программы, выполнить загрузку ядра с измененными параметрами и т.п.

    Обычно именно конфигурация BCD становится наибольшим камнем преткновения.

    Конфигурирование BOOTMGR и BCD

    Для работы с загрузчиком Windows вам понадобятся системные утилиты:

    Команда BCDEDIT применяется в операционных системах Windows Vista и старше для редактирования BCD. Подробную инструкцию по использованию этой утилиты можно найти здесь.

    Однако, я вам крайне рекомендую использовать очень удобную программу EasyBCD для редактирования BCD. Например, с помощью нее вы легко можете добавить Linux раздел в меню загрузки. Вот статья о том, как добавить в BCD конфигурацию Windows 7 пункт загрузки Linux Ubuntu.

    При запуске EasyBCD в окне View Settings можно посмотреть текущую конфигурацию BCD. На скриншоте видно, что в текущий момент на диске установлена одна Windows 7, GUID которой и вручную добавленный пункт меню для запуска установки Windows из WIM файла:

    А вот BCD меню загрузочной флэшки, на которой присутствуют инсталляторы Windows 7 x86 и x64, а также две среды MSDaRT x86 + x64:

    Запуск среды восстановления Windows RE с загрузочной флэшки

    Команда bootsect /nt60 E: /mbr /force – создает на диске E: (например, флэшке) записи MBR и PBR и устанавливает загрузчик bootmgr.

    Команда Bootrec /FixMbr – записывает основную загрузочную запись (MBR) системного раздела, совместимую с Windows. При этом существующая таблица разделов не перезаписывается.

    Bootrec /FixBoot – записывает в системный раздел новый загрузочный сектор, совместимый с Windows.

    bootrec /RebuildBCD – перестроить хранилище конфигурации загрузки на данном компьютере. Удобно использовать для изменения конфигурации BCD при добавлении нового диска с установленной Windows, или для внесения изменений в существующую конфигурацию загрузки новых или ранее не использовавшихся ОС.

    Загрузчик GRUB4DOS

    Загрузчик состоит из следующих файлов:

    Файл grldr.mbr нужен для установки GRUB в качестве MBR. Итак, GRUB можно установить руками под Windows или же воспользоваться различными утилитами.

    Установка GRUB загрузчика под Windows

    Представим, что у вас уже есть Windows с загрузчиком bootmgr. Вам необходимо будет добавить в BCD записи о новом загрузчике, чтобы не лишаться существующего. Порядок действий:

    Вот и все, не так и сложно.

    Сложнее отредактировать меню menu.lst. Вот список основных команд консоли GRUB (их можно исполнять как вручную из командной строки, так и из файла меню):

    Приведу примеру рабочих кусков кода из файла меню:

    title Установка Windows XP with SP3 x86 RUS. root (hd0,0) map --mem /WINSETUP/XPpSP3.ISO (0xff) map (hd0) (hd1) map (hd1) (hd0) map --hook root (0xff) chainloader /I386/SETUPLDR.BIN

    title Установка Windows 7 with SP1 x86-x64 + MSDaRT 7.0 RUS. find --set-root /bootmgr chainloader /bootmgr boot

    title Загрузка WinPe RusLive Special Edition 2k10 RUS. find --set-root --ignore-floppies /2K10/WINPE/RLPE.BIN chainloader /2K10/WINPE/RLPE.BIN title Acronis DD 11 and True Image Home 2012 RUS. map /PROG/ATIH2012PP_6151_ADDH11_2343_ru-RU.iso (0xFF) || map --mem /PROG/ATIH2012PP_6151_ADDH11_2343_ru-RU.iso (0xFF) map --hook chainloader (0xFF)

    title Hiren's BootCD v.15.1 RUS. find --set-root /PROG/hiren.ima map /PROG/hiren.ima (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) map --floppies=1 boot

    title Victoria v.3.52 RUS. find --set-root /PROG/vcr352r.iso map --mem /PROG/vcr352r.iso (0xff) map --hook root (0xff) chainloader (0xff) boot

    title Alkid Live CD root (hd0,0) chainloader (hd0,0)/minint/setuplns.bin

    Также, для любителей конфигурировать загрузчик из-под Windows, существует утилитка WinGRUB, которая устанавливает GRUB без форматирования флэшки.

    Если все-таки вам не хватило нервов и сил разобраться в написании меню, то есть программки, которые сделают меню загрузки и установят загрузчик за вас, вам нужно только выбрать ISO файлы дистрибутивов, которые надо добавить:

    Выводы

    Итак, чтобы была возможность загрузить ОС, необходимо, чтобы был установлен корректный загрузчик MBR, который заканчивается валидной сигнатурой, должна быть таблица разделов, и хотя бы один раздел должен быть помечен как активный. А в самом разделе, куда MBR передаст управление, должна быть валидная загрузочная запись, которая укажет, какой системный файл необходимо загрузить в память для начала загрузки самой ОС. Кроме того, должно быть загрузочное меню, которое укажет на местоположение загрузочных файлов ОС.


    [Посещений: 14 375, из них сегодня: 11]

    В данной статье я поэтапно опишу процесс загрузки операционных систем Windows XP, Vista и Seven. Хотя этот вопрос рассматривается в сети достаточно часто, не затронуть его я не могу. Подобная информация бывает очень полезна при диагностировании неисправности и восстановления работоспособности “умершей” ОСи.

    Сегодня мы рассмотрим:

    • Старт BIOS;
    • Загрузку Windows XP;
    • Загрузку Windows Vista/7.

    Загрузка BIOS

    BIOS – это набор микропрограмм, записанных в ПЗУ компьютера и служащих для инициализации устройств на материнской плате, их проверки и настройки, загрузки операционной системы.

    При включении компьютера BIOS проверяет “железо” и если есть проблемы, то информирует нас звуковыми сигналами (набор длинных и коротких гудков). Вот таблица звуковых сигналов BIOS:

    СигналВозможная неисправность
    Отсутствует Неисправен блок питания
    Ошибка четности ОЗУ
    Ошибка в первых 64 кБ ОЗУ
    Неисправность системного таймера
    Неисправен CPU
    Неисправен контроллер клавиатуры
    Неисправна системная плата
    Неисправна память видеокарты
    Ошибка контрольной суммы BIOS
    10к Невозможна запись в CMOS
    11к Неисправен кэш на системной плате
    1д+2к Неисправна видеокарта
    1д+3к Неисправна видеокарта
    1д+8к Не подключен монитор

    СигналВозможная неисправность
    Обычно – проблемы в CMOS Setup или с системной платой (мелкие ошибки)
    Ошибка контроллера клавиатуры
    1д+1к Ошибки в ОЗУ
    1д+2к Неисправна видеокарта
    1д+3к Ошибка инициализации клавиатуры
    1д+9к Ошибка при чтении из ПЗУ
    к, повторяющийся Неисправен блок питания
    д, повторяющийся Проблемы с ОЗУ
    непрерывный Неисправен блок питания

    Таблицы взяты из Википедии.

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

    После проверки BIOS считывает настройки из CMOS и в соответствии с мини стартует загрузчик с указанного носителя (CD, HDD, Flash карта). Если загрузка производится с жёсткого диска, то система считывает первые 512 байт Master Boot Record (MBR) и передаёт ему управление.

    Если MBR не найден, то загрузка останавливается. Восстановить MBR можно с помощью консоли восстановления Windows (Recovery Console) командой fixmbr.

    Процесс загрузки Windows XP

    Перед загрузкой ядра, NTLDR выводит на экран опции запуска (Если была нажата клавиша F8, или работа системы была завершена аварийно). После выбора параметров запуска, стартует ядро системы – ntoskrnl.exe (мы видим анимацию из белых прямоугольников на чёрном экране). Далее загружается тип абстрактного уровня аппаратного обеспечения – HALL.DLL. Это нужно, чтобы ядро могло абстрагироваться от железа, оба файла находятся в директории System32. Далее загружается библиотека расширения ядра отладчика аппаратного обеспечения kdcom.dll и bootvid.dll, который загружает логотип Windows и индикатор статуса загрузки).

    Одним из самых ответственных моментов является загрузка системного реестра config\system, очень часто система не может прочитать файл system и загрузка становится невозможна или начинается циклическая перезагрузка.

    Читайте также: