5 заметок с тегом

XP

CryptoPro и ошибка c000021a

11 октября 2009, 21:54
Клиент поведал страшную историю про то, как к кабелю от мобильника с разъмом mini-USB попытались подключить флэшку. У него там два кабеля торчало — USB-удлинитель и этот самый кабель от мобильника, и девачка-бухгалтер их перепутала и вместо удлинителя попыталась вонзить mini-USB в разъём флэшки. Винда сказала «Кря!», а может даже и «Гав!», и повисла. После перезагрузки все увидели красивый синий экран с надписью:

STOP: c000021a { ****
Windows Logon Process ****

0x0000005 (0x000000000x00000000)


Там где звездочки — непечатное. Не в смысле матерное, а в смысле кодировка битая :-) При этом в безопасном режиме винда грузилась.

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

Ну то есть, понятно было, что падает winlogon.exe, и что падает он из-за сбоя в каком-то драйвере или библиотеке, которые он пытается всосать при загрузке. Но каком? Это вопрос.

В результате выяснилось, что виной всему драйвер КриптоПро — CProCtrl. Отключение его посредством загрузки в безопасном режиме и выносом этого драйвера из системы с помощью Autoruns от Руссиновича дало совершенно магический эффект — винда стала грузиться в нормальном виде.

Что снесло крышу до этого нормально работавшему драйверу — вопрос архи-тёмный. На этот счёт существуют разные мнения. Тут вот перечислены некоторые из них. Часть камрадов предполагает, что оно конфликтует с NOD32, часть утверждает, что на томах FAT32 драйвер КриптоПро без SP3 не работает. Я разбираться особо не стал, времени-то уже 4-ый час утра. Поэтому вынес NOD32, всё равно он не обновлялся, и сконвертил диски в NTFS, затем вернул предварительно экспортированную ветку с параметрами драйвера в реестр обратно. Всё заработало. Хотя это архи-странно, факт.

Установка XP на ноут без CD и дисковода

20 апреля 2009, 21:54
Попросил меня один товарищ переставить ему винду на ноуте. У него английская стоит, а английского он не знает. Ноут — HP Omnibook 500. Теоретически, привод и флопик в этом ноуте есть, но в док-станции. Отдельно ноут и док-станция работают, а вместе — хрен, ноут не запускается, будучи подключенным к док-станции.

Городить огород с загрузкой по сети или ещё чем-нибудь подобным мне не хотелось (и, блин, совершенно напрасно, как показали дальнейшие события!), поэтому я решил по-быстрому всё сделать — вытащить винт из этого ноута, и поставить в свой ровер, отформатировать там всё, начать инсталляцию винды, а после текстовой фазы установки переткнуть винт обратно.

Дальше под катом Сказано — сделано. Вынимаю винты из обоих ноутов, ставлю винт из омнибука к себе. Загружаюсь с BartPE, размечаю акронисом диск, перезагружаюсь с установочного компакта русской XP, прохожу текстовый этап установки, при перезагрузке проверяю, что всё путём и инсталляция пойдёт дальше, жму Ctrl-Alt-Del, выключаю ноут, вынимаю из него винт и ставлю винт на родину — в омнибук. Включаю омнибук и получаю БОЛЬШОЙ БОЛТ! На омнибуке инсталлятор винды не грузится.

И тут началось нетрадиционное порно с элементами BDSM и скотоложества... Что я только не делал. Форматировал этот винт в FAT16, FAT32, создавал разные конфигурации разделов и файловых систем. Везде было одно и то же — пока винт загрузочный в MS DOS — с него омнибук грузится. Копирую инсталлятор винды, запускаю его из ДОСа прямо на омнибуке, инсталляция проходит первый этап копирования файлов, после перезагрузки получаем БОЛТ. Либо омнибук глухо зависает без всяких сообщений, лиоб NTLDR is missing.

