Сгорела материнская плата на домашнем компьютере. Заменил на новую. Перестала грузиться Windows 7, уходя в бесконечный ребут или (если «отключить автоматическую перезагрузку при крахе системы») выдавая синий экран с ошибкой 0x0000007B INACCESSIBLE_BOOT_DEVICE. Беда в том, что виндовсу нужен другой драйвер для контролллера жестких дисков, поскольку сам контроллер поменялся.
Переустанавливать винду, 100500 программ и настроек оооочень не хотелось.
После упорного гугления была испробована куча разных способов и припарок, в итоге изобрёл свой собственный индивидуальный рецепт спасения.
Что я делал:
Взял другой физический жесткий диск и установил на него аналогичную Windows 7 Home Premium 64-bit + драйвера на новую материнку.
Экспортировал из реестра рабочей винды следующие ключи:
примечание: nvstor, nvraid — это имя для всего, что связано с чипсетом nvidia, если чипсет другой, то ключи могут быть другие
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\nvstor32
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\nvstor64
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\nvstor
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\nvraid
стандартные драйвера:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\pciide
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci
А также экспортировал всё, где встречается PCI#VEN_10DE&DEV_* и nvstor из ключей:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\
Ещё на всякий случай скопировал:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\System\nvstor
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\System\nvstor32
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\System\nvstor64
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_NVSTOR
Все полученные *.reg файлы (несколько десятков) сохранил на флешку
Кроме того на ту же флешку из рабочей системы скинул следующие папки:
C:\Windows\System32\DriverStore\FileRepository\nvraid*
C:\Windows\System32\DriverStore\FileRepository\nvstor*
И следующие файлы:
C:\Windows\System32\Drivers\nvstor*
Нашёл ERD Commander свежей версии, который позволяет редактировать реестр нерабочей Windows 7, и сделал из него загрузочный двд.
Загрузился в ERD, указал ему для работы незагружаемую систему, импортировал в её реестр все созданные ранее *.reg файлы.
Удалил следующую ветку:
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
Положил в те же места скопированные файлы и папки драйверов из System32.
Грузимся в нерабочую (а теперь уже рабочую!) систему в безопасном режиме, немножко шаманим с драйверами, удаляем старые, ставим новые, раз 5 перезагружаемся — PROFIT! 🙂
(А поскольку Windows у меня лицензионная, после всех этих процедур пришлось ещё раз её активировать — по телефону)