Реферат: Не предназначены для 100%-го удаления всего, что было привнесено в систему при установке программы, но нередко специально оставляют свои следы в ос пользователя


Правильный деинсталлятор для Windows XP

Автор: Сергей Трошин

Опубликовано: 20.10.2004

Версия для печати


Всякий пользователь, хоть чуть-чуть интересующийся тем, что происходит с его компьютером, наверняка заметил, что процесс установки и удаления программ приводит к появлению самого разного мусора на диске и в реестре Windows — штатные средства деинсталляции не только не предназначены для 100%-го удаления всего, что было привнесено в систему при установке программы, но нередко специально оставляют свои следы в ОС пользователя.


Подобное поведение стандартных деинсталляторов, идущих в комплекте с программами, вызывает проблемы у пользователя, периодически устанавливающего новые условно-бесплатные программы и удаляющего их по истечении разрешённого срока использования или просто ввиду их неактуальности.


Во-первых, это засорение диска файлами и папками, оставшимися от удалённых программ, причём часто это не только скрытые в каталоге Program Files или в недрах Windows\system32 и не особо заметные файлы (тем не менее, отъедающие немало дискового пространства), но и папки и ярлыки в меню Пуск и на Рабочем столе, в том числе рекламного характера или попросту неработающие.


Во-вторых, это засорение системного реестра — главной базы данных операционной системы, в которой хранятся настройки самой Windows и программ для неё. Мусор в реестре менее заметен, чем файлы на диске, но вреда может принести гораздо больше. Метки, которые при своей инсталляции прописывают в реестр (и оставляют там навечно) условно-бесплатные программы, чтобы учитывать время триального периода, — самое безобидное, поскольку не мешает ни системе, ни другим программам. Как, впрочем, и разделы реестра, отвечающие за настройку установленной программы, — они, конечно, приводят к разбуханию реестра, но на скорости работы системы это сказывается не так сильно. Гораздо хуже, если созданная начинающим программистом утилита перепишет под себя какие-то системные параметры, а при своей деинсталляции забудет вернуть их исходные значения. В этом случае в Windows появится то, что обычно называют «глюками» ОС, хотя виноватыми в них чаще всего оказываются «кривые» программы. Нередка ситуация, когда программа при неудачной инсталляции или из-за сбоя в процессе своей работы повреждает какой-то свой же параметр в реестре, из-за чего теряет работоспособность, либо даже отказывается впоследствии переустанавливаться. И, наконец, самое опасное — если некорректный параметр в реестре приведёт к невозможности загрузить ОС, что часто случается при установке новых драйверов или приложений, инсталлирующих свой системный сервис.


Способ борьбы с подобным поведением программ давно известен — использование специализированного деинсталлятора, который умеет отслеживать все изменения, реально происходящие в системе при установке программ. Одним из лучших деинсталляторов на сегодня является программа Ashampoo Uninstaller (www.ashampoo.com).


Принцип действия


Для того, чтобы выявить все изменения, произошедшие при установке программы, Ashampoo Uninstaller делает так называемые снимки системы — два файла протокола, в которых полностью зафиксирована файловая структура, а также текущее содержимое реестра и главных системных файлов. Первый — файл OldCFG.ECD — перед установкой программы, второй — NewCFG.ECD — после. Полученные снимки могут иметь довольно большой объем (например, 15 Мб), особенно если в Windows установлено много программ (то есть много файлов и данных в реестре), но их в системе всегда два и они создаются заново при каждом сканировании.


После того, как создание второго снимка завершено, автоматически запускается сравнение этих снимков, в результате которого мы получаем список всех изменений, зафиксированных в системе — лог-файл, объемом десятки или сотни килобайт, который рекомендуется назвать таким же именем, как программа, инсталляцию которой мы таким образом отслеживаем (например: Winamp 5.04.ecl — с указанием версии, поскольку обычно одна и та же программа ставится несколько раз по мере выхода обновлений). Этот лог-файл хранится на диске и позволяет в любой момент полностью удалить программу, отменить какие-то отдельные изменения в реестре или на диске или просто посмотреть, что произошло в Windows при установке приложения. Интерфейсом для работы с лог-файлом служит сам Ashampoo Uninstaller.


Настройка


