Всем xakep'ам по Hi!

Надоело мне как-то раз смотреть на унылый вид загрузки win2kpro
(машина у меня не настолько быстрая, что бы не успевать его показывать 😉
и решил я это дело, если можно так выразиться, редезигнить. А за
одно и все остальное, что под руку попадется. А результатами
делюсь с вами...

Загрузка

Мелкомягкие пожались и на открытое оборзение в виде logo.sys
картинку не выложили, а спрятали в ntoskrnl.exe, что в папке 
[%WINNT%\System32\] хранится (да там почти все хранится... 
помойка вселенская просто!). Да еще и на цвета пожадничали (что это с ними?) -
всего 16. Ну да ладно, и это не беда. Так вот хранится там следующее:

(для win2kpro, для остальных там же, но индекс ресурса другой)

[1] - Картинка от загрузки (640x480x16)
[7] - Картинка от предзагрузочных операций (проверка диска, конверт. partitions...) (640х120х16)

Извлекать и внедрять правленные ресурсы можно например ResHacker'ом:

http://www.rpi.net.au/~ajohnson/resourcehacker/

Нужно обратить особое внимание на то, что картинка должна быть 640х480(120)х16,
иначе она не загрузится.

Скроллинг полосы-градиента организуется элементарно - область скрола просто попиксельно
самозаворачивается движком. Никаких геморроев
с палитрой как win9x. (За это спасибо!)

Квадратики прогресса прибиты к своему месту (я думаю не сложно догадаться куда).

Теперь немного о палитре. 
Индексация палитры начинается с 0.

[00] - Цвет рамочки по периметру экрана (область вокруг текста и графики в VGA)
[01] - Цвет квадратиков прогресса загрузки
[..]
[09] - Цвет нижней плашки на экране предзагрузочных операций
[..]
[15] - Цвет текста на экране предзагрузочных операций

Продолжение загрузки

После того как фантазия, опьяненная свободой, до неузнаваемости разрисует
загрузочное лого (благо 16 цветов ее будут хоть как-то придерживать :),
все остальное (а именно похожая картинка на белом фоне при загрузке настроек
пользователя и диалоговое окно запроса пароля и имени пользователя) сразу
выпадут из концепта дезигна. Это не эст хорочо. Будем исправит. 

Весь этот ливер хранится в файлике msgina.dll (все в той же помойке):

[101] - Картинка загрузки настроек
[107] - Картинка ввода пароля и пользователя
[103] - Скролящаяся полоска, накладываемая на обе картинки

С этими картинками легче - они могут быть 256-ти цветными, но размеры фиксированы.

Выключение

Разумеется в наш век АТХ корпусов и ACPI ядра для win2k мало кто смотрит на
картинку "it is now safe to turn off your computer" и подготовку к выключению или
гибернацию, но для полноты картины нужно "редезигнить" и их.

Файл ntoskrnl.exe:

[2] - Картинка "Hibernating"
[3] - Картинка "It is now safe..."
[5] - Картинка с логотипом для обеих.

Кстати нужно отметить что они 16-ти цветные и ничего на них не скролится, зато
есть некоторые эффекты палитры:

[02] - Цвет фона под окошком, якобы Desktop.

Другие мелочи

Ну oemlogo.bmp и oemlogo.inf сейчас никого не удивить, да и папочкой web - тоже,
но вот дебильный монитор в 16-ти уродских цветах аккурат над местом для oemlogo.bmp
IMHO может достать кого угодно (меня - достал!). Его и заменить не грех. 

Хранится эта картинка в файле sysdm.cpl (в помойке). Она там
одна, ошибиться невозможно. Кстати она поддерживает не только 16 но 256 цветов.

Еще эта картинка есть в файле cmprops.dll, но она не действует.
Возможно из этой библиотеки она берется только если свойства компутера
вызываются как-то хитро, но я не знаю...  

Рабочие продробности

Для тех кто на локомотиве сделаю небольшое дополнение о том как эти библиотеки
правильно подменять.

Править ресурсы нужно на скопированных библиотеках, а не в виндовой директории.
СОХРАНЯТЬ КОПИИ. Еще раз - СОХРАНЯТЬ КОПИИ. По
умолчанию win2k сильно умен и пытается подменить нашу правленую библиотеку на 
свою из дистрибутива или папки [%WINNT%\System32\dllcache] (прямо мыльная опера
какая-то! :). Этим грязным делом занимается sfc. Описание борьбы с нею можно
найти практически на любом информационном сервере, но смотрите не заборитесь - 
вещь все-таки полезная.

Но помимо sfc возникнет и еще одна проблема - а именно то, что библиотека msgina.dll
при работающих виндах - занята и перезаписать ее невозможно. Для тех у кого
win2k стоит на FAT'e это не проблема, а вот что делать с NTFS?

Решается это просто - нужно поставить себе на винт (или грузануться с дистрибутива
win2k) Recovery Console. Перегрузится в RC, выбрать нужную винду, ввести пароль админа
и заменить библиотеку командой copy. Все. Хотя нет, не все. По умолчанию RC дает
доступ в папку [%WINNT%\] и ее потроха. И только. Надо все, что хотим заменить,скопировать туда. Вот теперь все.

А поставить RC можно командой (находясь в [i386] папке дистрибутива)

"winnt32.exe /cmdcons".

Инсталятор все сделает сам.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии