PDA

Показать полную графическую версию : При подготовке к клонированию w2k3 server удаление ключа mounteddevices портит эталон


Mertvii
09-12-2008, 16:19
Похоже, без помощи людей опытных мне не обойтись. Очередной затык с заливкой(образами дисков). Сделал я подготовку к переносу на другое железо w2k3 server, по тщательно и давно изученной инструкции, коея сводится к 4 пунктам

1) "Реши пробему с HAL"(в моём случае и там и там однопроцессорный ACPI)
2) "Реши проблему с контроллерами hdd"(в моём случае оба ide, просто ставим стандартный драйвер)
3) "Очисти MountedDevices в реестре"
4) "Убей интеловский сервис, если переносишь с Интела на АМД(сделал)"
Типа 5) Обработай sysprep-ом("Типа" потому что на одном авторитетном ресурсе ишут, что оно не нужно, разве что SID и имя с лиц. ключом поменять, и я делал до этого без сиспреп-а - всё работало)

После клонирования и заливки на рабочую машину система грузится до логин скрина, но при попытке залогинится немедленно следует логофф, с просьбой "указать причину непредвиденного завершения работа", т.е. я опять на логинскрине - и так раз за разлм - войти в систему не даёт, даже в safe mode. Причём в эталонной системе, после проведения тех подготовительных шагов, наблюдается тоже самое. Т.е. делаем вывод, что один из 4х предварительных шагов портит систему, а заливка, скорее всего, проходит как надо. Да вот только делал я уже заливку по именно этой методе в прошлом, правда обычной ХПшки, не сервера, и всё было как надо. Поиск в гугле позвоил найти схожую проблему. Ситуация заключалась в том, что один троян прописывал себя в реестре вместо userinit.exe, а когда трояна убивал антивир - получалось что при входе юзверя не запускался ни один из инициализаторов пользовательской среды, и его тут же выбрасывало. Разумеется, к моему случаю это имеет косвенное отношение, но аналогия на лицо - реестр и драйвера со службами грузятся, но почему-то не удаётся получить доступ к нужным для входа файлам на диске(похоже). Загрузившись с системного диска исследовал диск, куда была клонирвоана система - все нужные файлы, вроде бы, на месте. Я стал методом проб искать какой именно из шагов приводит к сбою - вуаля! Это очистка ключа mounteddevices(там буквы дисков и их соответсвие каким-то гуидам длинным), нужная чтобы "избежать проблем с сопоставлением разделов диска при переносе системы" - так написано в мануале по подготовке системы. Если выполнить только этот шаг - получаем вышеописанный затык с логином/логофом прямо на эталонной системе - всё сходится. Косяк где-то здесь. Но вот что странно - В XP проблемы такой у меня не было, а это значит что при загрузке системы она параметры этого ключа восстанавливала, уже под разбивку нового винчестера. А w2k3 даже при загрузке со старого не может их восстановить.Что сейчас делать я не знаю, гугл не помог, все идеи уже исчерпаны

UPDATE!:

Стал удалять диски из mounted devices не сразу все, а по одному за раз - так вот, система нормально грузится, даёт войти, удалённые ключи восстанавливаются, как и должно быть. Но стоило удалить ВСЕ одним махом - и опять имеем то, что и раньше - логин/логоф. Моск пасует

UPDATE2:

Если уж совсем точно, затык случается когда удаляются параметры ключа, соответсвующие ОБОИМ разделам HDD, но если удалить ТОЛЬКО ОДИН из них(любой) - всё проходит нормально, удалённый ключ регенерится как и должен

Boa Soft
09-12-2008, 16:46
Попробуйте удалить имформацию в ключе sessionmanager о файле подкачки.

Mertvii
09-12-2008, 17:07
У меня почему-то растёт подозрение, что оно буквы дисков при восстановлении параметров ключа неправильно назначает. Может не в том порядке, или ещё как. Поэтому не стартуют сервисы(после удаления эти злосчастных ключей на логинскрине начинает выскакивать ошибка "Один или болле сервисов не смогли стартовать") во главе с telnet-ом, который я ставил на автостарт - то, что через стандартный api ищет себя для зазгрузки по путям, где прописана определённая буква диска. В тоже время драйвера устройтсв, которые грузятся несколько по другому принципу, в строю - например, комп пингуется, значит сетевая и ip стэк работают. Поэтому и юзер не может войти - путь в реестре на инициализатор тот - userinit.exe - недействителен

Boa Soft, спасибо, сейчас попробую

Mertvii
09-12-2008, 18:10
Boa Soft, не знаю всё ли правильно я сделал, нашёл только одно упоминание pagefile.sys среди параметров - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\ , параметр PagingFiles

Удалил его, очистил раздел mounteddevices, перегрузился - опять тоже самое

Mertvii
09-12-2008, 21:08
Я нашёл решение, похоже. Как и предполагалось, дивидюк захватывал букву, на которой должен был висеть загрузочный раздел переносимой системы, раньше (система располагалась на D: - boot logical partition, а загружалась с C: - system active primery partition; вот это вот "D:" дивидюк и умудрялся хапнуть раньше). Таки в виндовс, оказывается, очень жёсткая привязка к букве раздела. А фактически не к ней, а к порядку регистрации/перечисления монтируемых устройств. Решил проблему тупо очистив ключ и времено отключив привод, чтобы в mounteddevices сохранился порядок следования разделов hdd, и буква досталась нужному из них, потом подключил его снова. Но, разумеется, это палка в колесо автоматизации, ибо подрубает ей ноги - хотелось бы иметь возможность строго определить порядок причисления разделам/устройствам букв в момент первой загрузки с пустым пока ещё mounteddevices ключом, чтобы образ был универсальным и поднимался без дополнительной наладки при любом наборе дисковых устройств. На это можно как-то повлиять, т.е. сделать, например, чтобы сперва буквы, начиная с C:, начислялись всем разделам загрузочного hdd по порядку, а только потом очередь доходила до приводов, засунутых невовремя флешек/усб-дисков и пр.?

Boa Soft
10-12-2008, 00:07
Mertvii,

Сказали бы ранее про D. Суспреп нельзя применять для системы, установленной на диск, отличный от С. Это техническое ограничение технологии суспреп. Описано в OPK и в какой -то KB. При использовании его на диске, отличном от С, просто портится система. Неизлечимо.

Mertvii
10-12-2008, 15:58
Boa Soft, я не знал, что буква может играть такую роль :) Но один момент всё же ещё хотелось узнать: можно ли как-то влиять на назначение буквы диску, т.е. заранение предопределить, какому разделу стартующая с пустым mounteddevices ключом ОС какую букву назначит, при условии, что о количистве разделов и наличии других дисковых устройств, кроме загрузочного HDD заранее неизвестно? Т.е. нужно как-то указать, что активному системному разделу на загрузочном HDD мы ВСЕГДА даём букву "C", следующему за ним по порядку ВСЕГДА "D" ... до последнего раздела, и только потом уже раздаём буквы другим HDD/DVD/CD/USB-disk? Я так понимаю, какой-нибудь скрипт написать не получится - системе нужен будет путь к скрипту, а буквы разделам ещё не розданы. Может в реестре есть ключи, регулирующие этот порядок?

Mr dUSHA
10-12-2008, 16:57
с пустым mounteddevices ключом ОС какую букву назначит, при условии, что о количистве разделов и наличии других дисковых устройств, кроме загрузочного HDD заранее неизвестно?»
1. Пустой mounteddevices ключ - это еще не всё. Дополнительную информацию о разделах Windows хранит в 0-м секторе винта физически между MBR и PT, а также в локальных PT каждого из логических дисков в Extended-разделе винта. Так что для полной очистки привязок нужно удалять еще и эти записи.

2. В процессе изучения логики, по которой диспетчер монтирования раздает буквы дискам, учтите тот факт, что само ядро ОС, всё его окружение и Kernel-mode драйвера букв диска не понимают и не используют вообще.

Boa Soft
19-12-2008, 01:06
Пустой mounteddevices ключ - это еще не всё. Дополнительную информацию о разделах Windows хранит в 0-м секторе винта физически между MBR и PT, а также в локальных PT каждого из логических дисков в Extended-разделе винта. Так что для полной очистки привязок нужно удалять еще и эти записи. »

Ну, да. Там сигнатуры дисков. Но. если убиваем mounteddevices и еще SystemPartition и BootDiskSig в HKLM\SYSTEM\Setup, то к чему эти сигнатуры будут привязаны?

Но, кроме mounteddevices надо килять и SystemPartition и BootDiskSig в HKLM\SYSTEM\Setup!




© OSzone.net 2001-2012