Капец, как я там извращался. Винт между ноутами за всё время порева я переставил раз не менее 50, снося разделы и создавая их заново. Смеха ради даже создавал разделы с помощью FreeBSD. Вот кстати фря стала и запустилась на омнибуке без вопросов, у меня уже начала появляться мысль, что товарищу будет проще освоить KDE, чем мне поставить ему на ноут винду... :-) Протрахался, короче, с 10 утра воскресенья до 3 ночи понедельника. Результат нулевой.

Наутро встал, почитал, что на мой вопрос по этому поводу пишут в ЖЖ. Ничего путного не обнаружил. Стал думать.

В общем, вскрытие показало, что больной умер от вскрытия, омнибук криво определяет CHS-геометрию своего винта. Ну, не то, чтобы совсем криво — сама по себе предлагаемая им конфигурация CHS вполне рабочая, но она не такая, какая написана на винте, хотя размер винта при такой геометрии совпадает с правильной. А мой ноут определяет конфигурацию правильно, в полном соответствии с тем, что указано на лейбле на самом винте. И форматирует разделы исходя из своей правильно геометрии. Пока мы в ДОСе — это особой роли не играет. Но как только на этапе первой перезагрузки управление передаётся загрузочному сектору виндового инсталлятора BOOTSECT.DAT, ему сносит крышу, и он либо виснет, либо жалуется, что не может найти ntldr, хотя он железно лежит в корне диска C:, где ему и положено быть.

Выставление прямой геометрии вручную в БИОСе омнибука не дают ничего — он виснет наглухо даже при попытке грузануть DOS. Понять, что грабли связаны с тем, какую геометрию пытается подсунуть винту ноут, я смог только тогда, когда настроил сетевую загрузку через PXE и попытался загрузить омнибук с нескольких своих ремонтных образов дискет. Так вот, при любых параметрах, даже самых прямых, но отличающихся от «Auto» при загрузке DOS омнибук вис даже при загрузке через сеть. И выводилась интересная надпись: Int13 08 failed. Не помню, что за функция 08, но судя по всему, с прямой геометрией этот BIOS работать не будет.

В итоге я выставил определение винта в «Auto», сделал дискету с Partition Magic 8, загрузил омнибук по сети, разбил PM винт, отформатировал на самом омнибуке с его кривым биосом, криво определяющим геометрию, потом переставил винт на свой ноут, переписал инсталлятор XP на винт, вернул винт обратно и загрузившись ещё раз по сетке с чистым DOS'ом и smartdrive'ом, запустил установку XP. Файлы копируются, первая перезагрузка, затаили дыхание... И о чудо! Оно грузится и продолжает установку, ссучара бацильная, скока крови попил! Вот так человеческий разум в очередной раз победил бездушную технику :-)

При обновлении XP не устанавливается IE7

5 апреля 2009, 11:21
Обновлял тут у одного клиента XP через интернет. Всё вроде прошло успешно, затем последним шагом качается IE7, начинает ставиться и... получает облом. «Не удалось установить обновление такое-то». Код ошибки, который при этом выдаётся, ничего вразумительного не дал, кроме того, что удалось найти статью в Microsoft KB, которая помимо совершенно бесполезных сведений содержала информацию о том, что в процессе установки и обновления ведётся более подробный лог. Который, в случае IE7, лежит в \Windows\ie7_main.log.

Изучение этого лога выявило ошибку:

INFO: Installer Process exit code: 0x000003f5

Вот поиск по коду ошибки 0x000003f5 принёс гораздо больше. Нашлись сведения, что так пагубно на систему может повлиять установка Adobe Acrobat 9. Удаление акробата и зачистка реестра в ветках HKLM/Software/Adobe и HKCU/Software/Adobe, с последующей перезагрузкой помогли — IE7 нормально установился.

ОбычныйТерминСписокопределений — как убрать?

9 января 2009, 14:31
При использовании русифицированной WindowsXP иногда при вставке части текста из буфера перед текстом появляется надпись «ОбычныйТерминСписокопределенийАдресЦитатыФорматированный»

