Компьютерный шаман
Сообщения: 2910
Благодарности: 956
|
Профиль
|
Сайт
|
Отправить PM
| Цитировать
Все идеально работает, если в пакете есть драйвер для контроллера диска и он установился.
Если же он не стал по какой-либо причине (неподписанный, нет точно соответствующего HWID итд), то утилита не обнаруживает, что со службой, на которой загрузилась первый рас система, связан драйвер. И выключает службу.
После перезагрузки имеем BSOD.
Если не вычищаем ничего - то при первой загрузке все службы, что мы добавили при подготовке к клону, ставятся как не-пнр (legacy) драйвера (их можно увидеть в диспетчере устройств, включив в нем показ скрытых устройств, драйвера устройств не plag&play) и из-за конфликта после перезагрузки имеем либо ошибку NTFS.SYS либо отсутствующий NVGTS.SYS (хотя сам драйвер присутствут).
Выводы - очищать надо, но осторожно.
Нашел обходной маневр - у каждой нашей добавленной службы в реестре проверять подключ Enum
Если там присутствуют только ссылки типа Root\LEGACY_INTELIDE\0000, то связанных со службой реальных устройств нет, а службу нужно отключать и драйвер Root\LEGACY_INTELIDE\0000 удалить.
Если же там присутствует что-то типа PCI\VEN_10DE&DEV_037F&SUBSYS_10261695&REV_A2\3&2411e6fe&1&28 хоть в одном экземпляре - то службу трогать не надо.
Это всю сумбурную логику реализовал в коде. И выложил.
Ссылка в шапке.
Убил сегодня полдня, пока понял причины. Вся проблема в том, что это воспроизводимо только на реальном железе, поддержки которого нет в оригинальном дистрибутиве.
Аминь.
Кто имел проблемы с Intel AHCI - пожалуйста, протестите наборчик, чтобы понять, реально ли решена проблема.
|
-------
Человеческая лень - главная движущая сила технического прогресса.
Отправлено: 19:03, 01-05-2011
| #681
|