Відновлення Windows після заміни материнської плати - Новини зі світу IT, новини інтернет
Автор: Super User. Опубліковано в Корисні Статті
Відновлення Windows після заміни материнської плати
Причини непрацездатності Windows після заміни системної плати.
Нерідко після заміни материнської плати або зміни режиму роботи контролера жорсткого диска в налаштуваннях BIOS (Raid, Compatible, AHCI, Native SATA) завантаження системи починається як завжди, з'являється початкова заставка, потім - скидання, інформація про проходження POST BIOS, і знову початок завантаження з тим самим продовженням. Зазвичай це відбувається через те, що система не змогла завантажити драйвер пристрою завантаження і виникла критична помилкаSTOP: 0x0000007B Inaccessible Boot Device (Недоступно пристрій завантаження)
Щоб замість перезавантаження отримати точну інформацію про критичну помилку необхідно вимкнути режим виконання автоматичного перезавантаження при її виникненні. Для ОС Windows XP і старше це можна зробити через меню завантажувача Windows, якщо на початку завантаження натиснути F8 і вибрати варіант завантаження -Вимкнути автоматичне перезавантаження при відмові системи

При завантаженні в даному режимі, після виникнення критичної помилки на екран монітора буде видано "синій екран смерті" Windows абоBSOD -B lueS creenO fD eath.
Критична помилкаStop 7B при заміні материнської плати, або зміні режиму роботи контролера жорсткого диска виникає тому, що новий контролер не розпізнається системою як, саме, контролер жорсткого диска.
На самому початку роботи завантажувача операційної системи для виконання операцій з жорстким диском використовуються спеціальні підпрограми BIOS (функції переривання INT 13H), ісаме тому завантаження системи починається і якийсь час виконується нормально. Однак, на певному етапі завантаження та ініціалізації ядра, оскільки Windows не використовує функції переривання BIOS, виникає необхідність завантажити драйвери, через які буде доступ до пристрою завантаження (Boot Device). В першу чергу система повинна визначити, який контролер жорсткого диска буде використовуватися і завантажити для нього відповідний драйвер. Якщо контролер не знайдено, не знайдено драйвер або заборонено його запуск - система завершить процес завантаження через критичну помилку недоступності пристрою завантаження (stop 7B).
При заміні материнської плати на плату іншого типу контролер жорсткого диска, з точки зору операційної системи, стане іншим, новим пристроєм. У процесі початкового завантаження пристрої Plug-n-Play (PnP) ідентифікуються системою за допомогою спеціального коду (PnP-ID), що залежить від набору мікросхем, на яких зібрано пристрій або чіпсета (chipset), і новий контролер HDD, зібраний на іншому чіпсеті матиме інший ідентифікатор. Якщо системі "відомий" новий PnP-ID контролера HDD, і є драйвер для його обслуговування - заміна материнської плати пройде без будь-яких проблем. В іншому випадку, невідомий ідентифікатор контролера HDD, встановленої системі, не дозволить їй завантажити потрібний для роботи драйвер.
І тут проглядається 2 варіанти вирішення проблеми:
- Змусити систему працювати з новим контролером жорсткого диска з використанням стандартних драйверів від Microsoft. - додати новий драйвер контролера жорсткого диска від виробника обладнання до непрацюючої системи.
Перший варіант значно простіший, безпечніший і може бути легко виконаний з використанням звичайного імпортуКілька ключів у реєстр непрацюючої системи, наприклад, за допомогоюERD Commander Другий трохи складніше, потрібно не тільки додати ідентифікаційний запис для контролера HDD, але і зв'язати з ним потрібний драйвер, а також забезпечити його завантаження та ініціалізацію.
Одним із способів усунення стоп-помилки 7B є послідовне виконання наступних дій:
- Переведення контролера, при необхідності, в налаштуваннях BIOS материнської плати в режим сумісності (Compatible Mode) зі стандартним IDE - контролером Зазвичай, це виконується в розділі конфігурації контролера жорсткого диска і може мати різні значення установок, Controller Mode : Compatible Налаштування SATA як: IDE SATA Operation як ATA AHCI Mode: Disabled SATA Native Mode: Disable
- Використання стандартних драйверів з дистрибутива Windows для завантаження системи. Зазвичай для цього не потрібні особливі зусилля, хіба що перевірити кілька значень параметрів реєстру.
Усунення стоп-помилки 7B за допомогою стандартних драйверів від Microsoft.
До складу дистрибутива Windows входять стандартні драйвери для роботи з IDE (ATA) контролерами HDD (atapi.sys, pciide.sys, pciidex.sys, intelide.sys), які можна було б використовувати для будь-якого дискового IDE-сумісного контролера, але проблема полягає в тому, що системі потрібно вказати, що пристрій з таким PnP-ID - це і є контролер жорсткого диска.
Інформація провідомі системи пристроїв створюється на основі .inf-файлів при встановленні нового обладнання і зберігається в розділі реєстру:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\
Отже, вирішення проблеми полягає в наступному:
- Визначитиідентифікатор нового контролера жорсткого диска - зробити, на основі ідентифікатора, зміни в реєстрі системи "Stop 7B", що завершується помилково, запис, що дозволяє використовувати стандартні драйвери з дистрибутива для нового контролера. Іншими словами, вказати системі, що пристрій з таким PnP-ID - це стандартний ATA контролер жорсткого диска.
Для вирішення задачі нам знадобиться будь-яка програма, що дозволяє отримати PnP-ідентифікатор пристрою, наприклад -Advanced PCI Info Utility
Ця утиліта розроблена досить давно, і до появи Windows 7 була, мабуть, одним з найбільш простих і зручних програмних засобів визначення PnP - ідентифікаторів. Однак, на даний момент, утиліта застаріла, не працює в середовищі операційних систем Windows Vista і старше, а також серед дисків аварійного відновлення на базі Windows PE2 і пізніших ( після ERDC 6х ). Тому, краще користуватися переносними утилітами від NirSoftDevManView, розробленими як альтернатива стандартному диспетчеру пристроїв Windows:
А в якості засобу роботи з системою, що не завантажується -Winternals ERD Commander (ERDC).
ERDC є програмною оболонкою на базі Widows PE (для Windows Vista і пізніших - на базі Windows PE2 або старше), що дозволяє завантажитися з компакт-диска або іншого знімного носія, підключитися до системи, що не завантажується, отримати зручний доступ до її ресурсів - файлової системи , системного журналу, реєстру, драйверів та служб тощо. Крім того, в середовищі ERD Commander, можливе виконання практично будь-якої переносної (portable) програми (або програми, для якої не критично відсутність деяких записів у реєстрі Windows, що виконуються при інсталяції програми).
Після придбання компанії Winternals Software (розробника пакету ERD Commander) Майкрософтом, ERDC став частиною пакета оптимізації під назвою Microsoft Diagnostic and Recovery Toolset (MSDaRT абоDaRT ). Тим не менш, серед фахівців, як і раніше, використовується старе і тепер вже неофіційне назва - ERD Commander (ERDC ):
DaRT 5.0 - ERDC 5.0 - для Windows XP
DaRT 6.0 - ERDC 6.0 - для Windows Vista
DaRT 6.5 7.0 - ERDC 6.5 7.0 - для Windows 7
DaRT 8.0 - ERDC 8.0 - для Windows 8
Детальний опис ERD Commander та практичну інструкцію по роботі з ним наведено на сторінціВикористання ERD Commander.
ПрограмиDevManView (devmanview.exe) таAdvanced PCI Info Utility (APciInfo.exe) можуть виконуватися в середовищі ERD Commander без необхідності встановлення програми. APCIinfo - тільки в середовищі 32-розрядних версій для Windows XP або раніше ОС. Архів APCIINFO містить саму утиліту та драйвери, потрібні для її роботи. Після завантаження потрібно розархівувати вміст в якусь папку, ім'я якої не містить символів українського алфавіту і записати на якийсь носій, наприклад, флешку, щоб мати можливість запустити утиліту після завантаження ERDC. Під час завантаження носій повинен бути підключений до комп'ютера. Архіви DevManView містять модуль і довідкову інформацію, що виконується, і застосовуються аналогічно без інсталяції. Завантаження ERDC виконується звичайним чином і завершується вікном вибору операційної системи, з якою будемо працювати.

Після вибору системи виконується вхід в оболонку користувача ERDC і стають доступними інструменти для роботи з нею через меню кнопкиStart

Запускаємо Advanced PCI Info Utility (виконуваний модуль apciinfo.exe) через "Start" - "Run". Утиліта видасть список пристроїв PCI

VID - це ідентифікатор виробника (Vendor ID ), колонкаDID - ідентифікатор пристрою (Device ID ). КолонкаDevice name - це ім'я пристрою, яке присвоєно операційною системою, в даному випадку, ERD Commander'ом.
Подвійним клацанням можна викликати властивості вибраного пристрою.

Контролер жорсткого диска в даному прикладі маєVendor/Device ID - 8086/7111.
ВикористанняDevManView також дозволяє визначити PnP ідентифікатор контролера жорстких дисків:

Контролер жорсткого диска в даному прикладі має Vendor ID/Device ID – 8086/24D1.
Знаючи значення PnP-ідентифікатора пристрою, можна внести запис до реєстру проблемної системи, вказавши, що цей пристрій відноситься до класу контролерів жорсткого диска. Для чого потрібно створити reg-файл для імпорту такого змісту:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_7111] "Service"="intelide" "ClassGUID"=""
Щоб не набирати ці дані вручну, можна скористатися вмістом файлу pnpid.reg , який я помістив у архів утилітиAdvanced PCI Info Utility. Редагувати його можна за допомогою блокнота ERDC ("Start" - "Notepad" ) Потрібно виправити тільки PNP-ідентифікатор на той, який буде отриманий за допомогою утиліти Advanced PCI Info. Рядок "Service" визначає драйвер, який обслуговуватиме пристрій. Файл драйвера повинен існувати в каталозі\WINDOWS\SYSTEM32\DRIVERS і бути працездатним. Рядок "ClassGUID" вказує належністьпристрої з даними PnP-ID до класу контролерів жорстких дисків
На початок файлу pnpid.reg додано записи, які забезпечують використання стандартних або найпоширеніших драйверів. Якщо запису для потрібного PnP-Id немає - доведеться її додати, або підправити вже існуючу. Для пристроїв з кодом Vendor ID не дорівнює 8086, замістьintelide потрібно використовуватиatapi.
Для перевірки наявності драйверів у системі можна скористатися наявним в ERDC менеджером служб і драйверів. Запускається через меню "Start" - "Administrative Tools" - "Service and Drivers Manager"
У згаданому вище файлі pnpid.reg є записи для додавання стандартних драйверівpciide.sys,intelide.sys,atapi.sys. Ці файли та файл pciidex.sys повинні бути присутніми в каталозі драйверів\WINDOWS\SYSTEM32\DRIVERS. Зазвичай, при стандартній установці вони там присутні. Якщо ні - можна взяти з дистрибутива або каталогу аналогічної ОС.
Для операційної системи Windows 7, в переважній більшості випадків, проблема критичної помилки STOP 7B при заміні материнської плати вирішується досить просто, оскільки в складі встановленої ОС вже є драйверmsahci.sys для контролера жорсткого диска, що працює в режимі AHCI. Але, зазвичай, цей драйвер або вимкнено, або завантажується в режимі "Вручну". Приклад запису в реєстрі для драйвера msahci (розділ реєстру HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\msahci ) :
Як бачимо, параметрStart дорівнює4 - драйвер вимкнено. Щоб використовувати драйвер msahci.sys для підтримки пристрою завантаження, цей параметр повинен мати значення0. Змінити параметр запускуStart для системи, що не завантажується, можна за допомогою того ж ERD Commanderверсії 6.5, 7.0 (MS DaRT 7.0) або старше, встановивши режим через меню "Керування комп'ютером" або правкою реєстру ("Редактор реєстру ERD").
Якщо у вас немає достатньої кваліфікації для роботи з ERD Commander, або виникли труднощі у визначенні потрібного драйвера, можна скористатися дуже простою методикою:
- Завантаження на новій материнській платі в будь-якій системі, де вона можлива. Експорт у файл вмісту розділу
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase
- завантаження в ERDC та імпорт даних зі створеного в попередньому пункті файлу до реєстру проблемної системи. У разі використання драйвера msahci.sys для Windows 7 необхідно перевірити або змінити параметрStart
Для виконання першого пункту можна просто на якийсь час встановити систему в інший розділ або каталог, завантажитися в ній і виконати експорт
Після цього, знову встановлену ОС можна видалити.
І, зовсім просто, проблема вирішується, якщо у вас є можливість отримати експортовані даніCriticalDeviceDatabase з операційної системи іншого комп'ютера з такою ж материнською платою.