По непроверенным данным, происходит такой косяк из-за того, что при локализации перевели кой-чего лишнего — были частично переведены и технические параметры.

Наличествует два варианта исправления этой проблемы

Первый (простой) вариант: скачать архив с исправленным файлом html.iec и распаковать этот файл в каталог \WINDOWS\SYSTEM32\ поверх старого файла.

Второй (ручной) вариант: любым редактором ресурсов в файле \WINDOWS\system32\html.iec нужно изменить перечисленные строковые данные на следующие:

В ветке 127:
2016, «Normal»
2023, «Address»
2024, «Blockquote»
2027, «Definition Term»
2028, «Definition List»


В ветке 128:
2036, «Preformatted»
2042, «z-Bottom of Form»
2043, «z-Top of Form»


После этого при вставке текста из буфера больше никакой ботвы добавляться не будет :-)
Windows   XP

Перенос Windows XP на другую материнку

28 октября 2008, 20:03
Железо, как известно, может иногда накрываться. Причём сразу медным тазом. Бывает, что этим железом является материнка. Таким образом встаёт в полный рост задача переноса Windows XP на новую материнку. Известно, что в общем случае винда на новой материнке грузиться не будет, из-за того, что на новой материнской плате будет другой дисковый контроллер, а драйверов под него в уже установленной XP не будет. Этот косяк тянется ещё со времён Windows NT, не понимаю, почему его не исправили по сию пору. Можно ведь при загрузке просто проверять, есть нужный дисковый контроллер или нет, и если его нет, то подгружать GENERIC драйвер для IDE-контроллеров, то, что называется в XP «Cтaндapтный двyxкaнaльный кoнтpoллep PCI IDE».

Если есть возможность загрузить винду как-нибудь, то самый простой способ подготовить её к переносу на другую материнку — это в диспетчере устройств вместо дискового контроллера материнки поставить «Cтaндapтный двyxкaнaльный кoнтpoллep PCI IDE». После этого можно завершать работу Windows и менять материнку. После замены и запуска винды на новой матери можно уже поставить правильные драйвера под дисковый контроллер новой материнки.

Хорошо, если есть возможность предугадать замену материнской платы и подготовиться. А если же такой возможности нет, т. е. мать сгорела начисто, и другой аналогичной нет в наличии, то существует другой рецепт.

Для его реализации потребуется загрузочный LiveCD с какой-нибудь из вариаций Windows. Я пользуюсь BartPE. И reg-файл, который пропишет в реест сведения о стандартном контроллере IDE.

Замечу, что в разные LiveCD включены разные редакторы реестра внешней системы. В сборку BartPE входит Avast! registry editor, «точка монтирования» реестра XP с винта будет зависеть от редактора. Т. е. в прилагаемом файле предполагается, что нужные для правки ключи реестра лежат здесь: HKEY_LOCAL_MACHINE\SYSTEM_ON_C\. Однако в разных редакторах реестра вместо SYSTEM_ON_C реестр системы с винта может импортироваться и в другие ключи. Поэтому прежде чем загружать этот файл и импортировать его в реестр, надо проверить, куда конкретно импортировася реестр системы. Возможно, потребуется исправить путь к ключам в файле ide.reg. Например, заменить SYSTEM_ON_C на строку SYSTEM_ON_HDD, только после этого можно импортировать reg-файл. Произвести правку reg-файла можно с помощью встроенного редактора в FAR, который тоже входит в указанную сборку BartPE.

После импортирования reg-файла остаётся дело за малым (гы-гы, придёт малый, и доделаем ) — нужно переписать драйвера стандартного контроллера IDE в каталог system32. Вот эти файлы:

atapi.sys
intelide.sys
pciide.sys
pciidex.sys


Затем можно грузиться с винта, всё должно заработать.

Рецепт проверен, всё железно работает.

Материал подготовлен по мотивам курения форума http://forum.ru-board.com. Там также обсуждаются варианты переноса XP с материнки Intel на не-Intel и прочие извращения.