Создание своего собственного бут-скрина в Windows Vista
Проблематика бут-скрина в Windows Vista
До Windows Vista, ресурсы бут-скрина лежали в файле ntoskrnl.exe. Но изменение исполнительного файла ntoskrnl.exe было очень опасным, это могло привести к ошибке. С Windows Vista процесс загрузки был изменен. Например, графика загрузки была перемещена в новые приложения (winload.exe, winresume.exe), а все важные компоненты ядра получили цифровую подпись. Так что из-за цифровых подписей, изменения ядра больше невозможны. Значит ли это, что настройке загрузки пришел конец? Нет!
Файлы Multilingual User Interface
С Windows Vista Microsoft предлагает новую функциональность Multilingual User Interface (MUI). Эта новая функциональность позволяет разработчикам разделить локализованные ресурсы (текстовые строки) и независимые ресурсы (битмапы, иконки, курсоры). Обычно, отдельный .mui файлы содержат локализованные ресурсы, а исполнительные теперь содержат независимые ресурсы. Если ранее .dll или .exe был нормальным Win32 PE файлом, включенным в основной код, то в Windows Vista Win32 ресурсы автоматические считывают дополнительные .mui файлы. Этот процесс выглядит следующим образом: сначала, ресурсы, найденные в исполнительном приложении, считываются в память. Затем, систему решает, какой .mui файл использовать (в зависимости от выбранного языка) и считывает ресурс оттуда, накладывая его поверх до считанных до этого ресурсов, заменяя любые уже существующие ресурсы! Если какой-либо ресурс имеется в .mui файле, он будет считан оттуда, но если его там нет, система возьмет его из основного исполнительного файла (конечно, если там он есть). Но какое отношение имеет MUI к бут-скрин? Важное!
Настройка бут-скрина
Так как .mui файлы не имеют цифровым подписей, они могут изменяться без проблем. Так что если вы хотите заменить ресурс в файле с цифровой подписью, просто добавьте его в .mui файл (или замените в .mui файле, если ресурс уже существует). Это именно то, что мы будем делать для настройки бут-скрина в Windows Vista, так что запустите вашу любимую программу работы с ресурсами Win32, лично я рекомендую Resource Builder или Resource Hacker.
Инструкции к действию
Сначала, давайте определимся с рабочей папкой, назовем ее условно X:\bootscreen\ и будем туда сохранять уже измененный winload.exe.mui файл. Я также предполагаю, что Windows Vista установлена на раздел V: (конечно же, названия дисков вы можете поменять в зависимости от вашей конфигурации).
1. Откройте V:\Windows\System32\Boot\winload.exe с помощью вашей любимой программы по работе с ресурсами, пройдите к ресурсы 1 в RCData и сохраните это содержимое как X:\bootscreen\winload.wim.
Сохраненный Windows Image (WIM) файл содержит битмапы бут-скрина. Вы можете изменить winload.wim использую ImageX.
2. Смонтируйте образ WIM с правами записи в директорию (например, X:\bootscreen\mount\) командой:
imagex /mountrw X:\bootscreen\winload.wim 1 X:\bootscreen\mount
Если ImageX удачно смонтировал образ, вы увидите два битмапа в X:\bootscreen\mount\. Это osload800x600.bmp и osload1024x768.bmp. Эти изображения используются в виде бут-скрина на разрешении 800х600 и 1024х768 соответственно. Вы можете заменить их на свои собственные (они должны быть битмапами, иметь такие же имена и примерный размер).
3. После редактированию битмапов, подтвердите изменения в WIM командой:
imagex /unmount X:\bootscreen\mount /commit
4. Теперь X:\bootscreen\winload.wim содержит ваши изображения. Скопируйте V:\Windows\System32\Boot\en-US\winload.exe.mui в X:\bootscreen\winload.exe и откройте редактор ресурсов.
5. Создайте новый ресурс типа RCDATA с названием 1 и языком 1033 (1033 обозначает английский США) и импортируйте X:\bootscreen\winload.wim.
Если у вас не английская версия Windows Vista, вам придется поменять значение языка на соответствующее. Список значений языков вы можете найти здесь.
Настройка текста при загрузке
Вы также можете изменить текст при загрузке. Здесь нужен опыт работы с XML.
1. Откройте X:\bootscreen\winload.exe.mui with с вашей любимой программой, пройдите к ресурсу OSLOADER.XSL и экспортируйте его как X:\bootscreen\osloader.xsl.
2. Изменить стартовый текст Windows Vista возможно, пройдя к шаблону osload-status (воспользуйтесь поиском) и заменив «Starting Windows Vista» на ваше собственное значение.
3. Изменить позицию текста можно пройдя к разделу osload-graphics и изменив значение высоты и ширины элемента textarea.
Источник:
You must be registered for see links
Перевод: Райкер