Рубрики
Windows информация

Boot MBR/GPT

Порядок загрузки OS Для Bios (CSM_UEFI):

MBR bios->1sector_hdd0->loader->active_part->1sector_part->bootmgr->bcd->list_OS->winload.exe

Порядок загрузки OS Для UEFI GPT\MBR:

UEFI->ESP_part->\EFI\boot\bootx.efi

О приложениях, службах, процессах:

1. application - exe,dll...  файлы необходимые для работы программы
2. process - это частный экземпляр запущенного исполняемого файла например exe.
   - интерактивный
   - запускается от пользователя
   - запускается после входа пользователя в систему
3. Service(служба) - это частный экземпляр выполняемого исполнительного файла например exe.
   - не интерактивный
   - запускается от имени пользователя (system ....)
   - работает всегда
   - запускается до входа в систему

Подробно про BCD:

По типу структуры, файл \\boot\BCD является кустом реестра и отображается в редакторе реестра Windows как раздел HKEY_LOCAL_MACHINE\BCD00000000

Данные конфигурации загрузки можно условно разделить на 3 основных элемента:
хранилище BCD (Store)
записи в хранилище (Entries)
параметры записей (Entry Options)

bcdedit /v отобразить данные текущей системной конфигурации загрузки без использования псевдонимов (только с идентификаторами GUID) 
Перечень псевдонимов (известных идентификаторов):
{bootmgr} Указание записи диспетчера загрузки Windows.
{fwbootmgr} Указание записи диспетчера загрузки микропрограмм, особенно в системах, где реализована спецификация EFI.
{memdiag} Указание записи приложения диагностики памяти.
{ntldr} Указание загрузчика ОС (Ntldr), используемого для запуска операционных систем более ранних версий, чем Windows Vista.
{current} Указание виртуального идентификатора,соответствующего загрузочной записи операционной системы, запущенной в данный момент.
{default} Указание виртуального идентификатора,соответствующего используемой по умолчанию записи диспетчера загрузки.
{ramdiskoptions} Содержит дополнительные параметры, требуемые диспетчером загрузки для устройств электронных дисков.
{dbgsettings} Содержит глобальные параметры отладки, наследуемые любой записью приложения загрузки.
{emssettings} Содержит глобальные параметры служб аварийного управления, наследуемые любой записью приложения загрузки.
{badmemory} Содержит общий список дефектов RAM, наследуемый любой записью приложения загрузки.
{globalsettings} Содержит набор общих параметров, которые должны наследоваться всеми записямиприложений загрузки.
{bootloadersettings} Содержит набор общих параметров, должны наследоваться всеми записями приложений загрузки Windows.
{resumeloadersettings} Содержит набор общих параметров, которые должны наследоваться всеми возобновлениями Windows из записей приложения спящего режима.
{hypervisorsettings} Содержит параметры гипервизора, которые могут наследоваться любой записью загрузки ОС.


Типичные проблемы с загрузкой MBR:

 
0) ошибка disk no mbr или долгая загрузка в никуда - лечит bootsect
1) disk active (если нет то будет bootfailure) - лечит diskpart
2) bootmgr - загрузчик файл в корне на активном диске (bcdboot)
3) каталог Boot на активном диске должен быть
4) файл bcd - конфиг загруки windows для  bootmgr  

Для загрузки windows 7 (vista-7-8-8.1-10) UEFI с разметкой GPT

 
три партиции 0.Recovery prtition 1. EFI System 2. Partition Windows
0. EFI\boot\bootx64.efi - загрузчик
1. EFI\Microsoft\boot\bootmgfw.efi - менеджер
2. EFI\Microsoft\boot\BCD - файл меню загрузчика
3. windows\system32\winload.exe - загрузчик windows

Восстановление загрузки Windows

 
0. Чиним загрузочный сектор
!!! - если не указать /mbr то будет перезаписана ТП (таблицы партиций)
bootsect /nt60 c: /mbr - команда для восстановления загрузочной записи MBR без изменения ТП
bootsect c: /mbr - выполнит восстановление загрузочной записи MBR 
bootsect /nt60 c: /mbr - выполнит восстановление загрузочной записи MBR windows vista-7 
bootsect /nt52 c: /mbr - восстановление загрузочной записи для windowsXP

1. Восстановление загрузочных файлов windows 7-8
bcdboot Диск:\Папка_Windows /s Диск_Куда_Пишем_Загрузчик: /l Локаль /f BIOS_или_UEFI
bcdboot c:\windows/S b: /L ru-ru  /F ALL - восстановим загрузочные файлы Windows
bcdboot c:\windows /s c: - восстановим загрузочные файлы Windows
bcdboot c:\windows /s c: /l ru-ru /f UEFI - восстановление загрузочных файлов для UEFI загрузки
bcdboot c:\windows /s c: /l ru-ru /f BIOS - восстановление загрузочных файлов для MBR загрузки

2. !!! bootice - программа для редактирования загрузчиков

Удалили загрузочный раздел и нету диска:(

 
0. создаем каталог boot на загрузочном разделе
1. берем файлы
   "C:\Windows\Boot\DVD\PCAT\BCD"
   "C:\Windows\Boot\DVD\PCAT\boot.sdi"
   "C:\Windows\Boot\PCAT\ru-RU"
   "C:\Windows\Boot\PCAT\en-US"
   "C:\Windows\Boot\PCAT\bootmgr"
2. В папку boot копируем BCD,boot.sdi каталоги ru-RU,en-US
3. Файл bootmgr копируем в корень загрузочного раздела   
4. Берем программу bootice
   С помощью bootice делаем раздел активным и добавляем загрузочные записи 
   Редактируем BCD файл

Сервисы загружающие стандартные драйвера контроллеров IDE и SATA

 
реестр: HKLM\SYSTEM\CurrentControlSet\services
разделы: amdide, amdsata, amdxata, atapi, intelide, msahci, pciide.
Значение Start=0х00000000 (0) -  означает запуск сервиса при загрузке Windows

________________________________________________________________________________________
 
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\, 
измените значение параметра Msahci start=0 (скорее всего сейчас Msahci start = 3)
________________________________________________________________________________________

GPT

источник: https://msdn.microsoft.com/ru-ru/library/hh825686.aspx 

1. Создаем на флешке текстовый файл с именем gpt.txt с таким содержанием:
________________________________________________________________________________________ 

rem == CreatePartitions-UEFI.txt ==
rem == These commands are used with DiskPart to
rem create five partitions
rem for a UEFI/GPT-based PC.
rem Adjust the partition sizes to fill the drive
rem as necessary. ==
select disk 0
clean
convert gpt
rem == 1. Windows RE tools partition ===============
create partition primary size=300
format quick fs=ntfs label="Windows RE tools"
assign letter="T"
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
gpt attributes=0x8000000000000001
rem == 2. System partition =========================
create partition efi size=100
rem ** NOTE: For Advanced Format 4Kn drives,
rem change this value to size = 260 **
format quick fs=fat32 label="System"
assign letter="S"
rem == 3. Microsoft Reserved (MSR) partition =======
create partition msr size=128
rem == 4. Windows partition ========================
rem == Create the Windows partition ==========
create partition primary
rem == Create space for the recovery image ===
shrink minimum=15000
rem ** NOTE: Update this size to match the size
rem of the recovery image **
rem == Prepare the Windows partition =========
format quick fs=ntfs label="Windows"
assign letter="W"
rem === 5. Recovery image partition ================
create partition primary
format quick fs=ntfs label="Recovery image"
assign letter="R"
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
gpt attributes=0x8000000000000001
list volume
exit
________________________________________________________________________________________
где в "select disk 0" - "0" это номер, полученный после команды "list disk" (у вас может быть другим!) 
Важно: Если в PC установлено более одного HDD, то номер диска определяет: разметка какого-именно HDD будет изменена с потерей всех данных на нём. 
________________________________________________________________________________________

2. Запускаем консоль CMD и вводим: 
diskpart /s H:\gpt.txt

________________________________________________________________________________________

Подготовка загрузочной флешки:

набираем последовательно команды:
diskpart утилита для работы с разделами
list покажет все диски
select disk n выбрать диск n
clean очистка
create partition primary создать партицию
select partition 1 выбрать первую партицию
active сделать ее активной
format fs=ntfs отформатировать ее в файловою систему ntfs
assign выполнить
exit выйти
теперь нужно подготовить диск для загрузки
bootsect.exe /nt60 u: этой командой делаем флешку загрузочной (bootsect.exe можно найти на диске windows,nt60 это какой загрузчик, u флешка)

Настройка загрузки по сети PEX:

потребуется wiak скачиваем и устанавливаем
эти команды создадут файлы для образа 
copype.cmd x86 c:\output для 32 битной установки 
copype.cmd amd64  c:\output для 64 битной установки
imagex /mauntrw  c:\output\winpe.wim 1 c:\output\mount подсоединим образ winpe.wim в нашу папку mount
cd c:\output перейдем в каталог
mkdir boot создадим директорию
cp c:\output\mount\windows\boot\pxe\*.* c:\output\boot копируем содержимое pxe с нашу папку boot
imagex /umaunt c:\output\mount отмонтируем наш образ
cp "c:\program files\windows aik\tools\petools\x86\boot\boot.sdi" c:\output\boot копируем для x86 
cp "c:\program files\windows aik\tools\petools\amd64\boot\boot.sdi" c:\output\boot  копируем для x64
copy  c:\output\winpe.wim c:\output\boot\boot.wim копируем winpe.wim в папку boot с переименованием boot.wim
следующие шаги будут над будет создать загрузчик и установить tftp сервер
osdimg -n -b c:\bootcd\etfsboot.com c:\bootcd\iso c:\bootcd\bootcd.iso создание загрузочного диска bootcd.iso

!!! сомнительные команды для восстановления загрузчика:

 
Чиним загрузчик windows xp
Грузимся с диска
C:\WINDOWS\fixmbr
C:\WINDOWS\fixboot

Чиним загрузчик в windows 7:
C:\WINDOWS\BOOTREC.EXE /FixBoot
C:\WINDOWS\BOOTREC.EXE /FixMbr

bootrec /fixmbr - авто поиск и восстановление загрузочного сектора
bootrec /fixboot - авто поиск и восстановление загрузочных файлов
bootrec /scanos - поиск установленных ОС
bootrec /rebuildbcd - пере собрать файла списка загрузки  BCD для загрузчика bootmgr.