• Партнер

  • Всем 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".

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

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