Использование Ashampoo Uninstaller в Windows XP требует некоторой предварительной настройки, призванной максимально повысить эффективность сканирования и удобство работы. Откройте диалог File — Preferences и на странице General отключите запуск резидентного монитора UIWatcher. Утилита эта предназначена для автоматического запуска Ashamoo Uninstaller при установке программ: как только UIWatcher зафиксирует запуск файла с именем Setup.exe, инсталляция программы приостанавливается и загружается Ashampoo Uninstaller для снятия снимка системы. Полезность этого монитора крайне сомнительна: далеко не все инсталляторы носят имена Setup.exe и Install.exe, поэтому высок риск прошляпить какую-то из программ. Плюс ко всему, установка новых программ — явление далеко не ежедневное, а постоянное нахождение в памяти лишней утилиты снижает стабильность ОС и потребляет ресурсы памяти и процессора. Поэтому осуществлять мониторинг всех инсталляций следует запуская деинсталлятор вручную.


На этой же вкладке установите переключатель Mode в положение Expert — это сделает работу с программой максимально удобной и откроет доступ ко всем функциям Ashampoo Uninstaller.


На странице Delete обязательно установите флажок Move deleted files to Recycle Bin — это позволит восстановить файлы в случае их ошибочного удаления.


Очень интересна функция автоматического бекапа важных файлов, включаемая на странице Backup. Как известно, одной из главных проблем Windows всегда была подмена версий системных файлов (т. н. DLL-hell) — любая программа могла записать в системный каталог устаревшую версию какой-нибудь библиотеки общего пользования, заменив исходный файл, что приводило к серьёзным сбоям в работе как самой ОС, так и других программ. Ashampoo Uninstaller способен перед каждой инсталляцией новой программы, одновременно с созданием первого снимка системы, делать резервную копию выбранных пользователем папок, чтобы в том случае, если программа некорректно заменит какую-либо библиотеку, можно было сразу же восстановить её исходную версию из резерва. В Windows XP эта функция несколько утратила свою роль — в этой системе встроена защита системных файлов, которая не позволит удалить или подменить самые главные библиотеки, а если программа непременно требует какой-то нестандартной версии библиотеки общего пользования, то Windows XP поместит ее не в папку system32, а в WINDOWS\WinSxS, тем самым, сохранив и исходный — «правильный» — файл и работоспособность специфического приложения. Поэтому от создания бекапа в этой ОС можно отказаться — времени он занимает много. Главное — обязательно включите на вкладке Version Info режим отслеживания версий файлов — именно он позволит вам выявить все библиотеки, подменённые старыми версиями. И прочитайте соответствующий раздел в документации к программе — там очень неплохо рассказано о том, какие файлы и папки следует резервировать в каждой версии Windows.


После настроек опций программы необходимо выбрать, какие разделы реестра и какие папки она должна контролировать, — тотальная слежка совершенно ни к чему, так как существенно замедляет работу программы. Щёлкните по вкладке Selections главного окна Ashampoo Uninstaller — на странице Registry вы увидите дерево, подобное тому, что отображается в редакторе реестра, за одним исключением — возле каждого раздела, состояние которого отслеживается деинсталлятором, установлен флажок. Если пробежаться по разделам, можно обнаружить, что по умолчанию не контролируются разделы с данными, которые носят временный характер и на работу системы влияют крайне мало. Это, например, такие разделы как HKEY_LOCAL_MACHINE\ SYSTEM\ ControlSet001, в котором записаны данные предыдущей загрузки Windows, или Software\ Microsoft\ Windows\ CurrentVersion\ Explorer\ Streams, в котором хранятся данные о положении окон на экране. Всё это сделано достаточно грамотно и менять здесь ничего не нужно.


В Windows XP следует обратить внимание на корневой раздел HKEY_CURRENT_USER, мониторинг которого по умолчанию отключён. Дело в том, что некоторые разделы в структуре реестра дублируются, так, HKEY_CLASSES_ROOT, который тоже не отмечен, является полной копией HKEY_LOCAL_MACHINE\ SOFTWARE\ Classes, у которого флажок присутствует. Поэтому два раза сохранять состояние одних и тех же параметров нет смысла. Совсем другое дело — HKEY_CURRENT_USER. Этот раздел тоже является дублем, но сохраняется в виде раздела типа HKEY_USERS\S-1-5-21-448539723-746137067-839522222-1003, соответствующего текущему пользователю. В результате чего под разными учётными записями мы получаем сохранение раздела с пользовательскими данными под совершенно разными именами и теряем возможность сравнить пользовательские настройки, например, Администратора и Гостя. Если же мы включим сканирование HKEY_CURRENT_USER, то, сделав его снимок из-под разных аккаунтов, сможем очень легко сравнивать пользовательские параметры в реестре между разными учётными записями, что очень важно при поиске причин сбоев — позволяет, например, выяснить, какие параметры различаются в настройках работоспособного аккаунта и в настройках «заглючившего». Поэтому с двойным сохранением раздела HKEY_CURRENT_USER необходимо согласиться (как и с предупреждением об этом, которое станет появляться при каждом сканировании системы) и отметить его флажком. А чтобы в этом разделе не контролировать временные параметры, снимите флажки как минимум напротив подразделов:


HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Explorer\ ComDlg32

HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Explorer\ RecentDocs

HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Explorer\ Streams

HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Explorer\ StreamMRU


На вкладке Drivers нам предлагается отметить папки и диски, содержимое которых будет отслеживать Ashampoo Uninstaller. Для полного контроля за устанавливаемыми программами вполне достаточно мониторинга за каталогами Windows и Program Files — во все остальные папки программы обычно ничего не записывают. Если же какая-то из них неожиданно создаст новую директорию или файл в корне диска, то деинсталлятор это обнаружит. По умолчанию из списка сканируемых исключены несколько директорий, в которых хранятся часто изменяемые или временные файлы — это, в частности, папка самого Ashampoo Uninstaller, а также WINDOWS\system32\config, в которой хранятся файлы реестра. С этим надо согласиться — смысла в их мониторинге нет никакого. Впрочем, если вы хотите максимального контроля за системой, то можно включить ещё мониторинг всех каталогов Application Data внутри папки C:\Documents and Settings — приложения активно используют их для хранения пользовательских данных (в основном — временных).


На странице System Files включается контроль за четырьмя системными файлами, актуальность которых в Windows XP стремится к нулю, и, возможно, за всё время работы с программой вы так и не обнаружите ни одного изменения в них. Тем не менее, мониторинг этих файлов не отключайте.


Работа с программой


Работа с Ashampoo Uninstaller, с одной стороны, довольно проста, с другой — требует неплохого понимания структуры и параметров реестра. Технология примерно такова: перед запуском инсталляции новой программы или обновления драйвера необходимо выгрузить из памяти все запущенные программы и закрыть все окна, открыть Ashampoo Uninstaller и нажать в нём кнопку Install an Application — появится окно Interactive Assistant. Поскольку при настройке программы мы уже выбрали разделы реестра и папки на диске, которые нужно отслеживать, то сразу переходим на страницу Save Configuration и жмем одноименную кнопку. Запустится процесс сканирования реестра и файловой структуры, который займёт несколько минут в зависимости от конфигурации системы (всплывёт окно, предупреждающее, что у нас настроено дублирующее сканирование раздела HKEY_CURRENT_USER — с этим надо согласиться) — работающий антивирусный монитор, кстати говоря, может заметно тормозить сканирование. После того, как появится оповещение о завершении процесса создания первого снимка, не делая никаких настроек в Windows, не подключая новых устройств и не запуская никаких других программ переходим на страницу Install an Application и выбираем файл инсталлятора нашего приложения. Теперь про Ashampoo Uninstaller можно на некоторое время забыть или даже закрыть (на предложение сохранить настройки Selections, если вы их меняли, надо согласиться) и в обычном режиме установить программу, перегрузить ПК, если инсталлятор это попросит, и опять-таки, не запуская никаких иных программ, загрузить только что установленное приложение, посмотреть как оно работает, не вызывает ли сбоев, пройтись по его опциям и настроить важные параметры (если вместе с ним ставится несколько компонентов, как, например, в Nero Burning ROM, то желательно проверить работоспособность и настроить их все).


Далее закрываем установленную программу и запускаем Ashampoo Uninstaller. В Interactive Assistant переходим сразу на страницу Create Log File и запускаем процесс создания второго снимка системы, по окончании которого автоматом стартует сравнение двух снимков и создание разностного лог-файла. В этом лог-файле и будут записаны абсолютно все изменения, произошедшие на диске и в реестре в связи с установкой новой программы. Используя его, вы в любой момент сможете удалить эту программу, полностью вычистив её следы из своей системы.


Например, если выясняется, что программа вызывает какие-то сбои или просто не понравилась, сначала делаем её деинсталляцию стандартными средствами — в принципе, для простых программ можно вообще обойтись без виндового меню «Установка и удаление программ», но если установленная программа ставит какой-то сервис или работает в фоновом режиме, то это позволяет выгрузить её из памяти для последующего корректного удаления. Потом снова запускаем Ashampoo Uninstaller, выбираем в окне Suite Screen или на панели инструментов Uninstall an Application, загружаем соответствующий лог-файл и на странице Restore previous configuration жмём кнопку Automatic Uninstallation. Всё. От программы не осталось ни одного файла и ни одной записи в реестре (в том числе и «триальных» меток, так что shareware-программу с закончившимся испытательным сроком можно установить повторно). При этом из системы вычищаются именно изменения, внесённые программой, и всем параметрам реестра присваиваются значения, которые были до её установки.


Несколько сложнее продвинутый режим полуавтоматического удаления программы — именно в этом случае необходимо разбираться в реестре. Этот режим позволяет пользователю самому просмотреть всё, что изменилось на диске и в реестре, и удалить только то, что он сам сочтёт нужным. Использовать именно его несколько предпочтительнее, поскольку во время инсталляции программ Windows все равно живёт своей жизнью, и её фоновые процессы тоже могут вносить изменения в реестр, которые затем зафиксируются в лог-файле. Задача пользователя — отделить именно то, что связано с инсталляцией программы и «откатить» только эти ключи в реестре, не затронув системные. Например, при установке ACDSee можно увидеть, что наряду с появлением в реестре нового раздела HKEY_CURRENT_USER\ Software\ ACD Systems и множества файловых ассоциаций в HKEY_LOCAL_MACHINE\ SOFTWARE\ Classes, меняются и параметры в HKEY_CURRENT_USER\ Software\ Microsoft. Ясно, что к последнему разделу реестра ACDSee не имеет никакого отношения — это обычная рутина виндовых процессов, и откат этих изменений не имеет смысла и, по сути, разрушает какие-то (пусть временные и не очень важные, но всё же) результаты текущей работы операционной системы.


Профилактика сбоев


Ashampoo Uninstaller ценен не только тем, что позволяет полностью вычистить из системы следы любой программы. Возможности этого деинсталлятора позволяют вовремя предотвратить появление сбоев Windows, связанных с подменой или удалением системных файлов или внесением в реестр некорректных параметров. Пользователь сразу же после установки новой программы может во всех подробностях ознакомиться с полученным лог-файлом и увидеть все внесённые ей изменения: что было, что стало. Форма этого отчёта идеально удобна и наглядна: он состоит из трёх вкладок, соответственно для изменений в реестре, на диске и в конфигурационных файлах. Структура каждой вкладки напоминает дерево папок Проводника или редактора реестра. Просмотрев все изменения, произошедшие в течение инсталляции, вы всего двумя щелчками мыши вернёте любой параметр или группу параметров в реестре и конфигурационных файлах в исходное состояние. Если, например, вы обнаружите, что QuickTime «переписал на себя» типы файлов aif, aiff, aifc, то, чтобы вернуть их в исходное состояние (то есть чтобы они открывались Windows Media Player), достаточно на вкладке Registry Changes выбрать в левом окне нужную ветвь реестра, щёлкнуть по ней правой кнопкой мыши и в контекстном меню выбрать пункт Restore Changes — нежелательные изменения будут отменены. Точно так же отменяются и изменения отдельного параметра — для этого надо в правом окне деинсталлятора щёлкнуть на нём правой кнопкой мыши. При этом особое внимание надо уделять веткам, предназначенным для хранения настроек Windows, таким как HKEY_CURRENT_USER\ Software\ Microsoft и HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft, а также HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet. Некорректные изменения именно в этих разделах могут привести к серьёзным сбоям ОС.


Ещё один способ поддержания работоспособности системы заключается в следующем. Периодически, например, раз в месяц, делайте снимок текущей конфигурации (Uninstaller > Save current configuration as) и сравнивайте его со сделанным в прошлом месяце — тем самым вы будете отслеживать всё, что происходит в системе (как известно, троянские вирусы и всевозможное spyware инсталлируются без ведома пользователя и потому осуществить мониторинг их инсталляции несколько затруднительно). Соответственно, будет возможность легко вернуть назад значение любого параметра в реестре или удалить непонятно откуда появившиеся новые файлы. Если же вдруг система засбоит, то тоже создайте очередной такой снимок, после чего сравните его с одним из предыдущих, сделанных в то время, когда сбоя не наблюдалось — картина изменений даст шанс определить причину сбоя либо отменить вообще все изменения поголовно, если не удастся определить конкретного «виновника» проблем.


Разумеется, это далеко не все возможности деинсталлятора. Ashampoo Uninstaller, в частности, позволяет осуществлять инкрементное сканирование при установке сразу нескольких программ, при этом значительно сокращается время работы программы, так как последний снимок системы, сделанный при установке первой программы становится первым снимком при установке второй. Умеет программа и очищать диск от временных файлов, подчищать следы вашей деятельности в Интернете, находить одинаковые файлы и пустые папки. Предусмотрен даже экспорт устанавливаемых программ или их настроек на другой компьютер в виде некоего подобия инсталляционных файлов. Так что вопрос о том, использовать Ashampoo Uninstaller или нет, имеет совершенно однозначный ответ.


Главные правила


Самой первой программой, которую вы устанавливаете на ПК, должен быть Ashampoo Uninstaller. Только после её установки инсталлируйте все драйверы и прикладные программы.


Сразу после установки Ashampoo Uninstaller сделайте снимок текущей конфигурации (Uninstaller > Save current configuration as…, назовите его, например, «свежеустановленная ОС») — это будет «чистая» Windows, с которой вы сможете сравнить состояние ОС в любой момент времени (Uninstaller > Compare Two configurations) и выявить все изменения, произошедшие за это время в реестре и на диске, что даст возможность найти причины сбоев или вернуть в исходное состояние какие-то неверные настройки.


Контролируйте установку каждой программы и каждого драйвера независимо от того, новая это программа или просто обновление версии. В идеале следует контролировать даже все посещения Windows Update и установку новых патчей.


Второй снимок системы проводите не сразу же после завершения установки программы, а после того, как вы запустите установленную программу, настроите её параметры и закроете. Многие программы записывают данные в реестр не только при инсталляции, но и при первом запуске (а некоторые разработчики shareware борются с подобными деинсталляторами тем, что прописывают метку в реестр не при установке, а во время одного из запусков программы, причем не обязательно первом).


Проводите мониторинг не только установки программ и драйверов, но даже настройки системы с помощью твикеров — легче будет вернуться к конфигурации по умолчанию.


Чем раньше вы удалите приложение, ставшее причиной сбоев или просто ненужное, тем меньше вероятность возникновения «глюков». Дело в том, что несколько программ могут одновременно использовать одни и те же параметры в реестре и одни и те же библиотеки общего пользования. Но поскольку их инсталлирует самая первая из таких программ, то последующим приложениям просто не нужно повторно записывать то, что уже и так записано в реестр и на диск. Следовательно, для других приложений потребность в этих файлах и записях не будет отражена в лог-файле. Если после этого вы удалите самую первую программу вместе со всеми записанными ей файлами и полностью вычистите реестр от внесенных при её инсталляции записей, то другие программы может потребоваться переустановить, дабы вернуть нужные им компоненты общего пользования на место.


Если Ashampoo Uninstaller вдруг стал «вылетать» с сообщениями об ошибке, попробуйте его переустановить — помогает. Не гонитесь за самой последней версией деинсталлятора — 1.3.1.0 вполне достаточно.


Ускорение загрузки Windows XP

Изменение этих параметров, которые приведены ниже, увеличит скорость загрузки Windows XP в 2, а то и в 3 раза.


Для этого надо удалить файл %windir%\prefetch\ntosboot-b00dfaad.pf [%windir%\ - это папка windows].

