Как стать автором
Обновить
0

Решение ошибки STOP 7B при замене контроллера дисковой системы. Применение виртуальных машин в восстановлении данных

Время на прочтение 3 мин
Количество просмотров 32K
image
Disclaimer: за давностью лет точную модель серверов и контроллеров установить не удалось, поэтому в тексте при упоминании модели будут оговорки и, конечно же, возможны ошибки в деталях. Сути это не меняет — ниже описана процедура преодоления отсутствия драйвера нового контроллера без Recovery Console и «глубоких» знаний Windows 2003. Вероятно, возможны более оптимальные пути решения такой проблемы, чем использование виртуальной машины.

Проблема: Сломался контроллер, выпали два SCSI диска, а потом и умер и весь сервер. Это был HP Proliant, предположительно Proliant DL380 G3 с контроллером Smartarray 6i. К утру нужно заставить работать Exchange и несколько доменов, которые крутились на сервере.

Подняли диски, сделали посекторные образы, сделали образ всего рейда. Восстановили из образа данные, но заказчик хочет еще и восстановление работоспособности сервера. Сервера с таким же RAID контроллером нет, времени на поиск нету — это контроллер нескольких доменов, не во всех доменах есть BDC. Плюс там же крутится Exchange. К утру надо всё запустить в работу — придет несколько офисов людей и не смогут работать. Есть другой сервер с другим контроллером — Smartarray P410 на SAS дисках. Будем пытаться заставить работать это на нём. Полный образ массива заливаем на новый RAID на новом контроллере в надежде, что драйвера совместимы, но система не хочет грузиться — вылетает с ошибкой STOP 0x0000007B INACCESSIBLE_BOOT_DEVICE. Recovery Console нету. Как её внедрить в неработающий сервер — не ясно. Попробовали HP SmartStart в надежде, что он установит драйвера в новую систему, но не помогло.

В процессе попробовали запустить сервер в виртуальной среде — работает, но медленно и печально — пользователи утром его повалят. Пробовали сделать backup-restore из виртуальной машины на новую с помощью ntbackup. Бэкап до утра не сделается — медленно. Думали про образ Акронисом, но в новом сервере нету ни одного PCI, а все доступные под рукой PCIe контроллеры не хотят работать в новом сервере, соответственно нет возможности подключить образ на диске, c которого хотели этот образ восстановить на новый RAID.

Пробуем в VMware установить драйвер нового контроллера (это sfx архив). Говорит, что такого оборудования нет в системе. Распаковываем архив и пробуем установить драйвер через контекстное меню по правой кнопке мыши, грузимся, не помогает — STOP 7B. Начинаем копать сам драйвер, а точнее inf файл, предварительно изучив InstallHinfSection Function. В нем нету секции Default или чего-то в этом роде, видимо поэтому и не помогла установка по правой кнопке мыши. Начинаем пробовать все секции подряд командой

RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 4 C:\WINDOWS\INF\SHELL.INF

где DefaultInstall — имя секции, 4 — “If a reboot of the computer is necessary, ask the user for permission before rebooting”. Особо меня заинтересовали секции, в которых упоминалось что-то типа копирования и инсталляции драйвера

[HpCISSs2_Inst.ntx86]
CopyFiles = @HpCISSs2.sys

[HpCISSs2_Service_Inst]
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\HpCISSs2.sys
LoadOrderGroup = SCSI Miniport
AddReg         = pnpsafe_pci_addreg
AddReg         = boot_ctrl_addreg
AddReg         = disk_timeout_addreg

после выполнения удачной команды было получено предложение перезагрузиться, сделан образ и загружена система. Пользователи успешно заработали утром, а далее были сделаны реплики DC и Exchange на новые сервера, но это заказчики делали уже сами.

Практическая польза для масс
Допустим, вы сменили материнскую плату после поломки старой — смело можно пробовать ставить в неё диск после внедрения драйвера. Для этого понадобится VMware, Winhex (чтобы отключить-включить бутсектор — помогает избежать повреждения NTFS, если его откроют одновременно host и guest системы) и новые драйвера. Возможно стоит со временем описать этот процесс пошагово и в отдельной статье.

Этот заказ описан у нас на сайте в разделе кейсов по восстановлению данных. Еще один кейс — виртуализация старого сервера Novell после отказа контроллера.

UPDATE практической пользы для масс: mafet справедливо заметил, что таким же образом (через RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection) можно добавить драйвера новой системы перед миграцией на неё
Теги:
Хабы:
+23
Комментарии 37
Комментарии Комментарии 37

Публикации

Информация

Сайт
www.datarc.ru
Дата регистрации
Дата основания
2000
Численность
11–30 человек
Местоположение
Россия

Истории