Что делать если исчезли пользователи с экрана приветствия

За время своей работы я встречал много проблем и проблемок, решение которых лежало на поверхности или в гугле. Интернет велик и огромен и проблема, с которой столкнулись вы (ntldr is missing!!!) скорее всего уже решена, останется только приложить небольшие усилия и поискать (возможно, не в русскоязычном сегменте интернета).

Были и такие проблемы, для которых стандартные шаблоны не подходили или не было возможности локализовать проблему (вылет в BSoD как при штатной загрузке, так и во время safemod, а отсутствие доступа к журналу из ERD Commander, для выяснения сбоившего драйвера, как пример).  Был и другой тип проблем – “seems the only reason to solve it – format c:”.

Однажды вечером зазвонил телефон, и мужской голос скороговоркой произнес – “Привет Стас, я Андрей, у меня проблема с компьютером, можешь приехать? Помнишь меня?”  Оказалось, с Андреем мы пересекались года 2 назад, еще во время моей работы в интернет-кафе.

Как объяснил Андрей проблема на этот раз заключалась в том, что на одном ноутбуке с WindowsXP пропали пользователи на экране входа в систему.

На ум сразу пришел злой вирус, который скрыл через реестр учетные записи, но когда я узнал, что по ctrlaltdel не удается войти ни в учетку пользователя, ни в учетку администратора, так как обе начали требовать пароль, хотя, со слов Андрея, никакого пароля отродясь не стояло.

Ноутбуков оказалось два. Оба – прекрасные экспонаты для музея компьютерной техники.

Acer TravelMate C104Ti Tablet PC и Compaq presario 2100 игриво подмигивали мне индикаторами, обещая знатный геморрой.

С acer проблем, как таковых не было. И после удаления накопившегося за многие годы мусора, чистки реестра и дефрагментации  WinXP Tablet PC edition стала работать еще шустрее, чем раньше (к слову сказать девайс довольно бодро проигрывал фильмы, включая 2гиговые hd рипы, не смотря на pIII 900mHz).

А вот детище HP доставило проблем на два дня.

Загрузился, лично удостоверился, что на экране приветствия, справа от Please Select User действительно пусто, а по ctrlaltdel зайти нет никакой возможности ни в обычном, ни в безопасном режиме.

Первым делом был записал ERD Commander. В реестре и на диске C: с первого взгляда все было круто (ни тебе autorun.inf в корне диска, ни тебе отсутствующего ntuser.dat или переименованного профиля). В реестре, в разделе

\\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\SpecialAccounts\UserList

отсутствовали данные о том, что что-то скрыло учетные записи с экрана приветствия.

“Ладно”, подумал я, сейчас сбросим пароль на утечки… делов то.

Каким же было мое разочарование, когда ERDшный Locksmith, грустно отрапортовал – “Can’t access local user database”. QQ

“Ладно”, подумал я, сейчас поднимем систему из последней точки восстановления.

ERD опять обломался, вылетев с ошибкой. Вот это номер.

Тут я крепко призадумался. В сухом остатке были аккаунты админа и юзера, с непонятно откуда взявшимися паролями, не было доступа к точке восстановления и не было возможность воспользоваться консолью восстановления с дистрибутива, так как она все равно спросит пароль администратора на старте. И было не на кого свалить – вирусы, то, отсутствовали.

Не зная куда копать, я начал копать в сторону снятия порч пароля.

Passware WinKey Enterprise постигла неудача Locksmith’a – тулза не могла получить доступ к базе пользователей, хотя успешно меняла пароли локального администратора контролера домена.

Пароль не поменять, но можно его обойти… в качестве решения проблемы гугл предложил dreampackpl и, ура, наконец-то появилась возможность зайти в систему. Первым делом я отправился изучать control userpasswords2. Пользователей не было. Вообще. Даже встроенных учетных записей, не предназначенных для локального входа. При попытке добавления нового пользователя хрюша намертво висла. Мое лицо стало таким :-(

Времени было 9 часов вечера, стало как-то стыдно, что толком ничего сделано не было и единственным маячившим решением казалась переустановка винды. Андрей, утомленный всем этим не меньше меня, отягощенный псом, нарезавшим круги по квартире в ожидании прогулки, согласился на это. Матч реванш был назначен на следующий день.

Мысль о том, как решить эту проблему не покидала меня ни вечером, ни на следующий день. Что еще можно сделать? Что случилось с базой аккаунтов? Как ее можно восстановить? Я чувствовал себя доктором в руках которого была жизнь безнадежного пациента.

На следующий день я отложил предложенный Андреем диск с дистрибутивом со словами: погодите делать нового, этого можно еще спасти.

Приходит молодая дама с сыном на прием к врачу.
– Доктор, мой сын болен.
– Раздевайтесь!
– Но доктор, я в порядке, это мой сын болеет.
– Мальчик – полное говно. Будем делать нового.

Через 1,5 часа Андрей наблюдал, как загружается система и  на рабочем столе неторопливо прорисовывается фотография жены.

Собственно решение проблемы

Windows XP, после установки, создает резервные копии реестра и некоторых настроек (включая базу данных пользователей). Все это добро она кладет в [диск, куда  установлена ОС]:\[каталог, куда установлена ОС]\repair. Обычно это C:\Windows\repair.

Первое, что нужно сделать – подсунуть ОС эти настройки.

Необходимо загрузиться с LiveCD (подходит почти любой дистрибутив Linux, ERD Commander, BartPE и т.д.), сделать бэкап следующих файлов:

c:\windows\system32\config\system
c:\windows\system32\config\software
c:\windows\system32\config\sam
c:\windows\system32\config\security
c:\windows\system32\config\default

Затем копируем файлы system, software, sam, security, default из c:\windows\repair в c:\windows\system32\config\ и перезагружаем компьютер. Если звезды благоприятствуют – в результате получим загрузившийся windows в состояния “прям как после установки”.

И так, мы на верном пути. Опять загружаемся с LiveCD. Наша цель – C:\System Volume Information\. Внутри будет по меньшей мере 2 каталога вида _restore{AAAAA-AAАA-AАAA-AAАA-AAAAAAAAAA}. Отфильтруйте их по дате изменения – нам нужна предпоследняя.

В _restore находятся каталоги вида RP1 RP2 и т.д. – это точки восстановления системы (надеюсь, вы не выключили system restore :)). Выбираем предпоследнюю, переходим в каталог snapshot. В ней находятся уже знакомые нам файлы, вида

_REGISTRY_MACHINE_SAM
_REGISTRY_MACHINE_SECURITY
_REGISTRY_MACHINE_SOFTWARE
_REGISTRY_MACHINE_SYSTEM
_REGISTRY_MACHINE_DEFAULT

Их надо переименовать в Sam, Security, Software, System, Default и скинуть в каталог c:\windows\system32\config\. После перезагрузки можете угостить меня пивом :)

На всякий случай я восстановил еще раз систему штатными средствами из более ранней точки.