1. Общие понятия и терминология 2. Редактировние реестра (цели, инструменты, механизмы) 3. Чего следует избегать, внося изменения в «святая святых» Windows ? 4. Тяжелые и необратимые последствия пренебрежительного отношения к реестру.
1. Реестр. Основные понятия и термины.
В двух словах, реестр Windows - иерархически построенная база данных параметров и настроек системы. В нем содержится информация и настройки для аппаратного и программного обеспечения, профилей пользователей, предустановки. Здесь также фиксируются список установленного ПО. Как правило, на девайсах с WinCE состоит из 4-х разделов:
HKEY_CLASSES_ROOT В основном, содержит информацию о зарегистрированных типах файлов и объектах. В большинстве случаев для нас не представляет никакого интереса.
HKEY_CURRENT_USER Данный раздел содержит настройки текущего активного пользователя, вошедшего в систему (в нашем случае – единственного, т.е. нас с Вами). Здесь хранятся папки пользователя, цвета экрана и параметры панели управления, настройки подсветки и громкости, темы рабочего стола и языковые параметры – все, что мы можем поменять с помощью программ настроек интерфейса, например. Вместо полного имени раздела иногда используется аббревиатура HKCU.
HKEY_LOCAL_MACHINE Раздел содержит все параметры конфигурации, относящиеся к данному девайсу (информация об аппаратной части ПК, о драйверах устройств, сведения о загрузке Windows). Вместо полного имени раздела иногда используется аббревиатура HKLM.
HKEY_USERS Данный раздел должен содержать все активные загруженные профили пользователей девайса. Почти на всех устройствах PNA он, как правило, пустой и тоже не представляет интереса. Вместо полного имени раздела иногда используется аббревиатура HKU.
Куст реестра — это подмножество разделов, подразделов и параметров реестра, которому сопоставлен набор вспомогательных файлов, содержащих резервные копии этих данных. Среди прочих, используется термин Hive. В некоторых работах его переводят на русский как «улей». Файлы кустов имеют расширение .hv (boot.hv, default.hv, system.hv, user.hv). Например, system.hv содержит информацию из HKEY_LOCAL_MACHINE\System.
Во время запуска операционной системы происходит до тысячи обращений к Реестру, а во время работы на девайсе в течение одного сеанса работы – до 10 тысяч! Отдельные компоненты Реестра хранятся в оперативной памяти (ОЗУ) в течение всего сеанса работы.
Запись (считывание) информации в Реестр (из Реестра) происходит постоянно: например, если мы устанавливаем какую-нибудь программу, вся информация, необходимая для запуска и работы этой программы, записывается в Реестр. Если мы устанавливаем новое устройство, в Реестре будет отмечено, где находится его драйвер и т.д. Если же мы запускаем какую-либо программу или устройство, то из Реестра считывается вся необходимая для запуска программы (устройства) информация.
ВАЖНО: От корректности данных Реестра зависит эффективность работы как программного обеспечения (операционной системы и прикладных программ), так и аппаратной части девайса.
2. Редактируем реестр.
Нами всегда движет стремление к новому и «лучшему», и мало кто откажется от «навороченного» тюнинга своего зверька, будь то – рабочий стол в стиле «а ля Сальвадор Дали» или банальная замена встроенного софта на более «продвинутый». Руководствуясь всем этим, мы порой забываем, что значение Реестра для Windows трудно переоценить – это сердце операционной системы. Появление всевозможных «глюков» в работе ОС говорит о том, что какие-то настройки Реестра стали некорректными. При серьезном повреждении Реестра операционную систему загрузить невозможно.
Тем не менее, существуют различные способы и механизмы его редактирования: 1. С помощью программ настройки интерфейса, которые поставляются, как правило, с самим девайсом в составе ОЕМ оболочки. Это всем знакомые настройки громкости, подсветки, энергосбережения, USB и пр. Этот способ я бы назвал самым безопасным, т.к. он происходит для нас абсолютно прозрачно и без явного вмешательства в Реестр с нашей стороны. Назову, лишь, общие места нахождения таких параметров в Реестре.
HKEY_CURRENT_USER\ControlPanel\Volume Набор ключей, меняя значения которых, мы устанавливаем значения громкости динамика и звуковое подтверждение тапов по тачскрину.
HKEY_CURRENT_USER\MUI, ключ CurLang Языковой параметр системы
HKEY_CURRENT_USER\Software\Shell , HKEY_LOCAL_MACHINE\ControlPanel\YFDefault Набор ключей, меняя значения которых, мы устанавливаем параметры стандартной ОЕМ оболочки системы.
HKEY_CURRENT_USER\ControlPanel\BackLight Набор ключей, меняя значения которых, мы устанавливаем значения подсветки и энергосбережения девайса.
HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers Меняя значение Serial_Class на Mass_Storage_Class можно превратить девайс в кардридер.
2. С помощью многочисленных редакторов реестра, которые позволяют делать это прямо на девайсе (например, RegEdit), и редакторы с удаленным доступом, при котором Вы запускаете редактирование прямо на ПК (или на «ББ» - Большом Брате). Редактирование возможно лишь при установленной связи между ПК и девайсом посредством Microsoft ActiveSync (Mobile Center на Windows Vista). Скачать его можно на сайте Майкрософта. В этом случае могу порекомендовать неплохую и простую в использовании программу Registry Work Shop. Краткая инструкция:
После запуска программы и установлении связи с девайсом в главном окне тапнуть по иконке MobileDevice:
В результате у Вас появится новая вкладка Mobile Device (см. рисунок). Теперь реестр полностью в Вашем распоряжении. Как видите – все очень просто. В меню File можно сохранять отдельные ветки реестра, а также делать бэкап посредством выбора действия Export (что я очень рекомендую сделать как можно раньше). Там же можно выбрать действие Import, которое загрузит сохраненную копию реестра или отдельной ветки в Ваш девайс.
Какие ключи и их значения могут представлять интерес для редактирования – решать Вам. Я, лишь, упомяну наиболее часто используемые:
HKEY_CURRENT_USER\ControlPanel\KeyMap На некоторых девайсах представляет интерес значение ключа KeyGotoCE (если таковой присутствует). Это «секретная» комбинация выхода на рабочий стол Windows при загрузке девайса (без старта встроенной оболочки-шелла).
HKEY_LOCAL_MACHINE\System\Explorer\Shell Folders Здесь находится описание мест дислокации «системных» папок, в т.ч.: \My Documents \Program Files \Windows\StartUp \Windows\Desktop \Application Data и др.
Поменяв, например, значение \Windows\Desktop на \SDMMC\Windows\Desktop, мы позволим сохранять настройки рабочего стола (внешний вид, иконки и пр.) на карте памяти, чтобы эти настройки при следующем запуске WinCE не слетели. Также многие установленные программы пишут свои настройки в папки \My Documents или \Application Data. Аналогично, поменяв исходные пути, мы можем добиться сохранения этих настроек.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control Здесь можно увидеть информацию о RomVersion и PlatformName, которая может пригодиться в будущем для восстановления или апдейта девайса.
HKEY_LOCAL_MACHINE\init
Очень важная ветка – при редактировании соблюдать высочайшую осторожность !!! Здесь обозначены сервисы, стартующие при инициализации (старте) ситсемы, отсюда и название. Следует запомнить навсегда, что процессы device.exe, qwes.exe, services.exe являются системными и не подлежат редактировнию (переустановке порядка запуска, удалению и т.п.). SERVICES.EXE - Данный процесс является диспетчером управления службами и отвечает за запуск, остановку и взаимодействие с системными процессами. GWES.EXE - компонент операционной системы Windows CE, графическая оболочка, управляющая окнами и выводом на экран. DEVICE.EXE – диспетчер всех устройств в системе. Обеспечивает правильную работу встроенного оборудования на программно-аппаратном уровне. Регулирует взаимодействие процессов в памяти и работу драйверов оборудования.
Мы можем изменять только значение ключа Launch50 – YFLoader.exe это запускающий файл встроенной (заводской) оболочки устройства, которую Вы наблюдаете по умолчанию на новом аппарате после включения устройства. На разных девайсах, естественно, может быть разное имя (GpsStart.exe, Launcher.exe и т.п.). Если сюда поставить имя нужной программы, то именно она и будет стартовать при включении. Чаще всего сюда прописывают Explorer.exe, чтобы попасть сразу на рабочий стол. В этом разделе можно добавлять свои ключи для запуска необходимых программ: Launch90 = MyProg.exe, например. Нельзя добавлять номера Launch до 20 и в промежутке от 20 до 60 включительно.
Внимание ! Если вы хотите добавить сюда свои программы для запуска - подумайте еще раз. Если добавленная вами программа не сможет запуститься или зависнет - вы получите нерабочее устройство. Если к нему не удастся подключиться через АктивСинк - вам поможет только перепрошивка. Особенно опасно вносить изменения в HKEY_LOCAL_MACHINE\init на устройстве, работающем в режиме кардридера - подключить к нему АктивСинк точно не получится.
HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory В ключе Follder прописано название Вашей SD карты так, как ее будет видеть и называть система (например, SDMMC).
HKEY_LOCAL_MACHINE\nls Языковые настройки системы. Здесь, как правило, меняют значения ключа DefaultLCID, чтобы добиться нормального отображения кириллицы в некоторых приложениях. Прежде чем его поменять – убедитесь, что на Вашем устройстве это уже кто-то делал, и результат был положительным !
Вполне возможно, что на Вашем устройстве несколько другая структура реестра и обозначение ключей, но общий смысл не меняется. После того, как Вы отредактировали реестр, нужно, чтобы эти параметры вступили в силу (как правило, при следующем запуске). Я уже говорил, что многие кусты находятся в ОЗУ устройства, и чтобы изменения записались в текущий реестр и вступили в силу, нужно знать следующее: 1) Во внутренней прошивке девайса находится, так называемый, дефолтный реестр. Он находится в виде кустов default.hv и boot.hv в системной папке \Windows. Этот девственно чистый реестр и загружается при старте. 2) Все изменения в текущем реестре, производимые установленными программами или самим пользователем лежат на специально смонтированном скрытом разделе (как правило, RegFat) в файлах user.hv, system.hv. Это именно эти кусты «накладываются» на чистый реестр, и в итоге получается то, что мы видим, когда система полностью загружена. Так вот, чтобы все исправления, которые мы делаем сами в онлайне, попали в эти кусты надо учитывать, что это происходит, только если есть вызов системного события RegFlushKey (обновление реестра). Не все редакторы сами вызывают это событие, поэтому, чтобы быть точно уверенным, что изменения вступят в силу, надо «усыпить» девайс посредством нажатия кнопки Sleep или выполнив: Start->Suspend в Эксплорере. Если Вы напортачили, но не успели сохранить реестр, то можете просто сделать Reset, тогда все изменения пропадут. Это касается, опять же, только тех редакторов, которые не обрабатывают RegFlushKey.
Последние два пункта в большей степени относится к девайсам, не имеющих аппаратного ХР (хардресета). Существует также следующий тип реестра. Он сохраняет изменения только до первого ХР, содержимое такого реестра хранится в виде специально запакованного архива с названием default.fdf, в папке Windows. Если Вам повезло и у Вас именно такой реестр, то для возвращения девайса к жизни, необходимо просто сделать ХР.
3. Какие места в реестре нужно стараться обходить стороной или редактировать с особой осторожностью.
1. HKEY_LOCAL_MACHINE\init – изменение порядка запуска или состава прописанных там приложений чревато умерщвлением зверька до стадии перепрошивки. 2. HKEY_LOCAL_MACHINE\MUI – изменения параметра на многих устройствах заканчивались тоже необходимостью перепрошивки. 3. HKEY_LOCAL_MACHINE\Drivers – здесь собрана информация об устройствах (портах, GPS-приемнике, LCD и т.д), которая используется системой для нормального функционирования. Причем подветка HKEY_LOCAL_MACHINE\Drivers\Active содержит информацию об активных на данных момент устройствах. В разных вариантах бэкапов эта ветка может отличаться от предыдущей копии, т.к. в ней всегда текущие Handles (указатели), присваиваемые системой при новой загрузке. 4. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\State – изменение значений может привести к тому, что у Вас просто девайс перестанет выключаться или уходить в СЛИП по нажатию соответствующих кнопок. 5. HKEY_LOCAL_MACHINE\System\StorageManager – здесь расписаны профайлы всех устройств памяти в системе (NAND Flash, SD Card и т.п.), порядок их монтирования в соответствующие разделы с присвоением необходимых имен (ResidentFlash, ResidentFlash2, RegFat, BinFS и т.д.). Единственное, что можно поменять при необходимости – это значения ключа Follder в HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory (об этом рассказывалось выше). 6. HKEY_LOCAL_MACHINE\HARDWARE и особенно значение ключа CalibrationData в HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH. Иначе Вы не сможете пройти этап калибровки тачскрина при старте системы.
Список «тонких» мест можно продолжить (вообще, сам реестр – достаточно «тонкое» место), но выше указаны наиболее распространенные места, напортачив в которых без дальнейшей перепрошивки не обойтись. Так что – всегда соблюдайте высочайшую осторожность!
4. Тяжелые случаи.
Все-таки, Вы сделали по-своему, и при включении девайса перед вами веселая картинка – лого-заставка Вашего устройства. Выхода два: 1) Вам повезло, если девайс увиделся через АктивСинк, и Вы можете загрузить в него бэкап -сохраненную работоспособную копию реестра. И опять же, хорошо, если при этом еще работает кнопка Sleep. 2) Искать прошивку. Прошивка может быть оригинальной (с сайта производителя, например) или сделанной на основе образа (дампа) памяти с точно такого же работоспособного девайса.
Если устройство все же еще грузится, но работает заметно «как-то не так», то могу посоветовать следующее: во-первых, попробовать восстановить его с последней рабочей копии реестра, а, во-вторых, есть 100 % способ его возвращения в заводское состояние, который заключается в следующем: выше рассказывалось, что все изменения хранятся на специальном разделе RegFat. Если зайти в Control Panel - > Storage Manager, можно увидеть сведения о всех существующих разделах: Part00, Part01, Part02…(их может быть разное количество на разных устройствах). Надо в свойствах (Properties) раздела выбрать тот, который имеет самый маленький размер (как правило, около 1,5 – 2 Мб). Убедиться в том, что вы выбрали нужный раздел, можно, нажав на кнопку "Properties" и посмотрев на тип раздела. У раздела с реестром вы увидете "Type 0x11" Далее, надо размонтировать этот раздел (DisMount), а потом отформатировать (Format) и перезагрузиться. Система загрузится только на основе boot.hv (default.hv), а наложить сверху существующие изменения не сможет, т.к. их просто уже нету (файлы user.hv и system.hv мы стерли путем форматирования). Правда, в этом случае мы потеряем все настройки и сведения об установленных программах, но, возможно, это лучше, чем когда система работает не стабильно.
Надеюсь, что все вышесказанное поможет Вам настроить свой девайс без неприятностей, повлекших за собой коматозное состояние зверька. Если нет уверенности в чем-то, то лучше не делать ничего сомнительного, чтобы Ваш девайс продолжал работать надежно и стабильно, как это заложено в него изначально Производителем.
Эти пользователи поблагодарили Dron за это полезное сообщение:
продублирую "Форматирование" реестра Надо отдавать себе отчет, что неаккуратными действиями можно убить девайс
100 % способ возвращения в заводское состояние, который заключается в следующем: все изменения хранятся на специальном разделе RegFat. Если зайти в Control Panel - > Storage Manager, можно увидеть сведения о всех существующих разделах: Part00, Part01, Part02…(их может быть разное количество на разных устройствах). Надо в свойствах (Properties) раздела выбрать тот, который имеет самый маленький размер (как правило, около 1,5 – 2 Мб). Убедиться в том, что вы выбрали нужный раздел, можно, нажав на кнопку "Properties" и посмотрев на тип раздела. У раздела с реестром вы увидете "Type 0x11" Далее, надо размонтировать этот раздел (DisMount), а потом отформатировать (Format) и перезагрузиться. Система загрузится только на основе boot.hv (default.hv), а наложить сверху существующие изменения не сможет, т.к. их просто уже нету (файлы user.hv и system.hv мы стерли путем форматирования). Правда, в этом случае мы потеряем все настройки и сведения об установленных программах.
Сообщение отредактировал Dron - Четверг, 11.03.2010, 22:17
Эти пользователи поблагодарили Dron за это полезное сообщение:
Подскажите пожалуйста! Я в реестре удалил как оказалось нужные файлы. После чего он перестал загружаться. Останавливается на логотипе. Как мне можно вернуть его к жизни? Китайский Pioneer PI 5008
Предварительно не записывал ни каких данных так как прошивка не намечалась! Версию прошивки тоже не скажу.
Эти пользователи поблагодарили prihod за это полезное сообщение:
Дата: Понедельник, 03.05.2010, 00:33 | Сообщение # 7
Гость
Группа: Пользователи
Сообщений: 4
Статус:
Quote (Dron)
Если грузиться до заставки, то имхо, не все потеряно, надо искать прошивку
На это Китайское чудо требуется какая то особая прошивка или достаточно что то похожее по параметрам с аналогичного девайса?
Добавлено (03.05.2010, 00:33) --------------------------------------------- Спасибо за поддержку! Решил проблему перепрошивкой. Теперь он работает! Версия прошивки S963N-3-3.13A-f2 Проблему с Навителом до сих пор не решил. Прошу о помощи!
Эти пользователи поблагодарили prihod за это полезное сообщение:
А вот запустить Навител так чтобы не в демо режиме не получилось, и даже не знаю что пробовать! При изменении серийного номера в Навителе что попало получается. Подмена на 16 нулей тоже не дает результата. Некоторые версии при запуске высвечивают окно с ошибкой. После его закрытия программа выключается.
Если кому удалось запустить Навик на 6 винде с Навителом на борту. Поделитесь методой !!!
Добавлено (12.05.2010, 17:23) --------------------------------------------- И чуть старее версия! Но тоже работает. S963N-3-3.12
Эти пользователи поблагодарили prihod за это полезное сообщение:
Ребята, кто сможет помочь? У меня Explay PN-930, позволяющий законно ставить 3 программы одновременно (кнопки "Навител", "Карта1", "Карта2"). Заморочка такая: включаю навигатор, идет заставка, появляется рабочий стол (все, как обычно). И ровно через 1 мин начинается автозагрузка ЛЮБОЙ программы, стоящей на кнопке "Карта2". Если доэтого успею запустить что-то другое, то две программы накладываются друг на друга и это очень весело! Если "до этого" успею зверя подключить к компу как картридер хоть на миг - то дальше все нормально. Заводское состояние коробочки не менял, просто тестировал на этой дурацкой кнопке разные программы. Реестр не менял, но посмотреть его могу. Размонтировать и отформатировать самый маленький Part03, чтобы вернуться в заводское состояние, невозможно. Пишу так подробно, чтобы знающий человек понял суть проблемы. Может кто сталкивался с подобным?
Эти пользователи поблагодарили ivist71 за это полезное сообщение:
Все верно. Уточню вопрос: можно ли в реестре отменить АВТОзапуск этой глупой 3-ей кнопки на 60-й секунде? Я хочу кликать ее сам, а не "радоваться" ее фатальному срабатыванию
Эти пользователи поблагодарили ivist71 за это полезное сообщение:
Дата: Понедельник, 09.05.2011, 23:10 | Сообщение # 13
Завсегдатай
Группа: Проверенные
Сообщений: 73
Статус:
Quote (ivist71)
Все верно. Уточню вопрос: можно ли в реестре отменить АВТОзапуск этой глупой 3-ей кнопки на 60-й секунде? Я хочу кликать ее сам, а не "радоваться" ее фатальному срабатыванию
За загрузку этих кнопок отвечает файл "MultiMap.exe"в папке "Windows",думаю с ним надо эксперементировать- поковыряться в нем можно "Restorator"-ом на ПК .(поменять значки и тд и тп.
На 930-ом,-не помню кажется без этих 3х кнопок меню ,может прошивка у вас залита от 905-го?(если ошибаюсь сильно не пинать)
Сообщение отредактировал cthutqq - Понедельник, 09.05.2011, 23:56
Эти пользователи поблагодарили cthutqq за это полезное сообщение: