Опишите процесс загрузки операционной системы windows

Ever wondered what happens when you push the Power button? Find out how Windows 11/10 boots so fast & all the process that goes behind in the background.

Download PC Repair Tool to quickly find & fix Windows errors automatically

Ever wondered what happens when you push the power button? In this post, we will see how Windows 11/10 boots and all that goes behind in the background. While all we see it as one process, everything happens in steps. It has been designed in such a fashion that if you face any issue with Windows Boot, you will be able to troubleshoot it.

Windows 10 boot

Windows boot process on BIOS systems comprises of four major phases. It starts from POST and ends up loading the Windows OS Loader or the Kernel. Here is a detailed description of the Windows 10 boot process and the list of stages it goes through:

  1. PreBoot
  2. Windows Boot Manager
  3. Windows OS Loader.
  4. Windows NT OS Kernel.

During every process, a program is loaded. Depending on whether it uses Legacy BIOS or UEFI, the file paths and files change.

Phase Boot Process BIOS UEFI 
1 PreBoot MBR/PBR (Bootstrap Code) UEFI Firmware
2 Windows Boot Manager %SystemDrive%bootmgr EFIMicrosoftBootbootmgfw.efi
3 Windows OS Loader %SystemRoot%system32winload.exe %SystemRoot%system32winload.efi
4 Windows NT OS Kernel %SystemRoot%system32ntoskrnl.exe

1]  PreBoot: POST or Power-On Self-Test loads firmware settings. It checks for a valid disk system, and if the system is good to go for the next phase. If the computer has a valid MBR, i.e., Master Boot Record, the boot process moves further and loads Windows Boot Manager.

2] Windows Boot Manager: This step determines if you have multiple OS installed on your computer. If yes, then it offers a menu with the names of the OSs. When you select the OS, it will load the right program, i.e., Winload.exe to boot you into the correct OS.

3] Windows OS Loader: Like its name, WinLoad.exe loads important drivers to kick start the Windows Kernel. The kernel uses the drivers to talk to the hardware and do rest of the things required for the boot process to continue.

4] Windows NT OS Kernel: This is the last stage that picks up the Registry settings, additional drivers, etc. Once that has been read, the control is taken by the system manager process. It loads up the UI, the rest of the hardware and software. That’s when you finally get to see your Windows 10 Login screen.

When you run Windows 11/10 on a computer that supports Unified Extensible Firmware Interface (UEFI), Trusted Boot protects your computer from the moment you power it on. When the computer starts, it first finds the operating system bootloader. Computers without Secured Boot simply run whatever bootloader is on the PC’s hard drive.

When a computer equipped with UEFI starts, it first verifies that the firmware is digitally signed. If Secure Boot is enabled, the firmware examines the bootloader’s digital signature to verify that it is intact hasn’t been modified. You can read more on how to secure the Windows Boot Process.

Do remember that lot of things happen even after you log in, but that’s all post-boot process scenarios. Also note that there is much more to Windows 11/10 Boot process than we explained here – we only explained the basics!

Ezoic

Anand Khanse is the Admin of TheWindowsClub.com, a 10-year Microsoft MVP (2006-16) & a Windows Insider MVP (2016-2022). Please read the entire post & the comments first, create a System Restore Point before making any changes to your system & be careful about any 3rd-party offers while installing freeware.

Download PC Repair Tool to quickly find & fix Windows errors automatically

Ever wondered what happens when you push the power button? In this post, we will see how Windows 11/10 boots and all that goes behind in the background. While all we see it as one process, everything happens in steps. It has been designed in such a fashion that if you face any issue with Windows Boot, you will be able to troubleshoot it.

Windows 10 boot

Windows boot process on BIOS systems comprises of four major phases. It starts from POST and ends up loading the Windows OS Loader or the Kernel. Here is a detailed description of the Windows 10 boot process and the list of stages it goes through:

  1. PreBoot
  2. Windows Boot Manager
  3. Windows OS Loader.
  4. Windows NT OS Kernel.

During every process, a program is loaded. Depending on whether it uses Legacy BIOS or UEFI, the file paths and files change.

