Вы когда-нибудь задумывались, что происходит, когда вы нажимаете кнопку питания? В этом посте мы увидим, как загружается Windows 10 и что происходит в фоновом режиме. Хотя все мы видим это как один процесс, все происходит пошагово. Он был разработан таким образом, что, если у вас возникнут какие-либо проблемы с загрузкой Windows 10, вы сможете устранить ее.
Как загружается Windows 10
Процесс загрузки Windows 10 в системах BIOS состоит из четырех основных этапов. Он начинается с POST и заканчивается загрузкой ОС Windows или ядра. Вот список этапов, через которые он проходит:
- Preboot
- Менеджер загрузки для Windows
- Загрузчик ОС Windows.
- Ядро ОС Windows NT.
Во время каждого процесса загружается программа. В зависимости от того, использует ли он Legacy BIOS или UEFI, пути к файлам и файлы меняются.
фаза | Процесс загрузки | BIOS | UEFI |
1 | Preboot | MBR/PBR (загрузочный код) | Прошивка UEFI |
2 | Диспетчер загрузки Windows | % SystemDrive% Bootmgr | EFI Microsoft Boot Bootmgfw.efi |
3 | Загрузчик ОС Windows | % SystemRoot% system32 winload.exe | % SystemRoot% system32 Winload.efi |
4 | Ядро ОС Windows NT | % SystemRoot% system32 ntoskrnl.exe |
1] PreBoot: POST или Power-On Self-Test загружает настройки прошивки. Он проверяет наличие действительной дисковой системы и пригодна ли система для перехода к следующему этапу. Если на компьютере установлена допустимая MBR, то есть основная загрузочная запись, процесс загрузки продвигается дальше и загружает диспетчер загрузки Windows. 2] Диспетчер загрузки Windows . Этот шаг определяет, установлено ли на вашем компьютере несколько ОС. Если да, то он предлагает меню с именами ОС. Когда вы выбираете ОС, она загружает нужную программу, то есть Winload.exe, чтобы загрузить вас в нужную ОС. 3] Загрузчик ОС Windows: Как и его имя, WinLoad.exe загружает важные драйверы для запуска ядра Windows. Ядро использует драйверы для связи с оборудованием и выполнения остальных действий, необходимых для продолжения процесса загрузки. 4] Ядро ОС Windows NT: . Это последний этап, на котором выбираются параметры реестра, дополнительные драйверы и т. д. После прочтения управление переходит к процессу администратора системы. Он загружает пользовательский интерфейс, остальное оборудование и программное обеспечение. Вот когда вы наконец-то видите экран входа в Windows 10. Когда вы запускаете Windows 10 на компьютере, который поддерживает Unified Extensible Firmware Interface (UEFI), Trusted Boot защищает ваш компьютер с момента его включения. Когда компьютер запускается, он сначала находит загрузчик операционной системы. Компьютеры без защищенной загрузки просто запускают любой загрузчик на жестком диске ПК. Когда компьютер, оснащенный UEFI, запускается, он сначала проверяет, что прошивка имеет цифровую подпись. Если включена безопасная загрузка, микропрограмма проверяет цифровую подпись загрузчика, чтобы убедиться, что она не повреждена. Вы можете прочитать больше о том, как защитить процесс загрузки Windows 10. Помните, что многое происходит даже после входа в систему, но это все сценарии процесса после загрузки. Обратите внимание, что процесс загрузки Windows 10 намного больше, чем мы объяснили здесь – мы только объяснили основы! |
Что означают слова «мой компьютер не запускается»?
Каждый сетевой администратор постоянно сталкивается с ситуацией, когда пользователи, жалующиеся на неполадки, произносят туманную фразу, которая может слегка испортить настроение: «Компьютер не запускается!» Обычно при этом пользователи сообщают, что нечто непредвиденное произошло в процессе загрузки — либо во время самотестирования компьютера (Power On Self Test, POST), либо во время процедур начальной загрузки Windows. Для диагностики и устранения подобных проблем администратор должен понимать, что происходит в процессе загрузки.
Термин «сбой в процессе загрузки» относится и к аппаратным проблемам, и к проблемам операционной системы. Во времена компьютеров с MS-DOS, POST занимал больше времени, чем загрузка операционной системы, и аппаратура была источником большинства проблем при начальной загрузке. За последние годы аппаратное обеспечение стало более надежным, а благодаря развитым функциям BIOS возможности мониторинга, диагностики и управления оборудованием стали значительно шире. Поэтому в ситуации сбоя во время загрузки пользователи, скорее всего, сталкиваются именно с проблемой операционной системы. Давайте последовательно изучим процесс начальной загрузки, наблюдая, что происходит на каждом этапе, и уясним смысл каждого появляющегося сообщения об ошибке. Для удобства будем предполагать, что используются Windows 2000 или более поздние версии.
Включение питания
Не жалуется ли пользователь, что ничего не происходит, когда он нажимает кнопку питания? Если да, то сначала проверьте кабель.
Вот старый администраторский трюк на случай, если проходится иметь дело с выключенным из розетки компьютером при разговоре с пользователем по телефону. Пользователи часто не проверяют, включен ли их компьютер в розетку, а когда вы указываете им на такую возможность, возмущаются. Пользователь может воскликнуть: «Конечно, он включен!», но следует проверить, правда ли это. Попросите пользователя вынуть вилку из розетки и вставить заново, ссылаясь на необходимость «проверить полярность». Постарайтесь не хихикать. Просто невероятно, как часто пользователи отвечают: «О, сработало!»
Если дело не в вилке, то, возможно, в источнике бесперебойного питания — тоже уязвимом аппаратном компоненте системе. Источники бесперебойного питания стоят недорого, но замена аккумуляторов в них — утомительная и трудоемкая задача.
Проверка оборудования и BIOS
Если пользователь видит сообщение об ошибке в процессе POST или если компьютер просто зависает, прежде чем запускается операционная система, значит, проблема в оборудовании или в BIOS. Система выводит на экран сообщения об ошибках оборудования и BIOS и подает характерные звуковые сигналы. Некоторые ошибки BIOS выводятся в виде чисел и некогда все производители BIOS использовали одни и те же числа (те, что придумали в IBM), но теперь все изменилось. Теперь, чтобы интерпретировать номер ошибки, администратору требуется документация, пришедшая вместе с компьютером. Также можно поискать ее на Web-сайте производителя BIOS. Однако, скорее всего, на экране появится текст, а не числа, например Hard drive controller failure («Ошибка контроллера жесткого диска») или забавное сообщение Keyboard error, press F1 to continue («Ошибка клавиатуры, нажмите F1 для продолжения»).
Возможно, появится сообщение об ошибке, относящейся к проблемам с памятью. Когда-то память имела дополнительный компонент, называвшийся «чип четности», и частью теста BIOS была проверка на четность. Компоненты памяти больше не содержат чип четности, поскольку теперь в этом нет необходимости: производители памяти так продвинулись по пути совершенствования своих продуктов, что ошибки памяти стали крайне редки. Тем не менее после добавления в компьютер памяти при последующей загрузке может появиться сообщение об ошибке памяти. Сообщение содержит примерно такой текст: Mismatched memory information («Несоответствие параметров памяти»). В действительности это сообщение является подтверждением того, что система видит установленную память, но обнаружила, что она не соответствует общему количеству, записанному в CMOS.
Чтобы решить эту проблему, можно попробовать перезагрузить компьютер и войти в режим настройки BIOS. По своему опыту знаю, что стоит только нажать клавиши, необходимые для вызова окна BIOS, как сразу же автоматически выполняется корректный подсчет памяти, и все, что остается сделать, это выйти из программы настройки BIOS. Вход в программу настройки BIOS вызывает проверку счетчика памяти и его регулировку относительно имеющейся физической памяти.
Если после добавления в компьютер памяти система выдала сообщение об ошибке, в котором не говорится о разночтении в подсчете объема памяти, значит, проблема оказалась серьезнее. Система не распознает новую память. Эта ситуация почти всегда вызвана неаккуратными действиями при установке памяти, такими как использование неверного слота. В то же время мне доводилось видеть, как проблема вызывалась установкой памяти неверного типа (например, установкой плат памяти DRAM в старый компьютер с Enhanced Data Output, EDO), когда материнская плата не была предназначена для установки памяти смешанного типа, SIMM и DIMM, или когда материнская плата не воспринимала смешивание плат памяти с разными скоростями. Некоторые материнские платы при добавлении памяти нуждаются в изменении положения двухпозиционных переключателей и перемычек, хотя такие требования становятся все менее распространенными. Чтобы избежать подобных проблем, всегда перед добавлением памяти проверяйте документацию материнской платы.
Если во время POST обнаруживается ошибка жесткого диска, значит, работа предстоит немалая. Вообще-то я обнаружила, что в половине случаев проблема оказывается в контроллере, а не в самом диске, и замена контроллера позволяет диску нормально выполнять загрузку с сохранением всех данных неповрежденными (все гениальное просто!). Если контроллер жесткого диска первоначальной комплектации выходит из строя, не нужно сразу бежать за новой материнской платой. Достаточно купить новый контроллер. Вместо поиска встроенной микросхемы прочитайте в документации к материнской плате, что необходимо сделать, чтобы BIOS видел новую плату.
Если проблема действительно в диске, задача не ограничивается только заменой контроллера. Помимо замены диска придется переустановить операционную систему и приложения, а также выполнить восстановление данных из резервной копии, которая, конечно, датирована вчерашним днем, не правда ли?
Управление передается записи Master Boot Record
Далее компьютер начинает загрузку операционной системы. Во время установки программа загрузки Windows помещает данные на первый сектор главного раздела компьютера (загрузочный сектор). Эти данные — не что иное, как Master Boot Record, MBR (главная загрузочная запись), которая содержит исполняемые команды. Программа установки также копирует два файла, инициирующие начальный этап загрузки Windows, — Ntldr и Ntdetect — в корневой каталог загрузочного диска. Кроме того, Windows Setup копирует boot.ini, файл, содержащий параметры загрузки, в корневой каталог загрузочного диска.
Кроме исполняемых команд, MBR содержит таблицу, определяющую расположение главных разделов диска. При установке Windows необязательно делать так, чтобы системный раздел и загрузочный раздел совпадали, хотя это распространенный подход. Загрузочные файлы Windows расположены в системном разделе, а файлы операционной системы — в загрузочном (логика именования отстала от жизни).
Системный раздел содержит файлы привязки к аппаратным компонентам, которые необходимы для загрузки Windows, включая MBR. Этот раздел должен быть главным разделом и отмечается как активный. Это всегда диск 0, поскольку именно к этому диску обращается BIOS, чтобы передать процесс загрузки файлу MBR. Загрузочный раздел содержит файлы операционной системы (папка %systemroot%) и файлы поддержки операционной системы (%systemroot%System).
На последнем шаге аппаратной части начальной загрузки компьютер считывает файл MBR в память и передает управление компьютером коду в MBR. Исполняемый код просматривает таблицу главного раздела и ищет отметку, указывающую на загружаемый раздел. Когда MBR находит первый загружаемый раздел, он считывает первый сектор раздела, который является загрузочным сектором.
Запуск Ntldr
Код загрузочного сектора считывает Ntldr в память, чтобы запустить процесс начальной загрузки операционной системы. В Ntldr хранится доступный только для чтения код NTFS и FAT. Он начинает работать в реальном режиме, и первая выполняемая им задача заключается в переключении системы в некоторую форму защищенного режима. Более подробно об этих режимах рассказано во врезке «Реальный режим против защищенного». Этот первоначальный вариант защищенного режима не может в полной мере выполнять аппаратно-зависимых преобразований, которые обеспечивают защиту оборудования, — данная функция становится доступной, когда операционная система загрузится полностью.
Теперь вся физическая память доступна операционной системе, и компьютер работает как 32-разрядная машина. Ntldr делает возможной постраничную загрузку и создает таблицы страниц. Затем Ntldr считывает boot.ini из корневого каталога и, если на машине многовариантная загрузка или если выполнена настройка boot.ini на отображение меню, на экране появляется меню выбора вариантов загрузки. Если Ntldr отсутствует или поврежден, система выдаст сообщение об ошибке Ntldr is missing. Press Ctrl-Alt-Del to restart.
Не стоит зря тратить время, выполняя предложенное действие: после очередного цикла система вернется к тому же сообщению. Необходимо заменить Ntldr. Если создан загрузочный флоппи-диск, можно использовать его для копирования Ntldr в корневой каталог основного загрузочного диска (обычно C). Если Ntldr отсутствует, следует просто скопировать его. Если файл имеется на жестком диске, возможно, он поврежден. Для того чтобы заменить его, сначала нужно изменить его атрибут «только для чтения». Если загрузочного флоппи-диска под рукой нет, придется запустить программу Setup с компакт-диска Windows и выбрать Repair.
Запуск Ntdetect
Ntldr запускает Ntdetect, который запрашивает BIOS системы о данных конфигурации устройств. Система отправляет информацию, которую Ntdetect собирает в реестр и помещает в подразделы HKEY_LOCAL_MACHINEHARDWARE
DESCRIPTION.
Если возникнет какая-нибудь проблема с Ntdetect (утрата или повреждение), возможно, система не выдаст никакого сообщения об ошибке. Обычно в таком случае процесс загрузки просто останавливается. Единственным действенным средством при утрате или повреждении файла Ntdetect является его замена. Необходимо воспользоваться для загрузки загрузочным флоппи-диском, затем скопировать Ntdetect с этого флоппи-диска в корневой каталог жесткого диска. Или же запустите Setup с компакт-диска Windows и выберите Repair.
Запуск Ntoskrnl и загрузка HAL
После того как Ntdetect закончит выполнение подпрограмм проверки оборудования, он передает процесс загрузки обратно файлу Ntldr, который запускает ntoskrnl.exe и загружает .dll-файл Hardware Abstraction Layer (HAL). (Оба файла расположены в папке %systemroot%system32.) Ntoskrnl — это главный файл ядра Windows и исполнительных подсистем. Он содержит Executive, Kernel, Cache Manager, Memory Manager, Scheduler, Security Reference Monitor и другие. Именно Ntoskrnl приводит в действие Windows. Для работы Ntoskrnl необходим файл hal.dll, который содержит код, позволяющий оборудованию взаимодействовать с операционной системой.
На экране может появиться сообщение об ошибке, говорящее о наличии проблемы с Ntoskrnl, но почти всегда это сообщение фиктивно и появляется потому, что ссылка на папку в boot.ini не совпадает с именем папки, в которую были установлены системные файлы Windows.
Как правило, это означает, что кто-то переименовал папку %systemroot% или создал новую папку и переместил в нее файлы Windows. В таком случае нужно переместить файлы обратно в то место, которое указано в boot.ini. Если boot.ini. был кем-то отредактирован, следует исправить эту ошибку.
Загрузка драйверов и служб
Теперь Ntldr загружает низкоуровневые системные службы и драйверы устройств, но службы не инициализируются — это происходит позже. На этом фаза начальной загрузки завершается и начинается процесс основной загрузки (load sequence или kernel phase).
При загрузке системных служб и драйверов устройств Ntldr следует определенному порядку. В процессе установки Windows драйверы и системные службы копируются на компьютер, а информация о них записывается в реестр. Данные в реестре представляют собой шестнадцатеричную запись, оканчивающуюся числом в круглых скобках. Это число и определяет порядок, в котором Ntldr загружает драйверы и системные службы. Для примера следует открыть реестр и перейти в раздел HKEY_LOCAL_MACHINESYSTEM
CurrentControlSetServices. На экране появится длинный список служб и драйверов устройств. Выберите любой подраздел и взгляните на данные типа REG_DWORD под именем Start.
- (0) означает, что служба загружается во время фазы основной загрузки.
- (1) означает, что служба загружается во время фазы инициализации (следующая фаза).
- (2) означает, что служба загружается во время фазы загрузки, предназначенной для служб.
- (3) означает, что служба включена, но не инициализируется (запуск службы осуществляется вручную через оснастку Services консоли Microsoft Management Console (MMC)).
- (4) означает, что служба отключена.
Загрузка операционной системы
Ntoskrnl начинает загрузку операционной системы. Инициализируется ядро Windows и загружаются и инициализируются подсистемы. Эти действия формируют базовые элементы, необходимые для завершения загрузки операционной системы. Загрузочные драйверы, которые модуль Ntldr загрузил ранее, теперь инициализируются, вслед за чем инициализируются оставшиеся драйверы и службы. Когда инициализируются драйверы первого уровня, может возникнуть проблема в виде ошибки STOP или Blue Screen of Death. Это почти всегда бывает в процессе первой загрузки после обновления какого-либо драйвера. Во время инициализации драйвера файлом Ntoskrnl операционная система отторгает его.
Для решения проблемы необходимо перезагрузить компьютер, нажать F8 для отображения меню дополнительных возможностей (Advanced Options) и выбрать вариант загрузки последней успешной конфигурации (Last Known Good Configuration), соответствующей предыдущей версии драйвера.
Теперь ядро Windows и исполняющие модули работоспособны. Программа Session Manager Subsystem (smss.exe) настраивает пользовательскую среду. Система выполняет сверку с реестром, для того чтобы иметь возможность начать загрузку оставшихся драйверов и программного обеспечения, которые необходимо добавить. Ядро операционной системы также загружает файлы kernel32.dll, gdi32.dll и user32.dll, которые обеспечивают программное обеспечение пользователя доступом к Win32 API.
Регистрация компьютера в домене
В то время когда загрузка ядра и инициализация драйверов еще не закончилась, компьютер регистрируется в домене. Используя учетную запись компьютера (уникальное имя с собственным паролем), компьютер открывает защищенный канал к контроллеру домена (DC). Все это происходит до того, как на экране появляется диалоговое окно для регистрации пользователя в системе.
Учетные записи компьютера используются между клиентскими компьютерами (включая автономные серверы) и контроллерами доменов. В пределах одного домена один и тот же процесс происходит с участием нескольких DC. Поэтому важен порядок, в котором включаются компьютеры после штатного отключения. Защищенный канал используется компьютерами для обмена информацией, необходимой для аутентификации и авторизации. Учетные записи компьютера повышают безопасность сети, гарантируя, что пытающийся отправить важную информацию компьютер действительно является членом домена.
В качестве дополнительной меры безопасности компьютеры (как и пользователи в сети с усиленной настройкой системы безопасности) должны периодически менять пароли. По умолчанию интервал смены пароля составляет 30 дней. Когда настает время менять пароль, компьютер генерирует новый пароль и отправляет его по защищенному каналу (доступ к которому он получил, используя предыдущий пароль) на ближайший DC. В дальнейшем для доступа к защищенному каналу компьютер должен использовать новый пароль.
DC немедленно обновляет свою базу данных и реплицирует изменение пароля компьютера на другие DC домена. Пароли учетных записей компьютера содержат отметку о событии первостепенной важности (Announce Immediately), поэтому они не дожидаются следующей репликации DC по расписанию. Иногда эти события могут вызывать заметное снижение производительности. Если у многих или у всех компьютеров домена срок действия паролей заканчивается в один и тот же день, работа, которую должны будут выполнить контроллеры домена, сразу же затормозит другие важные задачи DC, такие как аутентификация пользователей или выполнение запланированных репликаций. Ситуация может осложниться еще и в том случае, если DC предоставляет другие услуги, такие как, например, услуги сервера DNS. Можно изменить способ обслуживания паролей компьютера для домена, для организационной единицы (OU) и для индивидуального компьютера, хотя стремление повысить производительность путем настройки компьютеров по одному неэффективно. В следующей статье я планирую рассказать о методах изменения процедуры регистрации компьютера в домене.
Загрузка служб регистрации пользователя
Подсистема Win32 запускает winlogon.exe, которая выводит на экран диалоговое окно регистрации пользователя и загружает процесс Local Security Authority (lsass.exe). Начинается процесс регистрации, и пользователь должен ввести имя и пароль в диалоговом окне Windows Log On To. Если пользователь указывает правильные имя и пароль, система завершает процесс регистрации, и пользователь может начинать работать. В этот момент загрузка Windows окончена, а текущие параметры загрузки сохраняются в так называемой последней успешной конфигурации (Last Known Good Configuration). Нужно иметь в виду, что успешная регистрация пользователя необходима для сохранения Last Known Good Configuration.
Действительно, сбои во время загрузки мешают всем — и пользователям, и администраторам. Однако, если досконально разобраться в процессе загрузки, проблемы становятся менее устрашающими и администраторам удается без труда решить их.
Реальный режим против защищенного
Тем, кто работает с компьютерами со времен DOS, будет легко понять разницу между реальным и защищенным режимом. Но для тех, чье знакомство с компьютером состоялось после распространения Windows, она может быть не столь очевидной.
Если компьютер работает в реальном режиме, программы взаимодействуют непосредственно с его портами и устройствами. Например, когда происходит печать документа, программа отправляет поток данных прямо на порт принтера. Однако эта парадигма не подходит для многозадачной операционной системы. Представьте, что произойдет, если несколько программ станут одновременно отправлять потоки данных на порты компьютера. Порты недостаточно интеллектуальны и не имеют никакой возможности фильтровать или упорядочивать потоки данных в соответствии с отправляющими программами.
Если компьютер работает в защищенном режиме, порты и устройства системы защищены от приложений, которые их используют. Программа полагает, что отправляет данные на порт, но это виртуальный порт. Операционная система перехватывает поток данных и управляет им так, чтобы все приложения имели равный доступ к устройствам и чтобы данные каждого приложения не смешивались с данными других приложений.
Кэти Ивенс (kivens@win2000mag.com) — редактор Windows & .NET Magazine. Является соавтором более 40 книг по компьютерной тематике, включая «Windows 2000: The Complete Reference»
Какие файлы на загрузочном диске?
Загрузочный диск или загрузочный диск — это запоминающее устройство, с которого компьютер может «загружаться» или запускаться. Загрузочным диском по умолчанию обычно является внутренний жесткий диск компьютера или SSD. Этот диск содержит файлы, необходимые для последовательности загрузки, а также операционная система, который загружается в конце процесса запуска.
Папка автозагрузки Windows специальная папка на вашем компьютере потому что любые программы, которые вы поместите в него, будут автоматически запускаться при запуске вашего компьютера. Это позволяет автоматически запускать важное программное обеспечение, поэтому вам не нужно забывать запускать его самостоятельно.
Каков процесс загрузки Windows 10?
Понимание процесса загрузки Windows 10
- Этап 1 — предварительная загрузка. На этом этапе микропрограмма ПК отвечает за выполнение процедуры POST и загружает настройки микропрограммы. …
- Этап 2 — Диспетчер загрузки Windows. …
- Этап 3 — Загрузчик операционной системы Windows. …
- Этап 4 — Ядро ОС Windows NT.
Как система переходит из BIOS в Windows?
Основные обязанности основного BIOS во время POST следующие:
- проверьте регистры процессора.
- проверьте целостность самого кода BIOS.
- проверьте некоторые основные компоненты, такие как DMA, таймер, контроллер прерываний.
- инициализировать, размер и проверить основную память системы.
- инициализировать BIOS.
Как создать загрузочный USB-накопитель Windows 10?
Как загрузиться с USB Windows 10
- Измените последовательность BIOS на вашем ПК так, чтобы ваше устройство USB было первым. …
- Установите USB-устройство в любой USB-порт вашего ПК. …
- Перезагрузите компьютер. …
- Следите за появлением на дисплее сообщения «Нажмите любую клавишу для загрузки с внешнего устройства». …
- Ваш компьютер должен загрузиться с USB-накопителя.
Как исправить отсутствие загрузочного устройства?
Как исправить отсутствие загрузочного устройства в Windows 10/8/7?
- Метод 1. Снимите и снова подключите все аппаратные компоненты.
- Способ 2. Проверьте порядок загрузки.
- Способ 3. Сбросить основной раздел как активный.
- Метод 4. Проверьте состояние внутреннего жесткого диска.
- Способ 5. Исправить загрузочную информацию (BCD и MBR)
- Метод 6. Восстановить удаленный загрузочный раздел.
Жесткие диски загрузочные?
Если вы используете правильную версию Windows и сертифицированный внешний жесткий диск, вы можете сделать внешний жесткий диск загрузочным. (Этот процесс отформатирует внешний жесткий диск, заранее создайте резервную копию внешнего жесткого диска.)
Что происходит в первую очередь, когда компьютер включается или перезагружается?
Когда компьютер включается или перезагружается, он сначала выполняет самотестирование при включении, также известное как POST. Если POST прошел успешно и проблем не обнаружено, загрузчик загрузит операционную систему компьютера в память.
Могу ли я удалить C: boot?
Вы пытаетесь удалить загрузочную папку? Это часть Windows, не имеющая ничего общего с EasyBCD, за исключением, конечно, того, что, будучи домом для BCD, EasyBCD вносит запрашиваемые вами изменения. Вы не можете его удалить.
Как мне попасть в диспетчер загрузки Windows?
Все, что вам нужно сделать, это удерживайте клавишу Shift на клавиатуру и перезагрузите компьютер. Откройте меню «Пуск» и нажмите кнопку «Питание», чтобы открыть параметры питания. Теперь нажмите и удерживайте клавишу Shift и нажмите «Перезагрузить». Windows автоматически запустится с расширенными параметрами загрузки после небольшой задержки.
Где мои загрузочные файлы?
Ботинок. ini — это текстовый файл, содержащий параметры загрузки для компьютеров с микропрограммой BIOS, работающей под управлением операционной системы на базе NT до Windows Vista. Это расположено в корне системного раздела, обычно c: Boot.
Требуется ли для Windows 10 безопасная загрузка UEFI?
Нет, Windows 10 продолжит поддерживать устаревшую версию BIOS. Для новых устройств, которые запускаются через год после выпуска Windows 10, на заводе должны быть включены UEFI и безопасная загрузка. Это не влияет на существующие системы. TPM: необязательно, может быть TPM 1.2 или 2.0.
Выпускает ли Microsoft Windows 11?
Microsoft собирается выпустить Windows 11, последнюю версию своей самой продаваемой операционной системы, на Октябрь 5. Windows 11 включает несколько обновлений для повышения производительности в гибридной рабочей среде, новый магазин Microsoft и является «лучшей Windows для игр».
Использует ли Windows 10 безопасную загрузку?
Современные ПК поставляются с функцией под названием «Безопасно Boot »включен. Это функция платформы в UEFI, которая заменяет традиционный BIOS ПК. Если производитель ПК хочет разместить наклейку с логотипом «Windows 10» или «Windows 8» на своем ПК, Microsoft требует, чтобы он включил безопасную загрузку и следовал некоторым рекомендациям.
Вы тут: Главная → Windows → Этапы загрузки Windows под микроскопом Windows Performance Toolkit
Составить полное представление о загрузке Windows можно с помощью набора Windows Performance Toolkit. Утилиты командной строки xbootmgr и xperf позволяют создать подробный отчет о запуске системы и представить его в графическом и текстовом виде для всестороннего анализа загрузки.
Эта статья продолжает серию материалов о загрузке Windows. Вы уже знаете, как получить подробный отчет о загрузке и устранить основные системные проблемы, а также ускорить загрузку системы, не прилагая особых усилий. Вы также познакомились со способом диагностики загрузки с помощью журнала событий. Я уверен, что после изучения этих статей и применения полученных знаний на практике ваша система стала загружаться быстрее.
Однако эти простые способы не позволяют выявить скрытые факторы или проблемы, замедляющие загрузку Windows. Теперь настало время познакомиться поближе со всеми этапами загрузки Windows и провести их детальный анализ с помощью Windows Performance Toolkit (WPT).
[+] Сегодня в программе
Загрузка и установка WPT
С выходом каждой новой Windows обновляются средства для анализа производительности Windows, поэтому я рекомендую использовать Windows Performance Analyzer (WPA) из Windows ADK для диагностики загрузки всех поддерживаемых ОС Windows. Краткое руководство по работе с WPA включено в статью об изучении автозагрузки Windows. Изложенные далее сведения об этапах загрузки применимы ко всем поддерживаемым ОС Windows.
Посмотреть устаревшие инструкции по установке WPT для Windows 7
Подготовка к работе
Следуя трем простым правилам, вы застрахуете себя от возможных проблем, обеспечите правильную работу всех команд и точно измерите длительность загрузки.
- Прежде чем выполнить первую команду, создайте точку восстановления системы и убедитесь, что у вас есть под рукой установочный диск / флэшка или диск восстановления. Предупреждение вовсе не дежурное, ибо случаи неадекватного поведения WPT были отмечены у нас на форуме, да и сам я их видел.
- Включите автоматический вход в систему, чтобы задержка на ввод пароля не влияла на измерения.
- Убедитесь, что на разделе есть несколько гигабайт свободного пространства, поскольку при анализе могут создаваться файлы большого размера.
Все команды выполняйте в командной строке, запущенной от имени администратора. Там же можно добавить в меню пункт для ее запуска в нужной папке – пригодится.
Сбор данных
Все логи загрузки лучше хранить в одной папке, допустим, C:Trace. Откройте командную строку с полными правами и введите:
md c:Trace
Здесь и далее я буду использовать пути применительно к этой папке и стандартной установке WPT в 32-разрядной Windows 7. При необходимости изменяйте пути на свои.
Закройте все программы и сохраните все документы. Процесс сбора данных о загрузке системы запускается одной командой:
xbootmgr -trace boot -traceFlags BASE+CSWITCH+DRIVERS+POWER -resultPath C:Trace
Аналогичные команды можно использовать для диагностики
гибернации:
xbootmgr -trace hibernate -traceFlags BASE+CSWITCH+DRIVERS+POWER -resultPath C:Trace
сна:
xbootmgr -trace standby -traceFlags BASE+CSWITCH+DRIVERS+POWER -resultPath C:Trace
выключения:
xbootmgr -trace shutdown -noPrepReboot -traceFlags BASE+CSWITCH+DRIVERS+POWER -resultPath C:Trace
Примечание. Если при выполнении команд вы видите сообщение «xbootmgr не является внутренней или внешней командой», установка была неудачной. Вы найдете решение в этой теме форума.
Вернемся к загрузке, однако. Компьютер будет перезагружен. Если после входа в систему вы увидите запрос UAC от xbootmgr, разрешите утилите продолжить работу. Через две минуты вы увидите примерно такое окно.
Когда оно исчезнет, в папке C:Trace должно быть три файла, как показано на рисунке ниже.
Если вы вместо файла boot_BASE+CSWITCH+DRIVERS+POWER_1.etl видите там два других файла с расширением ETL, это может означать, что утилита еще работает, над их объединением в один – подождите несколько минут. При отсутствии изменений выполните в командной строке
xperf –stop
и перезагрузите систему. После чего попробуйте заново запустить сбор данных.
Примечание. Если в результате сбоя у вас продолжают записываться отчеты после каждой перезагрузки, выполните:
xbootmgr -remove
Анализируемые файлы и первый взгляд на этапы загрузки
Для анализа используются два файла: ETL и создаваемый из него XML.
ETL
Я думаю, что вы уже успели дважды щелкнуть файл boot_BASE+CSWITCH+DRIVERS+POWER_1.etl и полюбоваться красивыми графиками и диаграммами. В левой панели графики можно отображать и скрывать, а также переходить к ним двойным щелчком мыши.
В WPA из ADK для Windows 10 сводку этапов загрузки можно получить так. Из меню Profiles — Apply — Browse Catalog выберите FullBoot.Boot.wpaprofile. При этом автоматически открывается несколько вкладок с подборками сведений. Для отображения информации на отдельной вкладке из левой панели выберите Regions of interest — FullBoot. Получите такую диаграмму и таблицу.
В ADK для Windows 7 базовый график Boot Phases был доступен сразу
XML
Для удаленной диагностики по почте или в форуме можно создать текстовый отчет в виде XML-файла. Выполните команды:
cd c:trace xperf /tti -i boot_BASE+CSWITCH+DRIVERS+POWER_1.etl -o summary_boot.xml -a boot
Первая переходит в папку с логами, а вторая — создает требуемый XML-файл. Для его просмотра отлично подойдет Internet Explorer!
Увеличить рисунок
Сложите узлы, как показано на рисунке, чтобы лучше видеть общую картину. В узле timing указано время в миллисекундах, и там можно увидеть длительность двух больших, условно говоря, частей загрузки (выделены зеленым):
- bootDoneViaExplorer – время загрузки операционной системы вплоть до появления рабочего стола, в данном примере 37 секунд
- bootDoneViaPostBoot – полное время загрузки системы, рабочего стола и всех программ в автозагрузке, в данном примере 64 секунды (из этой цифры следует вычесть 10 секунд, в течение которых определяется полное бездействие системы)
Время первой части складывается из основных этапов загрузки операционной системы (обведены синим), вплоть до начала загрузки рабочего стола. В уже знакомом вам событии 100 журнала Diagnostics-Performance длительность этого этапа записывается в параметре MainPathBootTime.
Разница между этими двумя частями – это время от начала загрузки рабочего стола, до его полной готовности. В событии 100 журнала Diagnostics-Performance — это BootPostBootTime.
Для анализа загрузки нужно представлять, не только в какой последовательности эти этапы идут, но и что происходит на каждом из них. К сожалению, официальная документация по этому вопросу существует только на английском и достаточно сложна технически. Далее я предлагаю вам выдержки из этого документа в своем изложении, с дополнениями и в сопровождении собственных примеров диагностики.
На рисунке ниже представлены три основных этапа загрузки, причем главный из них состоит из четырех фаз.
Увеличить рисунок
Давайте рассмотрим все этапы подробно.
Этап OSLoader
Этап OSLoader следует сразу после инициализации BIOS. Визуально он начинается после заставки и диагностических экранов BIOS, а заканчивается примерно с появлением экрана «Загрузка Windows».
На этапе OSLoader:
- загрузчик Windows (winload.exe) загружает основные системные драйверы, которые необходимы для считывания минимально необходимого набора данных с диска
- затем загрузчик инициализирует систему до момента, с которого становится возможной загрузка ядра
- когда ядро начинает загружаться, winload.exe помещает в оперативную память системный раздел реестра и дополнительные драйверы, помеченные в качестве BOOT_START
Длительность этапа отражает значение параметра osLoaderDuration в узле timing XML-файла. Обычно, она в находится в пределах 2-3 секунд.
Этап MainPathBoot
Визуально этап MainPathBoot начинается с экрана «Загрузка Windows» и завершается при появлении рабочего стола. Если не настроен автоматический вход в систему, длительность этого этапа увеличивается за счет времени, которое требуется для ввода пароля.
Во время этапа MainPathBoot происходит основная работа по загрузке операционной системы:
- инициализируется ядро
- происходит определение устройств Plug and Play (PnP)
- запускаются службы
- выполняется вход в систему
- инициализируется Explorer, т.е. система готовится к загрузке рабочего стола
Этап состоит из четырех фаз, каждая из которых обладает собственными характеристиками и может по-своему влиять на длительность загрузки системы.
Фаза PreSMSS
Визуально фаза PreSMSS начинается примерно с экрана «Загрузка Windows», но ее окончание невозможно определить на глаз.
Фаза PreSMSS (в графическом представлении WPT она обозначена как Pre Session Init) начинается с инициализации ядра. Во время нее:
- ядро инициализирует структуры данных и компоненты, а затем запускает диспетчер PnP
- диспетчер PnP в свою очередь инициализирует драйверы BOOT_START, которые были загружены с помощью winload.exe на этапе OSLoader
- когда диспетчер PnP обнаруживает устройство, он загружает необходимый драйвер и выполняет его инициализацию
Диагностика
Если фаза занимает много времени, ищите в XML-файле в узле <PNP> драйвер, который долго загружается. Диагностику в графическом режиме я покажу на примере следующей фазы.
Фаза SMSSInit
Визуально начало фазы SMSSInit невозможно определить. Ее частью является пустой экран, который отображается между заставкой и экраном входа в систему, чье появление сигнализирует о завершении фазы.
Фаза SMSSInit (в графическом представлении WPT она обозначена как Session Init) начинается с того, что ядро передает контроль диспетчеру сессий (smss.exe). Во время этой фазы система:
- инициализирует реестр
- загружает и запускает устройства и вторую волну драйверов, которые не помечены как BOOT_START
- запускает процессы подсистемы
Фаза завершается с передачей контроля процессу winlogon.exe.
Диагностика
Наиболее распространенной причиной задержек в этой фазе являются драйвер видеокарты. Он инициализируется сначала во время системной сессии, а затем во время пользовательской. При этом инициализация во время пользовательской сессии занимает меньше времени, потому что в течение системной параллельно выполняется запуск других задач.
Сократив время запуска драйвера видеокарты, можно уменьшить длительность загрузки системы. Таким образом, если фаза SMSSInit затягивается, обновите драйвер видеокарты.
Более точную диагностику можно провести с помощью summary_boot.xml, где в узле PNP есть длительность запуска каждого драйвера. Впрочем, в Windows 10 он иногда отсутствует, и я не знаю, от чего это зависит и как это форсировать.
⚠ Показанного ниже графика Driver Delays в WPT больше нет, но во времена Windows 7 его можно было анализировать примерно так:
- На графике Boot Phases выделите фазу Session Init и выберите из контекстного меню команду Clone Selection. Выбранный период будет выделен на всех активных графиках.
- На графике Driver Delays щелкните правой кнопкой мыши и выберите из меню команду Set Delay Threshold. Она позволяет отфильтровать драйверы по времени задержки. Введите, например 2000, чтобы отобразить драйверы, загружавшиеся дольше двух секунд.
Увеличить рисунок
Вы увидите все драйверы, загружавшиеся в фазе Session Init дольше заданного времени. У меня вся фаза занимает 6 секунд, и двухсекундная задержка драйверов является нормальной. Но если у вас проблемы в этой фазе, с помощью фильтра вы сразу увидите, какой драйвер их вызывает.
Фаза WinLogonInit
Визуально фаза WinLogonInit начинается перед появлением экрана приветствия, а завершается перед появлением рабочего стола.
Фаза WinLogonInit начинается сразу после запуска winlogon.exe. Во время этой фазы:
- отображается экран приветствия
- диспетчер управления службами запускает сервисы
- происходит запуск сценариев групповой политики
Фаза завершается запуском оболочки Windows — процесса explorer.exe.
Диагностика
Во время фазы WinLogonInit выполняется множество параллельных операций. На многих системах она характеризуется нагрузкой на процессор и большим количеством операций ввода-вывода (I/O). Длительность фазы во многом зависит от поведения служб.
Чтобы обеспечить плавную загрузку системы, службы могут объявлять зависимости или использовать порядковые группы загрузки. Windows обрабатывает группы загрузки в последовательном порядке. Поэтому задержка даже одной службы в ранней группе может затягивать загрузку следующей группы служб и тормозить весь процесс загрузки.
Для выявления проблемной службы удобнее всего использовать графические возможности WPT. Откройте ETL-файл двойным щелчком мыши и прокрутите отчеты вниз до графика запуска служб.
Увеличить рисунок
Зачастую проблема вызвана не системными, а сторонними службами. На рисунке хорошо видно, что среди автоматически стартующих служб дольше всего загружаются три:
- Apache 2.2
- MySQL
- TeamViewer
При этом Apache блокирует загрузку следующей группы служб (очевидно, в ее отсутствие это сделала бы служба TeamViewer). Поскольку ни одна из этих служб не является системной, проблему легко решить. Можно в оснастке «Службы» изменить тип ее запуска на отложенный и посмотреть, будет ли она быстрее запускаться на более позднем этапе. Если это не дает эффекта, можно вовсе отключить службу и запускать ее вручную при необходимости. Во второй волне служб, имеющих отложенный тип запуска, видна задержка WSearch, отвечающей за поиск Windows, но я не стал ее трогать пока.
Чтобы увидеть время запуска каждой службы, щелкните точку начала запуска и растяните диапазон до ее конца. Для изменения масштаба графика крутите колесо мыши, удерживая нажатой клавишу CTRL.
Отключение трех вышеперечисленных служб позволило сократить общее время загрузки почти на 40 секунд! Обратите внимание, что группа автоматического запуска служб теперь стартовала намного быстрее (смотреть нужно относительно шкалы времени, т.к. масштаб графиков разный).
Wsearch все равно запускается дольше других служб, но уже всего 8 секунд вместо 30, что не дает мне достаточно оснований к ней придираться.
Если задержку вызывает антивирусная программа, отложенный запуск службы может понизить уровень защиты, а ручной запуск или отключение службы могут нарушить работу программы. В этом случае можно лишь посоветовать обновить антивирус до последней версии. Если это не дает эффекта, вам придется сделать выбор между любимой программой и длительностью загрузки.
Фаза ExplorerInit
Визуально фаза ExplorerInit начинается перед загрузкой рабочего стола, но ее окончание определить на глаз невозможно.
В фазе ExplorerInit:
- сначала запускается процесс explorer.exe
- затем система создает процесс диспетчера окон рабочего стола (DWM)
- DWM инициализирует рабочий стол и отображает его
Инциализация DWM и рабочего стола происходит на переднем плане, но в это же время в фоне диспетчер управления службами (SCM) запускает службы, а диспетчер памяти кеширует данные. Поэтому на многих системах эта фаза сопровождается нагрузкой на процессор, и нередко задержки при загрузке на этом этапе можно отнести на счет слабости аппаратных ресурсов.
Диагностика
В течение фазы ExplorerInit ресурсы процессора могут потреблять программы, работающие в качестве служб (например, защитные программы или серверы приложений). Они запускаются либо в этой фазе, либо продолжают свою загрузку, будучи запущенными в более ранних фазах. С другой стороны, некоторые службы (например, с отложенным запуском) могут быть еще не запущены на момент окончания фазы ExplorerInit.
Этап PostBoot
Этап PostBoot начинается после появления рабочего стола и завершается после того, как будет определено бездействие системы.
На этапе PostBoot рабочий стол уже загружен, и с ним можно взаимодействовать. Но при этом параллельно в фоне выполняется различная активность. Например, продолжается запуск служб и программ автозагрузки, что может сопровождаться появлением их значков в области уведомлений.
Средства WPT определяют бездействие системы по следующему алгоритму. Каждые 100 мс проверяется наличие активности в системе. Если бездействие системы составляет не менее 80% (за исключением низкоприоритетных процессов и дисковой активности), считается, что в этом интервале система бездействует. Проверка продолжается до тех пор, пока не наберется 10 секунд бездействия. Поэтому, определяя общее время загрузки системы, вычитайте из значения bootDoneViaPostBoot 10000 мс, т.е. 10 секунд.
Диагностика
На этапе PostBoot запускаются приложения, находящиеся в автозагрузке. Чтобы сократить длительность этого этапа, нужно навести там порядок. В графическом представлении WPT используйте график Process Lifetimes, чтобы увидеть все процессы, которые запускаются или продолжают запуск на данном этапе.
Безусловно, диагностика загрузки с помощью WPT требует навыка, и с наскоку разобраться в этом вопросе непросто. Но от вас и не требуется профессиональных знаний, поскольку текстовый отчет в XML файле вкупе с полным графическим представлением всех этапов загрузки позволяет быстро определить причину задержек при запуске Windows. Мне будет очень интересно узнать, полезна ли эта статья, помогла ли она выявить и устранить задержки с помощью WPT, а также насколько ускорилась загрузка системы в результате.
1
Процесс загрузки Windows
Вкл. ПК
Инициализация оборудования,
Построение таблицы векторов- BIOS прерываний
BIOS |
|||
Выбор активного раздела и поиск |
|||
загрузчика (boot record) |
|||
(можно нажать F8 для выхода в меню загрузки)
Поиск и
считывание в Boot record ОЗУ файла IO.sys
Отображение заставки Windows
Поиск и |
|||||||||||||
считывание в |
IO.sys |
||||||||||||
ОЗУ MSDOS.sys |
|||||||||||||
Обработка config.sys (если есть) |
IO.sys |
||||||||||||
IO.sys |
|||||||||||||
Поиск и загрузка command.com |
|||||||||||||
Обработка autoexec.bat (если есть) |
Command.com |
||||||||||||
Command.com |
|||||||||||||
Автовыполнение команды win.com |
|||||||||||||
2
Проверка состояния оборудования. Запрос перечня установленного оборудования, включение функции Plug and
Диспетчер |
|||
Загрузка vxd виртуальных драйверов |
|||
виртуальной |
|||
устройств и их инициализация |
|||
машины |
|||
vmm32.vxd |
|||
Загрузка 16разрядного ядра
Windows 9x
User.exe
Gdi.exe
Krln386.exe
Windows готова к работе в 16-разрядном режиме
Вызов оболочки и загрузка приложения vwin32.386
Загрузка 32разрядного ядра user32.dll gdi32.dll kernel32.dll
Windows работает в 32-разрядном режиме
Ввод имени и пароля (если есть)
Формирование графического интерфейса
3 |
|||||||||||||||||
В процессе загрузки: |
|||||||||||||||||
1) автоматическое |
тестирование |
||||||||||||||||
Место |
основных аппаратных |
компонент |
|||||||||||||||
BIOS |
расположения- |
(ОЗУ) при включении компьютера. |
|||||||||||||||
ПЗУ или ППЗУ |
На экране — счётчик. По окончании — |
||||||||||||||||
Basic |
выдача сообщения ‘ОК’; |
||||||||||||||||
Input |
2) инициализация векторов — |
||||||||||||||||
Output |
прерываний нижнего уровня; |
||||||||||||||||
System |
3) считывание с системного |
диска в |
|||||||||||||||
(базовая |
ОЗУ несистемного блока начальной |
||||||||||||||||
система |
загрузки MBR. |
||||||||||||||||
ввода- |
В процессе работы: |
||||||||||||||||
выводв |
) |
управление стандартными ПУ |
. |
||||||||||||||
Файл MS-DOS.sys
Представляет собой тестовый файл, содержащий настройки загрузки Windows. Содержит две секции. Заголовки секций записываются в квадратных скобках. В секциях содержатся строки.
1)секция [Paths]
Команды:
WinDir=имя основного каталога Windows 9x
WinBootDir=имя каталога, из которого осуществляется загрузка Windows 9x HostWinBootDrv=имя загрузочного диска
Например, WinDir=C:Windows WinBootDir=C:Windows HostWinBootDrv=C:
2)секция [options]
Команды: BootMulti=1 (0)
Параметр 1 используется по умолчанию и разрешает двойную загрузку, по нажатии F4 выполняется загрузка предыдущей версии DOS.
BootDelay=2
Время, в течении которого Windows 9x ждет нажатия клавиши управления загрузкой F8.
BootFailSafe=0 (1)
Параметр 1 устанавливает режим загрузки — защита от сбоев. BootKeys=1 (0)
Параметр 0 запрещает обработку нажатия клавиши F8. BootMenu=0 (1)
Параметр 1 выводит в процессе загрузки загрузочное меню без нажатия клавиши F8.
4
Кроме этих строк в файле могут содержаться строки со значками *, например,
*************************************************
Они смысловой нагрузки не несут, но удалять их нельзя, т.к. размер файла должен быть не менее 1024 байт, что требуется для совместимости с другими программами.
Функции config.sys, включенные в IO.sys
Файл config.sys располагается в корневом каталоге системного диска, представляет собой текстовый файл, задающий параметры DOS, указывающий, какие драйверы устройств нужно загрузить. В Windows необходим только для поддержки раскладки кириллицы для клавиатуры при работе с DOS-программами. Ряд команд встроены в модуль IO.sys.
1)DOS=high
2)himem.sys
3)ifshlp.sys
4)setver.exe
5)files=60
6)lastdrive=z
7)buffers=30
stacks=9,256
9)shell=command.com/p
10)fcbs=4
11)dos=auto
Меню загрузки F8
Команда |
Назначение |
|||
1. |
Normal |
Запуск |
Windows в обычном режиме |
|
(используется системой по умолчанию |
||||
при отсутствии проблем) |
||||
2. |
Logged (bootlog.txt) |
Запуск с созданием файла bootlog.txt в |
||
корневом каталоге диска C:. В нем |
||||
содержится протокол загрузки со всеми |
||||
подключенными |
драйверами. |
|||
Используется при возникновении проблем |
||||
или неполадок в системе для выявления |
||||
ошибки. |
||||
3. |
Safe mode |
Запуск Windows в режиме защиты от |
||
сбоев, |
в простейшей |
конфигурации |
||
(недоступен CD-ROM, сеть, имеются |
||||
ограничения по режиму DOS). |
||||
4. |
Safe mode with network |
Тоже, что и в п.3, но с поддержкой сети. |
5 |
||||||||||||||||||||||||||||
support |
||||||||||||||||||||||||||||
5. |
Step-by-step confirmation |
Загрузка в пошаговом режиме, на экран |
||||||||||||||||||||||||||
последовательно выдаются строки файлов |
||||||||||||||||||||||||||||
конфигурации. Enter – для выполнения |
||||||||||||||||||||||||||||
команды, Esc – для отказа. Драйверы и |
||||||||||||||||||||||||||||
модули |
Windows |
выполняются |
без |
|||||||||||||||||||||||||
подтверждения. |
||||||||||||||||||||||||||||
6. |
Command prompt only |
Загрузка в стандартном режиме (DOS- |
||||||||||||||||||||||||||
загрузка) без запуска графического |
||||||||||||||||||||||||||||
интерфейса. |
на |
экран |
выдается |
|||||||||||||||||||||||||
приглашение DOS С:. Для продолжения |
||||||||||||||||||||||||||||
загрузки нужно |
выполнить |
команду |
||||||||||||||||||||||||||
win.com |
||||||||||||||||||||||||||||
7. |
Safe mode command |
Комбинация пп. 3 и 6. Запуск интерфейса |
||||||||||||||||||||||||||
prompt only |
Windows невозможен. |
|||||||||||||||||||||||||||
1) |
Приём и обслуживание команд ОС |
|||||||||||||||||||||||||||
CI |
с |
клавиатуры; |
внутренних |
команд |
||||||||||||||||||||||||
Файл command.com в |
2) выполнение |
|||||||||||||||||||||||||||
корневом |
каталоге |
ОС; |
||||||||||||||||||||||||||
Command |
системного диска. |
3) |
выполнение |
командных |
файлов |
|||||||||||||||||||||||
Interpretator |
(.com, .exe); |
|||||||||||||||||||||||||||
(командный |
4) загрузка |
программ в |
память для |
|||||||||||||||||||||||||
процессор) |
выполнения; |
прерываний |
по |
|||||||||||||||||||||||||
5) обработка |
||||||||||||||||||||||||||||
завершению задачи |
. |
6
Организация оперативной памяти ПК
( О З У ) |
Высшая зона или |
расширенная память |
(XMS) |
в о п а м я т и |
зонапамяти |
384К |
|
а н с т |
Верхняя |
(UMA) – |
|
е с н о е п р о с т р |
Область пользователя |
(стандартная память) |
580К |
А д р |
Область DOS |
||
Управляется драйвером himem.sys |
||
Размер ограничен физической памятью ПК |
||
(объемом ОЗУ) |
||
Область высокой памяти (HMA) |
64K |
|
Command.com (нерезидентная часть) |
||
IO.sys |
||
1024К (1М) |
ROM BIOS (копия BIOS) |
|
Блоки UMB (Upper Memory Blocks) – 4х16=64 К |
16К |
|
Управляется драйвером emm386.exe |
16К |
|
16К |
||
16К |
||
Видеопамять (видеодрайверы) |
||
640К |
Command.com (резидентная часть) |
|
Системный стек |
256 б |
|
Прикладные программы DOS |
||
60К |
Vmm32.exe |
15K |
Win.com |
4K |
|
Драйверы реального режима (MS DOS) (himem, |
||
emm386, display) |
||
Буфер |
||
MSDOS.sys |
28К |
|
0000:0000 |
Таблица векторов прерываний |
Основные области памяти:
1) Стандартная (базовая) память (conventional (Base) memory) в которой работают программы и которая доступна пользователю. Её объём — 640 кбайт.
Первые 60 Кб от её объёма называют область DOS. Оставшиеся 580 Кб – область пользователя.
Таблица векторовпрерываний занимает зону размером 1 Кб. Содержащий адреса программ, вызываемых при определённых ситуациях (нажатие функциональной клавиши). Каждая запись в таблице векторов — прерываний имеет длину в 4 байта и содержит 1 адрес в формате “ сегмент :
7
смещение “. Таблица векторов — прерываний может содержать max 256 адресов.
По нажатии функциональной клавиши или поступлении соответствующей команды считывается запись в таблице и выполняется программа, расположенная по этому адресу. По окончании компьютер продолжает выполнение программы, которую он выполнял до поступления этого требования.
2)Верхняя зона памяти (UMA — Upper Memory Area) — память между 640 кб и 1 Мб – 384 Кб.
В нижних адресах содержит память дисплея — видеопамять, в верхних — копию BIOS.
Часть UMA, использующая свободные адреса (4 зоны х 16 кбайт = 64 кбайта) называется UMB (upper memory blocks). Доступна через драйвер памяти emm386.exe.
3)Расширенная (extended) память — XMS память за пределами 1 Мб. Используется специально разработанными программами. Управляется драйвером himem.sys. Ее размер ограничен физической память ПК.
Область высокой памяти (HMAhigh memory area) — часть расширенной памяти, располагающаяся сразу за границей 1 Мб и имеющая размер 64 Кб. В ней располагается модуль IO.sys и нерезидентная часть command.com. Представляет собой окно, через которое можно работать с расширенной памятью.
Уровни защиты процессора 80386
Существует 4 уровня (кольца) привилегированности. В каждый момент времени процессор работает только с одним уровнем привилегий.
Прикладные |
|||||||
программы |
|||||||
кольцо 3 |
|||||||
уровня |
|||||||
Функции ОС, 32- |
|||||||
разрядный код |
|||||||
ядро-пользователь |
|||||||
кольцо 0 |
Драйверы |
||||||
уровня |
устройств |
||||||
Аппаратные |
|||||||
средства |
|||||||
8
Вкольце 0 уровня выполняется код системного уровня. программы работают с аппаратурой напрямую. Используется файловая система защищенного режима, диспетчер виртуальных машин (ДВМ) – файл vmm32.vxd и аппаратно-ориентированные драйверы.
В3 кольце выполняются прикладные программы и части операционной системы.
Т.о. в Windows 9x реализована 2-ух уровневая модель защиты – «ядропользователь» или «клиент-серевер».
Типы драйверов устройств
В Windows 9x применяется архитектура «универсальный драйвер/минидрайвер». Универсальный драйвер включает большую часть кода, необходимого конкретному классу устройств для взаимодействия с соответствующими компонентами системы. Минидрайвер – сравнительно небольшой и простой драйвер, содержащий дополнительные инструкции, необходимые для работы конкретного устройства.
Windows 9x поддерживает 3 типа драйверов устройств:
1)драйверы реального режима MS-DOS, файлы с типом *.sys, подключаемые в файле конфигурации config.sys. используются DOSрежимом. Требуют повышенных ресурсов и процессорного времени.
2)16-разрядные драйверы Windows 3.1 (11), файлы с типом *.drv. Представляют собой драйверы стандартных устройств, например, system.drv, keyboard.drv, mouse.drv, vga.drv, netware.drv, speaker..drv. Содержатся в каталоге System основного каталога Windows.
3)32-разрядные виртуальные драйверы для Windows 3.1 (11) (тип *.386) и для Windows (тип *.vxd). Управляют системным ресурсом (аппаратным или программным) и позволяют использовать этот ресурс более чем одному приложению. VxD – общее название семейства драйверов виртуальных устройств, где буква х означает тип конкретного драйвера, например, драйвер дисплея – vdd, таймера – vtd, принтера – vpd и т.д. Драйверы vxd загружаются динамически, т.е. в памяти присутствуют необходимые в данный момент драйверы. Они используются файлом ДВМ vmm32.vxd, который имеет разный размер на разных ПК в зависимости от их конфигурации, кроме того динамически изменяет свой размер, в зависимости от количества работающих в данный момент драйверов. Содержатся в каталоге System основного каталога Windows.
Кроме того встроенные функции операционной системы содержатся в динамической библиотеке связей (DLL – Dynamic Linking Library). Они представляют собой набор файлов с типом *.dll, которые вызываются в работу конкретным приложением по мере необходимости. Т.о. приложению нет необходимости содержать все функции в своем программном коде. Содержатся в основном каталоге Windows, в каталоге System, а также в каталогах установленных приложений.
Соседние файлы в предмете Операционные системы
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
В этой статье я не планирую подробно рассказывать обо всех типах загрузчиков, но хочу свести воедино всю необходимую информацию, которую нужно знать для создания загрузочных дисков, флэшек, а также для восстановления загрузчиков.
Принципы загрузки операционных систем
При включении компьютера управление процессором получает 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.
При загрузке операционной системы, сначала считывается первый сектор с устройства загрузки, представляющий собой главную загрузочную запись (Master Boot Record — MBR). Стандартно, в качестве MBR выступает первый сектор загрузочного диска. MBR содержит список разделов, признак активного раздела (раздела, с которого будет выполняться загрузка ОС), некоторые служебные данные, а также программный код для считывания в память загрузочного сектора активного раздела (Partition Boot Record — PBR) и передачи ему управления.
Размер сектора на жестком диске — 512 байт. В секторе MBR хранятся данные, которые должны заканчиваться специальной сигнатурой. Этим словом называется специальная, строго установленная, последовательность из 2 байт с шестнадцатеричными значениями 55h AAh, которая записывается в последние 2 байта сектора и соответственно имеет смещение от начала сектора 1FEh. Если хотя бы один из двух последних байтов отличается по значению, считается, что первый сектор не является MBR и не содержит осмысленной информации. Если компьютер при старте, прочитав первый сектор, не обнаружит правильной сигнатуры, он не будет передавать управление располагающемуся там коду, даже если он правильный, а выдаст сообщение о том, что главная загрузочная запись не найдена.
Общая структура MBR может быть представлена следующей таблицей:
Смещение Длина Описание
000h 446 Код загрузчика
1BEh 64 Таблица разделов
16 Раздел 1
1CEh 16 Раздел 2
1DEh 16 Раздел 3
1EEh 16 Раздел 4
1FEh 2 Сигнатура (55h AAh)
Длина указана в байтах.
Как видно, MBR может содержать информацию максимум о 4 разделах. Каждый 16-байтовый блок, содержащий информацию о разделах, в своем начале содержит признак активности раздела — т.е. признак того, что операционную систему следует загружать именно из этого раздела — может иметь значения 80h (раздел активен) и 00h (раздел не активен). Количество активных разделов должно быть не более одного.
Шестнадцатеричный однобайтовый код далее указывает на тип (ID) раздела. Например, 07h – раздел типа NTFS, 0Bh – FAT32, 17h – скрытый NTFS раздел, 27h – системный скрытый NTFS раздел для восстановления системы.
Типы MBR
Выше мы увидели, что в сектор MBR записывается код загрузчика. Что же это? Дело в том, что в 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), который содержит информацию, какой же загрузчик искать.
Существуют следующие загрузчики:
Тип MBR — NT 5.x/6.x, 1 сектор
- io.sys для MS-DOS, Windows 95/98/МЕ
- ntldr для Windows 2000/XP/2003
- bootmgr для Windows Vista/7/8/8.1/10
Тип MBR — Grub4DOS, 18 секторов
- grldr для Grub4DOS
Тип MBR — LILO/GRUB и др. линуксовые (к-во секторов зависит от версии и количества файлов)
- ldlinux.sys – основной базовый модуль
- syslinux.sys — для загрузки с FAT, FAT32, NTFS
- isolinux.bin — для загрузки с iso9660
- pxelinux — для загрузки по PXE
- extlinux для загрузки с ext2/ext3/ext4 или btrfs
Как я сказал выше, загрузчик является не загрузочной областью, а бинарным файлом.
- Файлы 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 и PBR, BootICE позволяет редактировать разделы диска, выполнять ручное разбиение и форматирование, модифицировать тип раздела, сохранять и восстанавливать из бэкапа таблицу разделов.
Кратко о загрузчике Syslinux
Обратите внимание, что загрузчик Syslinux сам по себе не может быть установлен в MBR, однако в пакете syslinux имеются два файла, из которых можно установить загрузочный код Syslinux в 440-байтную область загрузочного кода MBR: mbr
.
bin
или gptmbr
.
bin
. Конечно, это имеет смысл только для Linux.
Кстати, syslinux может быть использовать с UEFI – для него загрузчик называется syslinux
.
efi
, однако он еще достаточно сырой.
Итак, Syslinux состоит из файла загрузчика и файла конфигурации меню syslinux.cfg. Файл меню может вызывать графическое меню через подгрузку файла vesamenu.c32.
Установка Syslinux под Windows на другой диск выполняется достаточно просто: используется файл «[bios/]win32/syslinux.exe» для 32-х битных систем и «[bios/]win64/syslinux64.exe» для 64-х битных систем.
syslinux.exe —install a: — установка на флоппи-диск
syslinux.exe —mbr —active —directory /boot/syslinux/ —install z: — установка на диск z:, например флешку, где
— в качестве разделителей должны быть использованы именно /, а не
— в каталоге z:bootsyslinux будет размещён файл-загрузчик «ldlinux.sys»
— и раздел z: помечен как активный
— для организации меню должен быть создан файл z:bootsyslinuxsyslinux.cfg
Через BootICE вы также можете установить загрузчик Syslinux, указав в опциях альернативное местоположение файлов ldlinux.sys и и файла меню syslinux.cfg.
Конечно, основное внимание мы уделим загрузчикам для Windows.
Загрузчик NTLDR использовался до появления операционной системы Windows Vista. В процессе начальной загрузки, программный код загрузочного сектора раздела (PBR — Partition Boot Sector) обеспечивал поиск, считывание в память и передачу управления файлу ntldr, который размещался в корневом разделе загрузочного диска. Конфигурирование загрузчика ntldr выполнялось с помощью простого текстового файла boot.ini, содержимое которого задавало список загружаемых операционных систем, их параметры загрузки, размещение системных файлов и т.п. В операционных системах Windows Vista /Server 2008 и более поздних, загрузчик ntldr не используется, и заменен диспетчером загрузки BOOTMGR. Соответственно, изменился и программный код загрузочного сектора раздела, обеспечивающий передачу управления файлу bootmgr. Новый диспетчер загрузки использует собственные данные конфигурации загрузки (Boot Configuration Data — BCD) и может выполнять, при определенных настройках, загрузку любых операционных систем семейства Windows. Загрузчик ntldr не поддерживает возможность загрузки Windows Vista и старше.
Также, хочу отметить, что все современные Windows PE любых версий также используют загрузчик bootmgr. Цепочка стадий загрузки MBR — PBR — BOOTMGR — это минимально необходимое условие для того, чтобы загрузка операционной системы могла начаться. Дальнейший же ее ход, определяется диспетчером загрузки BOOTMGR, который считывает данные конфигурации загрузки из файла BOOTBCD активного раздела и выполняет загрузку в соответствии с их содержимым.
Для Windows 7 он запускает файл WINDOWSsystem32winload.exe
Диспетчер загрузки bootmgr позволяет выполнить загрузку как с обычного системного диска, так и из загрузочных образов, виртуальных дисков, загрузку с использованием загрузчиков других операционных систем. Это позволяет использовать bootmgr для загрузки Windows PE. В соответствии с конфигурацией загрузки, диспетчер BOOTMGR может выполнить загрузку ядра Windows или, например, Linux, обеспечить выход из режима гибернации, загрузить диагностические программы, выполнить загрузку ядра с измененными параметрами и т.п.
Обычно файл bootmgr имеет атрибуты «скрытый» и «системный». По типу структуры, файл BootBCD является кустом реестра и отображается в редакторе реестра Windows как раздел
HKEY_LOCAL_MACHINEBCD00000000.
Обычно именно конфигурация BCD становится наибольшим камнем преткновения.
Конфигурирование BOOTMGR и BCD
Для работы с загрузчиком Windows вам понадобятся системные утилиты:
Команда BCDEDIT применяется в операционных системах Windows Vista и старше для редактирования BCD. Подробную инструкцию по использованию этой утилиты можно найти здесь.
Однако, я вам крайне рекомендую использовать очень удобную программу EasyBCD для редактирования BCD. Например, с помощью нее вы легко можете добавить Linux раздел в меню загрузки. Вот статья о том, как добавить в BCD конфигурацию Windows 7 пункт загрузки Linux Ubuntu.
При запуске EasyBCD в окне View Settings можно посмотреть текущую конфигурацию BCD. На скриншоте видно, что в текущий момент на диске установлена одна Windows 7, GUID которой {9079c27c-fa49-11e5-8c8e-3417ebc2574d} и вручную добавленный пункт меню для запуска установки Windows из WIM файла:
А вот BCD меню загрузочной флэшки, на которой присутствуют инсталляторы Windows 7 x86 и x64, а также две среды MSDaRT x86 + x64:
Утилита BOOTSECT.EXE позволяет изменить программный код загрузчика Windows для переключения между двумя вариантами диспетчера загрузки — BOOTMGR или NTLDR – или восстановить поврежденный загрузчик!
Например,
Команда bootsect /nt60 E: /mbr /force – создает на диске E: (например, флэшке) записи MBR и PBR и устанавливает загрузчик bootmgr.
Ну и третья, крайне важная утилита — BootRec входит в состав средств среды восстановления Windows (Windows Recovery Environment) и применяется для восстановления загрузки операционной системы. Найди ее вы можете, загрузившись с установочного диска Windows и выбрав вместо установки опцию «Восстановление системы». Появится окно MSDaRT, откуда можно запустить командную строку и набрать там BootRec.exe. MSDaRT также можно скачать отдельно (это бесплатный продукт Microsoft) и сделать загрузочную флэшку/диск с ним.
Команда Bootrec /FixMbr – записывает основную загрузочную запись (MBR) системного раздела, совместимую с Windows. При этом существующая таблица разделов не перезаписывается.
Bootrec /FixBoot – записывает в системный раздел новый загрузочный сектор, совместимый с Windows.
bootrec /RebuildBCD – перестроить хранилище конфигурации загрузки на данном компьютере. Удобно использовать для изменения конфигурации BCD при добавлении нового диска с установленной Windows, или для внесения изменений в существующую конфигурацию загрузки новых или ранее не использовавшихся ОС.
Загрузчик GRUB4DOS
Это один из наиболее универсальных загрузчиков, способных загружать почти любую операционную систему с любого носителя. Пользователям Linux установка GRUB очевидна, для Windows все не так просто. GRUB имеет смысл использовать, например, одним из загрузчиков мультизагрузочной флэшки, ведь он поддерживает chainloader — передачу управления на другой загрузчик по цепочке. Таким образом, на флэшке можно установить GRUB MBR, который будет обращаться к загрузчику grldr, который в свою очередь через меню позволяет перенаправить запросы на bootmgr, например, для установки Windows.
Загрузчик состоит из следующих файлов:
- default
- grldr
- menu.lst
Файл grldr.mbr нужен для установки GRUB в качестве MBR. Итак, GRUB можно установить руками под Windows или же воспользоваться различными утилитами.
Установка GRUB загрузчика под Windows
Представим, что у вас уже есть Windows с загрузчиком bootmgr. Вам необходимо будет добавить в BCD записи о новом загрузчике, чтобы не лишаться существующего. Порядок действий:
- Файлы загрузчика Grub4dos — grldr.mbr и grldr — размещаются в доступном месте, например в корне диска C: (может быть FAT32, NTFS). Скачать файлы можно с официального репозитария.
- Далее добавляем загрузчик в BCD или через командную строку и команду bcdedit, о которой шла речь выше, или утилиты BootICE/EasyBCD. В командной строке выполняются следующие команды:
> bcdedit /create /d "Grub4Dos" /application bootsector - создание новой записи с именем "Grub4Dos" в хранилище данных конфигурации загрузки,
запомните GUID новой записи > bcdedit /set {id} device partition=C: - описание свойств новой записи, {id} - GUID, который вы запомнили выше > bcdedit /set {id} path grldr.mbr - {id} это идентификатор созданной записи, выданный первой командой > bcdedit /displayorder {id} /addlast - (опционально) смещение новой записи в конец меню -
Создаётся меню загрузчика Grub4dos - C:menu.lst
Вот и все, не так и сложно.
Сложнее отредактировать меню menu.lst. Вот список основных команд консоли GRUB (их можно исполнять как вручную из командной строки, так и из файла меню):
# комментарий - знак решётки - указание загрузчику не обрабатывать строку boot - передача управления ядру, загруженному командой kernel или "следующему" загрузчику, по команде chainloader color light-gray/black yellow/green light-cyan/black light-green/black - задаёт цвета меню chainloader /ntldr - передает управление загрузчику, в примере /ntldr chainloader (hd0)+1 - передает управление на загрузочный сектор устройства (hd0) chainloader +1 - передает управление на загрузочный сектор корневого устройства configfile /cfg/next.lst - открывает файл конфигурации, перейти в субменю default 0 - установка пункта меню по умолчанию, выполняемого по истечении таймаута fallback 1 - установка пункта меню выполняемого, если невозможна загрузка по умолчанию find --set-root /file - поиск файла и установка раздела на котором он расположен в качестве корневого halt - выключение рабочей станции gfxmenu /boot/message33.gz - установка фоновой графической картинки, оно же русификация меню quit - выход из GRUB, в DOS map (hd0) (hd1) - "свопирование" разделов для обеспечения возможности загрузки windows со второго и последующих дисков map (hd1) (hd0) timeout 20 - установка времени в секундах до выполнения команды следующей команды title Boot Name - название пункта меню pause - ожидание нажатия клавиши rootnoverify (hd0,0) - отмена проверки тип файловой системы диска выбранного командой root root (hd0,1) - выбор корневого (текущего) диска reboot - перезагрузка рабочей станции
Приведу примеру рабочих кусков кода из файла меню:
1 2 3 4 5 6 7 8 |
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 |
1 2 3 4 |
title Установка Windows 7 with SP1 x86-x64 + MSDaRT 7.0 RUS.
find --set-root /bootmgr
chainloader /bootmgr
boot
|
1 2 3 4 5 6 7 |
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) |
1 2 3 4 5 6 7 8 |
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 |
1 2 3 4 5 6 7 |
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 |
1 2 3 |
title Alkid Live CD root (hd0,0) chainloader (hd0,0)/minint/setuplns.bin |
Если вам совсем не хочется, существует программа GRUB4DOS Installer, и даже удобный русский инсталятор для нее, но этот вариант вам не позволит сделать комбинированный загрузчик. Он задаст вопрос, куда распаковать файлы и куда установить загрузчик, после чего сделает все сам: отформатирует, установить MBR, скопирует файлы. Но я лично против такой «автоматизации».
Также, для любителей конфигурировать загрузчик из-под Windows, существует утилитка WinGRUB, которая устанавливает GRUB без форматирования флэшки.
Если все-таки вам не хватило нервов и сил разобраться в написании меню, то есть программки, которые сделают меню загрузки и установят загрузчик за вас, вам нужно только выбрать ISO файлы дистрибутивов, которые надо добавить:
- WinSetupFromUSB
- SARDU
- Easy2Boot
Для желающих создать подобные флэшки рекомендую также почитать профильные сайты: greenflash.su, flashboot.ru и usbtor.ru.
Выводы
Итак, чтобы была возможность загрузить ОС, необходимо, чтобы был установлен корректный загрузчик MBR, который заканчивается валидной сигнатурой, должна быть таблица разделов, и хотя бы один раздел должен быть помечен как активный. А в самом разделе, куда MBR передаст управление, должна быть валидная загрузочная запись, которая укажет, какой системный файл необходимо загрузить в память для начала загрузки самой ОС. Кроме того, должно быть загрузочное меню, которое укажет на местоположение загрузочных файлов ОС.
[Посещений: 19 165, из них сегодня: 2]