Далее запустить редактор реестра (Пуск->Выполнить->(вводим) regedit и изменяем значение:


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters


"EnablePrefetcher"="0" (поумолчанию=3)

"

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction

"Enable"="Y"

"

"LcnStartLocation"="1396416"

"LcnEndLocation"="1443782"

"

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Prefetcher


"LastDiskLayoutTime"=hex:30,cb,3d,2b,34,ed,c0,01

"LastDiskLayoutTimeString"="2001/06/04-13:23:08"


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction


"FileTimeStamp"=hex(b):30,cb,3d,2b,34,ed,c0,01

"OptimizeComplete"="Yes"

"

С реестром всё.


Теперь можно убрать эту надоедливую заставку Приветствие [Welcome]. Пуск->Панель управления-> Учетные записи.


Заходим на "Выбор параметров входа и выхода из системы"


Отключаем "Использовать страницу преветствия"

"

Применяем параметры.

"

Теперь при каждом запуске Windows будет выскакивать окно что ввести пароль. Это можно убрать. Для этого нужен Tweak-XP(4.234Кб). Но сначала поставим пароль.

"

Теперь кликай на свой ник или имя (там где у меня щенок [Nik])

"

Теперь заходим на "создать новый пароль"


Далее первую строчку оставьте пустой, а во второй и третьей введите пароль. В четвёртой можете ничего не писать. Применяем пароль.

"

Теперь запускаем Tweak XP. Заходим в System + File Tweaks>Auto Logon [Ускорение системы->Авто-Логон]

Поставьте галку напротив "Включить авто-логон!" и введите тот же самый пароль!

Вот и все фокусы!!! Наслаждайтесь результатом.


Windows XP - особенности быстрого завершения работы.


Недавно нами была открыта еще одна скрытая особенность Windows XP – возможность быстрого завершения работы операционной системы.

Делается это достаточно просто. Как всегда необходимо исправить ключ системного реестра – WaitToKillServiceTimeout, где установлена временная задержка закрытия всех запущенных сервисов.

Этот ключ расположен в разделе HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control

По умолчанию его значение равно 20000. В некоторых системах это значение равно 2000, что эквивалентно 20 секундам.

Что бы уменьшить время завершения необходимо уменьшить это значение, например, до 100, что эквивалентно 1 секунде.


Однако, прежде чем уменьшать значение, необходимо понять, что происходит во время закрытия.

По мнению профессионалов, значительное уменьшение значения этого ключа не позволит системе корректно завершить запущенные сервисы, что может сказаться на стабильности загрузки.

Во время завершения работы, система уведомляет все сервисы и дает каждому сервису время на корректное закрытие. По истечении этого времени система уничтожает сервис. При этом некоторые параметры настройки сервиса могут быть не сохранены.

Теперь, когда Вы знакомы с этими особенностями Вы должны решить для себя уменьшать время задержки или оставить все без изменений.

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

Во-первых, если в вашем случае при уменьшении значения до 100 система становиться не стабильной, рекомендуется попробовать увеличить это значение до тех пор, пока система не будет полностью стабильной.

Во-вторых, можно пойти другим путем и отключить неиспользуемые сервисы. Это позволит не только уменьшить время выключения, но и позволит сэкономить системные ресурсы, включая системную память.

Подробно о сервисах XP, можно прочитать в статье


^ Ускорение загрузки Windows XP

Автор: Сергей Трошин

Опубликовано: 26.10.2004

Версия для печати


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


Моделирование ядерной зимы его, конечно, не интересует, а вот пошмалять по приятелям из базуки в самом навороченном спинномозговом "шутере" - святое дело. Процессор бы помощнее - я б их точно всех... И грезит он днем и ночью об очередном апгрейде - являются ему валяющийся на дороге бесхозный чемодан, набитый зелеными "буказоидами", и неожиданное наследство от давшей дуба пятиюродной бабушки троюродного дяди. Ах, Pentium 4, мечта поэта! Ах, гигабайт оперативки! Ах, гыфорс намбер три! Ах!


Пока же - в ожидании манны небесной - BIOS изучен вдоль и поперек, разогнано все, вплоть до вентиляторов и флопповодов, а при взгляде на холодильник на лице рождается коварная ухмылка: этот бы компрессор да в дело пустить - Celeron охлаждать... Шестьдесят кадров в секунду в "Кваке" уже не котируются - подавай ему все сто!


Дефрагментация жесткого диска после очередного сноса разложившейся Windows так ни разу и не была проведена, поскольку потратить на это дело лишних 30-40 минут просто кощунство - ведь за это время можно пройти пару уровней Max Payne! На самом видном месте разложены ярлыки к программам, предназначенным для ускорения работы ОС - всяческим TweakUI, WinBoost, TweakDUN и прочим. Правда, последний раз именно эксперименты с ними и привели к скоропостижной кончине Windows, но зато теперь драйвер системного устройства "руки юзера" глючит гораздо меньше.


Но больше всего раздражает то, что несмотря на все усилия по разгону каждый раз при включении ПК надо ждать, пока он загрузится - ну что за фигня, почти по минуте сидеть без дела приходится, теребя в руке джойстик! Так и неврастеником стать недолго!!! На скорость загрузки системы никакими настройками и хитростями заметно повлиять практически не удается.


Спасает от дурдома только режим StandBy - из него машина просыпается всего за несколько секунд, которые хоть и с трудом, но пережить все же можно. Но ведь не каждый же раз им можно пользоваться - "винда" без перезагрузки очень быстро становится неуправляемой, да и страшновато надолго оставлять без присмотра включенный в нашу отечественную сеть агрегат, который, можно сказать, является единственной радостью в жизни. Нет счастья в этом мире, короче говоря...


Это, конечно, крайний случай, и основная масса пользователей более терпелива, но именно медлительность Windows 2000 в свое время стала одной из причин непопулярности у домашнего пользователя этой довольно надежной ОС. И дело не только в повышенной требовательности к ресурсам системы - с этим еще можно было как-то справиться, прикупив побольше памяти. Особенно неприятен был чрезмерно долгий процесс ее загрузки и выключения: на вполне современных компьютерах порой приходилось ждать появления Рабочего стола по полторы минуты!


И это при том, что Windows 98 загружалась максимум секунд за тридцать, а "Миллениум", из которого почти выкорчевали DOS-составляющую, - и того быстрее. Разумеется, если бы преемник Windows 2000 был бы столь же вялым при загрузке, это стало бы серьезным фактором, препятствующим давно задуманному Microsoft переводу на платформу NT избалованных стремительностью и легкостью Windows 9x домашних пользователей. А ведь ставка разработчиками Windows XP делалась главным образом на них - именно эта категория потребителей способна сегодня принести корпорации наибольшие дивиденды.


И именно домашний пользователь придает большое значение скорости работы самой ОС вообще и быстроте ее загрузки в частности. На рабочем месте, в принципе, не так важно - десять секунд надо ждать появления кнопки "Пуск" или три минуты: солдат спит, служба идет. Тем более что потратить эти несколько минут на загрузку системы нужно всего раз или два в день. А вот дома, когда нетерпеливому подростку хочется после школы поскорее залезть в интернет, пока родители не пришли и не увидели, что он там высматривает, - тут уже каждая секунда на счету.


И чтобы не распугать простых пользователей долгими утомительными загрузками, создатели Windows XP постарались на славу - впервые одним из приоритетных направлений при создании ОС было именно сокращение времени, необходимого на запуск системы, а так же на вывод ее из режимов StandBy и Hybernate.


Теория


При создании Windows XP была поставлена задача добиться на типичном домашнем десктопе таких показателей:

выход из режима Standby (S3) - не более 5 секунд;

выход из режима Hibernate (S4) - не более 20 секунд;

обычная загрузка до рабочего состояния - не более 30 секунд.


Разумеется, без некоторых исключений обойтись невозможно, это разработчики признали сразу. Например, ПК с дисками сверхвысокой емкости, с некоторыми SCSI-адаптерами, с RD-Ram, памятью ECC или с локализованной для использования иероглифов ОС должны грузиться чуть медленнее, но среднестатистический ПК с Windows XP никак не должен проигрывать по этому показателю системам семейства 9x. Собственно говоря, все это оказалось сегодня осуществимо на более или менее современных компьютерах - благодаря внедрению в жизнь требований технологий OnNow и ACPI . А вот что конкретно было сделано и удалось ли задуманное Microsoft или нет, мы и попробуем разобраться.


Ход полной загрузки Windows XP можно условно разделить на четыре этапа:

загрузка основных файлов ОС в память;

инициализация устройств;

регистрация пользователя (Winlogon), старт системных служб и оболочки Explorer;

загрузка дополнительного программного обеспечения.


Поскольку набор автоматически загружаемых на старте системы программ на каждом ПК разный, то завершением загрузки непосредственно операционной системы логично считать окончание загрузки ее оболочки - Проводника, когда на экране появляется Рабочий стол. Поэтому за крайние точки отсчета при измерении времени были приняты момент нажатия кнопки Power и момент появления ярлыков на Рабочем столе.


Если рассмотреть более детально получившийся в итоге серьезных усовершенствований ход загрузки Windows XP, то для условного среднего ПК она состоит из следующих процессов, часть которых протекает параллельно:

начальная инициализация (в частности - дисков) - в Windows XP составляет около 2 секунд против 8 в Windows 2000;

инициализация драйверов устройств - зависит от конкретной системы, порядка 4 секунд;

новинка Windows XP - упреждающее чтение "Prefetching", при котором с диска заранее считываются еще не затребованные данные; осуществляется параллельно с инициализацией устройств - около 6 секунд;

инициализация реестра и файла подкачки - еще пара секунд;

инициализация видеоподсистемы и установка нужного разрешения экрана - тоже порядка пары секунд;

регистрация пользователя и запуск служб - около 8 секунд;

старт оболочки Explorer - 2 секунды.


Как видите, в идеале должно получаться не более 20-30 секунд, что вполне сравнимо со временем загрузки гораздо более простых систем Windows 9x. А все за счет того, что в Windows XP ускорение происходит буквально на всех этапах загрузки благодаря таким приемам, как упреждающее чтение данных, параллельная инициализация устройств, параллельное выполнение различных этапов загрузки, отложенный запуск ряда служб, исключение ряда компонентов из процесса загрузки, объединение некоторых сервисов в один общий процесс, да и при регистрации пользователя более не требуется обязательное завершение инициализации сети, а обращение к сетевым ресурсам при загрузке сведено до минимума.


Кроме того, Windows XP поддерживает спецификацию Simple Boot Flag , благодаря которой автоматически сокращается время, необходимое BIOS для проведения процедуры самотестирования POST в случае, если предыдущая загрузка ОС была успешной. Улучшен системный загрузчик ntldr, который теперь умеет кэшировать данные о файлах и директориях, чтобы сократить обращения к диску при загрузке. Это приводит к четырехкратному ускорению его работы по сравнению с Windows 2000. Причем если на ПК установлено две ОС - Windows 2000 и Windows XP, то этот эффект (но только этот - связанный с усовершенствованием ntldr) коснется и "винтукея", так как его загрузчик будет переписан более продвинутым. Кстати, благодаря новым особенностям ntldr ускорился и выход системы из спящего режима. Ну и кроме того, имеется ряд мелких доработок: например, ускорена инициализация реестра, уменьшено время на поиск PS/2-клавиатур, а если у вас имеется сетевая карта, не подключенная к сети, то это обстоятельство также более не будет вызывать задержек загрузки.


Оптимизирована управление питанием во многих аспектах, в частности, улучшена работа спящего режима Hibernation - теперь в файл-образ оперативной памяти не сбрасываются пустые страницы, алгоритм его компрессии улучшен, при записи на диск файла hyberfil.sys используется режим DMA, а запись на диск и компрессия идут параллельными процессами. Обновлен алгоритм оповещения устройств и приложений об изменении режима электропитания. В результате ускорена не только обычная загрузка, но и пробуждение ПК из спящего и ждущего режимов.


Но особого внимания заслуживает ключевой режим упреждающего чтения - Prefetching. В предыдущих системах во время загрузки при инициализации драйверов, загрузке сервисов и оболочки данные с диска в память загружались последовательно, по мере поступления запросов на них. Теперь же Windows XP параллельно с выполнением других операций заранее считывает эти данные, не дожидаясь запроса, что приводит к самому значительному эффекту. Этот интеллектуальный алгоритм упреждающего чтения применяется и к запуску программ - после первого запуска каждой программы создаются специальные сценарии их загрузки (они хранятся в папке \Winnt\Prefetch), в которых описано, какие файлы нужно заранее поместить в память. Эти же файлы, вернее, их некий общий знаменатель - файл \Winnt\Prefetch\layout.ini - используется затем дефрагментатором для оптимизации расположения файлов на диске, что еще больше сокращает время загрузки.


Кстати, вы можете сами проверить, насколько эффективен этот механизм применительно к загрузке ОС - отключить Prefetching можно, установив в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\Session Manager\ Memory Management\PrefetchParameters параметр "EnablePrefetcher" равным "0".


Непосредственно же сам протокол загрузки ОС фиксируется в файле %WinDir%\ Prefetch\notosboot-B00DFAAD.pf, который для большей объективности содержит сведения о последних 8 запусках ОС и обновляетсЧасть 1. Установка Windows


Чистая установка Windows XP. Тем, кто уже умеет устанавливать Windows XP, можно не читать…


Будем считать, что наш винчестер уже разбит как надо, а н
еще рефераты
Еще работы по разное