Phase Boot Process BIOS UEFI 
1 PreBoot MBR/PBR (Bootstrap Code) UEFI Firmware
2 Windows Boot Manager %SystemDrive%bootmgr EFIMicrosoftBootbootmgfw.efi
3 Windows OS Loader %SystemRoot%system32winload.exe %SystemRoot%system32winload.efi
4 Windows NT OS Kernel %SystemRoot%system32ntoskrnl.exe

1]  PreBoot: POST or Power-On Self-Test loads firmware settings. It checks for a valid disk system, and if the system is good to go for the next phase. If the computer has a valid MBR, i.e., Master Boot Record, the boot process moves further and loads Windows Boot Manager.

2] Windows Boot Manager: This step determines if you have multiple OS installed on your computer. If yes, then it offers a menu with the names of the OSs. When you select the OS, it will load the right program, i.e., Winload.exe to boot you into the correct OS.

3] Windows OS Loader: Like its name, WinLoad.exe loads important drivers to kick start the Windows Kernel. The kernel uses the drivers to talk to the hardware and do rest of the things required for the boot process to continue.

4] Windows NT OS Kernel: This is the last stage that picks up the Registry settings, additional drivers, etc. Once that has been read, the control is taken by the system manager process. It loads up the UI, the rest of the hardware and software. That’s when you finally get to see your Windows 10 Login screen.

When you run Windows 11/10 on a computer that supports Unified Extensible Firmware Interface (UEFI), Trusted Boot protects your computer from the moment you power it on. When the computer starts, it first finds the operating system bootloader. Computers without Secured Boot simply run whatever bootloader is on the PC’s hard drive.

When a computer equipped with UEFI starts, it first verifies that the firmware is digitally signed. If Secure Boot is enabled, the firmware examines the bootloader’s digital signature to verify that it is intact hasn’t been modified. You can read more on how to secure the Windows Boot Process.

Do remember that lot of things happen even after you log in, but that’s all post-boot process scenarios. Also note that there is much more to Windows 11/10 Boot process than we explained here – we only explained the basics!

Ezoic

Anand Khanse is the Admin of TheWindowsClub.com, a 10-year Microsoft MVP (2006-16) & a Windows Insider MVP (2016-2022). Please read the entire post & the comments first, create a System Restore Point before making any changes to your system & be careful about any 3rd-party offers while installing freeware.

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

8) 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 или UEFI (про них позже),
  • жёсткий диск.

Когда всё это заработало, системный контроллер берёт содержимое микросхемы BIOS, загружает его в оперативную память и говорит «Ну всё, дальше ты». С этого момента управление компьютером переходит к BIOS.

Загрузился BIOS

BIOS — это аббревиатура от Basic Input/Output System, базовая система ввода-вывода. Она отвечает за первоначальную загрузку компьютера. Все данные BIOS хранятся в отдельной микросхеме на материнской плате, а чтобы настройки не пропали после отключения от розетки, ставят батарейку. Если питания от сети не будет, батарейка будет поддерживать память в микросхеме около 10 лет.

Как происходит загрузка компьютера

Микросхема BIOS рядом с батарейкой

Первое, что делает BIOS, — запускает POST (Power On Self Test), самотестирование при включении. Тест проверяет работу процессора, оперативной памяти, контроллеров, загрузчиков и всего остального оборудования, важного для загрузки компьютера. Если всё в порядке, то компьютер пропищит один раз и продолжит загрузку — так он сообщает о результатах тестирования. А если будут ошибки — пропищит иначе, например:

  • короткий и длинный — ошибка с оперативной памятью;
  • длинный и 2 коротких — проблемы с видеокартой;
  • постоянно длинный и короткий гудки — что-то с процессором;
  • всё время пищит — ошибки с блоком питания.

Когда POST пройден, BIOS начинает искать загрузчик операционной системы. Для этого он смотрит у себя в настройках порядок загрузки — список дисков по очереди, с которых можно загрузиться. Например, вот порядок загрузки на экране BIOS компьютера Lenovo. Видно, что сначала нужно попробовать загрузиться с USB (первые три строчки), потом, если USB-дисков нет, — с жёсткого диска (п. 4), а если и диска нет — то попробовать с CD-дисковода или загрузиться по сети:

Как происходит загрузка компьютера

Порядок загрузки на экране BIOS компьютера Lenovo. Если нигде загрузчика не будет, BIOS остановится и выдаст ошибку

Как только загрузчик найден, BIOS считывает его код и передаёт ему всё дальнейшее управление компьютером.

Немного про UEFI

У BIOS есть проблема — устаревший интерфейс и мало возможностей для настроек компьютера. Чтобы это исправить, придумали UEFI — мини-операционную систему, которая так же, как и BIOS, может управлять основными настройками, но ещё обладает дополнительными возможностями. Например, у неё есть полноценный графический интерфейс с мышкой, расширенные возможности по настройке устройств и более полный доступ к возможностям железа. 

Основное отличие от BIOS в том, что UEFI требуется больше памяти для первоначальных программ загрузки компьютера. Для этого UEFI забирает себе первые 100 мегабайт на диске и берёт эти данные оттуда, а сам раздел делает скрытым. 

Как происходит загрузка компьютера

Работа загрузчика

Загрузчик — это сборное название всех программ и драйверов, которые понадобятся операционной системе для полноценной загрузки. 

Можно провести такую аналогию: операционная система — это строительная бригада, которая может сделать что угодно. Но для её работы нужен менеджер, чтобы он заранее съездил к заказчику, выяснил, что нужно сделать, составил смету, закупил материалы и прикинул график работ. Загрузчик — это как раз тот самый менеджер, который делает все предварительные работы. Если менеджер не сделает свою часть, бригада не сможет приступить к работам.

Сам загрузчик находится на жёстком диске, и как только BIOS его находит и отправляет в оперативную память, загрузчик начинает действовать:

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

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

Запуск ядра операционной системы

Если процесс загрузки дошёл до этой точки, то компьютер понимает, что скоро загрузится операционная система, а значит, можно показать пользователю стартовый экран. На Windows он выглядит так:

Как происходит загрузка компьютера

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

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

Смысл ядра — запустить все программы, которые будут нужны для дальнейшей работы операционной системы. В нашей аналогии со строительной бригадой, ядро — это прораб, который находится всё время на объекте от начала работ до их полного окончания. Прораб следит за ключевыми процессами и вмешивается, если что-то идёт не так. Ядро действует точно так же: обеспечивает работоспособность всей ОС и регулирует ключевые процессы.

Вход пользователя в систему

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

Как происходит загрузка компьютера

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

И всё.

Вёрстка:

Кирилл Климентьев

Что означают слова «мой компьютер не запускается»?

Каждый сетевой администратор постоянно сталкивается с ситуацией, когда пользователи, жалующиеся на неполадки, произносят туманную фразу, которая может слегка испортить настроение: «Компьютер не запускается!» Обычно при этом пользователи сообщают, что нечто непредвиденное произошло в процессе загрузки — либо во время самотестирования компьютера (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»

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

Как загружается Windows 10

Процесс загрузки Windows 10 в системах BIOS состоит из четырех основных этапов. Он начинается с POST и заканчивается загрузкой ОС Windows или ядра. Вот список этапов, через которые он проходит:

  1. Preboot
  2. Менеджер загрузки для Windows
  3. Загрузчик ОС Windows.
  4. Ядро ОС 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 намного больше, чем мы объяснили здесь – мы только объяснили основы!

Содержание

  1. Как происходит загрузка операционной системы виндовс
  2. Загрузка BIOS
  3. Процесс загрузки Windows XP
  4. Как происходит загрузка операционной системы
  5. Инициализация системы средствами BIOS
  6. Загрузка операционной системы
  7. Все, что вы хотели знать про загрузку Windows, загрузчики и восстановление загрузки ОС
  8. Принципы загрузки операционных систем
  9. Типы MBR
  10. Разнообразие PBR
  11. Кратко о загрузчике Syslinux
  12. Загрузчики Windows
  13. Конфигурирование BOOTMGR и BCD
  14. Загрузчик GRUB4DOS
  15. Установка GRUB загрузчика под Windows
  16. Выводы
  17. Как загружается Windows 10?
  18. Как загружается Windows 10

Как происходит загрузка операционной системы виндовс

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

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

Загрузка 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

Загрузкой Windows управляет NTLDR, который состоит из двух частей – первый StartUp переводит процессор в защищённый режим и стартует загрузчик ОС. Загрузчик содержит в себе основные функции для работы с дисками отформатированными в FAT*, NTFS и CDFS системы. Загрузчик считывает содержимое boot.ini и, в соответствии с его содержимым (количество ОС, диски на котором установленны и т.п.), продолжает загрузку. Если Windows была переведена в состояние гибернации, то NTLDR загружает в память компьютера файл hiberfil.sys и передаёт управление в ядро Windows. Если вы завершили работу компьютера простым выключением/перезагрузкой, то NTLDR загружает DOS’овский файл NTDETECT.COM, который строит список аппаратного обеспечения и загружает саму операционную систему Windows.

Если файл NTLDR удалён/перемещён/повреждён, то система не загрузится и выведет сообщение “NTLDR is missing. Press CTRL+ALT+DEL to restart“. Решить эту проблему можно в консоли восстановления Windows (Recovery Console) командой fixboot или скопировав NTLDR с рабочей системы в корень диска.

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

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

Источник

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

Вкратце процесс загрузки компьютера описан в статье «Включение ПК» раздела BIOS. Рассмотрим этот процесс более подробно.

Инициализация системы средствами BIOS

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

Ядро операционной системы (ОС) загружается в ОЗУ, после чего в памяти системы размещается основная часть ОС.

На заре развития персоналок конфигурирование системы требовало от пользователей соответствующей квалификации. Наверняка, пользователи со стажем еще помнят такие файлы, как config.exe и autoexec.bat, которые надо было правильно настроить, чтобы «телега» нормально поехала.

Задача, в общем-то, довольно сложная. Для облегчения ее выполнения производители чипсетов и разработчики ПО согласовали и установили определенные правила механизма начальной загрузки. Теперь компоненты компьютерной системы, требующие инициализации и настройки комплектовались соответствующим программным обеспечением (инициализирующими программами, драйверами, INF-файлами):

Начальная загрузка Windows ведется под управлением командного файла, который содержит перечень программ и драйверов выполняемых в процессе загрузки ОС. Это, так называемая, «заготовка» командного файла, которая должна в процессе первоначальной установки Windows на компьютер, переделана в рабочую версию, соответственно установленному оборудованию на данном компьютере.

Windows имеет определенный набор универсальных драйверов (который постоянно пополняется с выходом новой версии ОС), позволяющих выполнить настройку всех компонентов системы. Справедливости ради следует сказать, что универсальные драйвера Windows далеко не всегда способны произвести оптимальную настройку того или иного устройства, что снижает производительность и стабильность работы всей компьютерной системы. Поэтому, все устройства поставляются со «своим» установочным ПО (как правило, на CD). При первоначальной установке нового устройства Windows может попросить вас установить в дисковод диск с соответствующими драйверами для правильной настройки нового устройства. Рекомендуется также следить за выходом новой версии драйверов (в которых исправлены ошибки, сделана оптимизация работы и проч.) для чипсета своей материнской платы и регулярно обновлять их.

Источник

Все, что вы хотели знать про загрузку Windows, загрузчики и восстановление загрузки ОС

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

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

При включении компьютера управление процессором получает 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 Таблица разделов

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

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

Как видно, MBR может содержать информацию максимум о 4 разделах. Каждый 16-байтовый блок, содержащий информацию о разделах, в своем начале содержит признак активности раздела — т.е. признак того, что операционную систему следует загружать именно из этого раздела — может иметь значения 80h (раздел активен) и 00h (раздел не активен). Количество активных разделов должно быть не более одного.

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

Типы MBR

Выше мы увидели, что в сектор MBR записывается код загрузчика. Что же это? Дело в том, что в MBR может быть записан как «стандартный» загрузчик, так и альтернативные загрузчики.

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

Конечно, с учетом многообразия ОС, существует масса других 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 сектор

Тип MBR — Grub4DOS, 18 секторов

Тип MBR — LILO/GRUB и др. линуксовые (к-во секторов зависит от версии и количества файлов)

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

Например, типичные пример создания мультизагрузочной флэшки – 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, и так далее.

17 07 2017 19 29 57 Редактирование и установка MBR

17 07 2017 19 30 22 Редактирование и установка загрузчика

18 07 2017 13 46 48 Установка MBR GRUB4DOS

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

17 07 2017 19 31 57 Работа с таблицей разделов в BootICE

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

Итак, 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

18 07 2017 13 48 11 Установка загрузчика Syslinux

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

Загрузчики Windows

Конечно, основное внимание мы уделим загрузчикам для 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

18 07 2017 13 45 00 Загрузка WINDOWSsystem32winload.exe

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

Обычно файл bootmgr имеет атрибуты «скрытый» и «системный». По типу структуры, файл BootBCD является кустом реестра и отображается в редакторе реестра Windows как раздел

Обычно именно конфигурация 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 файла:

18 07 2017 14 45 50 BCD menu для загрузки Windows и установки из WIM файла

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

18 07 2017 14 30 51 BCD меню загрузочной флэшки, overview

18 07 2017 14 40 58 BCD menu — установка Windows из WIM файла x86 и x64

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

Утилита 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.

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

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

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

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

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

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

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

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

Если вам совсем не хочется, существует программа GRUB4DOS Installer, и даже удобный русский инсталятор для нее, но этот вариант вам не позволит сделать комбинированный загрузчик. Он задаст вопрос, куда распаковать файлы и куда установить загрузчик, после чего сделает все сам: отформатирует, установить MBR, скопирует файлы. Но я лично против такой «автоматизации».

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

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

Для желающих создать подобные флэшки рекомендую также почитать профильные сайты: greenflash.su, flashboot.ru и usbtor.ru.

Выводы

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

Источник

Как загружается Windows 10?

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

lazy placeholder

Как загружается Windows 10

Процесс загрузки Windows 10 в системах BIOS состоит из четырех основных этапов. Он начинается с POST и заканчивается загрузкой ОС Windows или ядра. Вот список этапов, через которые он проходит:

Во время каждого процесса загружается программа. В зависимости от того, использует ли он 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.

3] Загрузчик ОС Windows: Как и его имя, WinLoad.exe загружает важные драйверы для запуска ядра Windows. Ядро использует драйверы для связи с оборудованием и выполнения остальных действий, необходимых для продолжения процесса загрузки.

Когда вы запускаете Windows 10 на компьютере, который поддерживает Unified Extensible Firmware Interface (UEFI), Trusted Boot защищает ваш компьютер с момента его включения. Когда компьютер запускается, он сначала находит загрузчик операционной системы. Компьютеры без защищенной загрузки просто запускают любой загрузчик на жестком диске ПК. Когда компьютер, оснащенный UEFI, запускается, он сначала проверяет, что прошивка имеет цифровую подпись. Если включена безопасная загрузка, микропрограмма проверяет цифровую подпись загрузчика, чтобы убедиться, что она не повреждена. Вы можете прочитать больше о том, как защитить процесс загрузки Windows 10.

Помните, что многое происходит даже после входа в систему, но это все сценарии процесса после загрузки. Обратите внимание, что процесс загрузки Windows 10 намного больше, чем мы объяснили здесь – мы только объяснили основы!

Источник

Adblock
detector

Загрузка ОС происходит в несколько этапов:

1. После нажатия кнопки включения или перезагрузки управление берет на себя Базовая система ввода/вывода (Basic Input/Output System — BIOS). BIOS — это программа, записанная в постоянной энергонезависимой памяти компьютера -ПЗУ (английская аббревиатура — CMOS). BIOS производит тестирование и инициализацию всех устройств и, если они прошли успешно, считывает MBR по абсолютному адресу. Затем помещает считанный код главного загрузчика в оперативную память и передает ему управление.

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

3. Получивший управление загрузчик операционной системы инициирует загрузку ядра ОС в память.

4. Запускается сама операционная система.
Как видно из вышесказанного, при загрузке компьютера используются абсолютные адреса, т.е. номера жестких дисков, цилиндров, головок, секторов, блоков. Выполнение этапов загрузки происходит по жестко заданной цепочке. Для успешной загрузки ОС необходимо, чтобы все участники цепочки находились на своих строго определенных местах: главный загрузчик и основная таблица разделов в загрузочном секторе диска, загрузчик(и) ОС и таблицы разделов в остальных разделах диска.

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

← Особенности загрузки различных ОС Загрузка DOS

  Загрузчик системы →

Понравилась статья? Поделить с друзьями:
  • Операционные системы семейства windows это определение
  • Опишите программные средства диагностики работоспособности сети встроенные в ос windows 8
  • Операционные системы семейства windows это кратко
  • Опишите принципы работы checkedlistbox в windows form
  • Операционные системы семейства windows это в информатике