Адміністрування автозавантаження в Windows - способи керування автозавантаженням, як програми

Однак, знання місць звідки може стартувати той чи інший код, що працює як в режимі користувача, так і в режимі ядра може стати в нагоді не тільки для видалення шкідливих програм, але також і для виключення із завантаження сторонніх драйверів і служб, що завантажуються як на ранніх, так і та пізніх етапах завантаження системи.

У системному реєстрі автозавантаження представлено в розділах:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run - програми, які запускаються при вході користувача в систему (для поточного користувача). (Windows 98, 2000, XP)

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce - програми, які запускаються лише один раз при вході користувача в систему. Після цього ключі програм автоматично видаляються з цього розділу реєстру. (Windows 98, 2000, XP)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run - програми, які запускаються при вході в систему. Цей розділ відповідає за запуск програм для всіх користувачів системи. (Windows 98, 2000, XP)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce - програми, які запускаються лише один раз при вході користувача в систему. Після цього параметри програм автоматично видаляються з цього розділу. Цей розділ відповідає за запуск програм для всіх користувачів системи. (Windows 98, 2000, XP)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx - програми, які запускаються лише один раз, при завантаженні системи. Після цього ключі програм автоматично видаляються з цього розділу реєстру. Цей розділ відповідає за запуск програм для всіх користувачів системи. (Windows 98, 2000, XP)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices-, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices - служби, які завантажуються при вході користувача в Windows. (Windows 98)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ RunServicesOnce - служби, які завантажуються один раз під час завантаження системи. (Windows 98)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services – розділ містить підрозділи з назвами драйверів та служб, які можуть завантажуватись на будь-якій стадії завантаження Windows 2000, XP. Те, на якому етапі завантаження ОС буде завантажено драйвер або служба відповідає параметр Start типу DWORD. Параметр Start може набувати значення:

0х0 – таке значення мають низькорівневі драйвери, наприклад драйвери дисків, які завантажуються на ранньому етапі завантаження – завантаження ядра. У випадку, якщо якийсь драйвер, що має дане значення, не був завантажений система автоматично перезавантажується. Завантаження драйверів, що мають таке значення відповідає завантажувач ОС.

0х1 – це значення мають драйвери, які завантажуються та ініціалізуються після ініціалізації ядра ОС. На відміну від драйверів зі значенням параметра Start 0х0, драйвери пристроїв зі значенням 0х1 завантажуються не за рахунок викликів BIOS, а за допомогою драйверів пристроїв, завантажених на стадії завантаження ядра і щойно ініціалізовані на цій стадії.

0х2 – це значення мають драйвери або служби, які повинні бути завантажені SCM (Диспетчером Управління Сервісами).

0х3 – це значення мають драйвери або служби, що запускаються Диспетчером Управління Сервісами, лише у разі отримання явної інструкції на завантаження.

0х4 – таке значення мають драйвери або служби, які не завантажуються. Windows 2000,XP встановлюють драйвери пристроїв у цей режим у разі неможливості їх завантаження SCM. Виняток становлять лише драйвери файлових систем, які завантажуються, навіть за встановленого значення Start в 0х4.

Знання вищеописаних розділів необхідне при збої системи та неможливості її завантаження у звичайному режимі , тому що в такому випадку ОС можна завантажити в безпечному режимі та відредагувати відповідні розділи системного реєстру або запустити утиліту конфігурування системи MSConfig, що входить до постачання ОС. Однак, що робити, якщо ОС не завантажується і з мінімальним, життєво необхідним набором драйверів і служб, тобто в безпечному режимі? Якщо це сталося після встановлення драйвера або програми, тоді варто переглянути список драйверів і служб, які завантажуються в безпечному режимі, і перевірити чи немає там драйверів від сторонніх розробників. Цю інформацію можна знайти у розділі HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot

Отже, можна завантажитися з boot-дискети MS-DOS, скопіювати файли відповідальні за реєстр і відредагувати цей розділ на іншому комп'ютері.

У системах Windows 9x ще одним місцем запуску коду може бути розділ

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD. Як видно з назви, із цього розділу завантажуються віртуальні драйвери. У Windows 2000/XP програми може запускати Диспетчера сеансів на етапі свого завантаження. Відповідний розділ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager, параметр: BootExecute.

Але вищеописані способи не єдині для керування автозавантаженням. У Windows 2000 для додавання програм до автозапуску можна скористатися Microsoft Management Console (MMC). Зокрема, через MMC можна відключати автозавантаження програм абопідключати необхідні програми. Для цього: відкрийте оснастку "Групова політика" у Windows 2000, перейдіть на вкладку "Конфігурація комп'ютера - Адміністративні шаблони - Система". У правій частині оснастки перейдіть на пункт "Запускати зазначені програми при вході в систему". За замовчуванням ця політика не задана, але ви можете додати туди програму наступним способом: включаємо політику, натискаємо кнопку «Показати – Додати», вказуємо шлях до програми, при цьому якщо програма, що запускається, знаходиться в папці ..WINDOWS\System32\ то можна вказати тільки назва програми, інакше доведеться вказати повний шлях до програми. При цьому у системному реєстрі в розділі

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies створиться підрозділ \Explorer\Run з ключами доданих програм.

Для завдання програм автозапуску тільки для поточного користувача створіть розділи Explorer\Run у гілці

При цьому програми з цього списку не відображаються у списку доступних програм для відключення в MSConfig.exe, а також визначаються не всіма менеджерами автозавантаження. Ще один тип автозавантаження - автозавантаження з особливого списку -

load=«програма» – програми, що запускаються до входу користувача до системи:

run=«програма» – програми, які запускаються після входу користувача до системи.

Ці параметри – аналог автозавантаження з Win.ini у Windows 98.

Для того, щоб ігнорувати списки автозавантаження програм виконуваних одного разу: групова політика: «Конфігурація комп'ютера - Адміністративні шаблони - Система - Не обробляти список автозапуску програм, що виконуються один раз», якщо цю політику включити, то не будуть запускатися програми, що запускаються зі списку

Якщо цю політику включено, у реєстрі створюється наступнийпараметр:

DisableLocalMachineRunOnce значення 1, тип DWORD.

Для вимкнення автозавантаження слід відкрити запис «Вимкнути автозапуск» та вимкнути автозавантаження.

Аналогічно налаштовується політика для поточних користувачів: «Конфігурація користувача – Адміністративні шаблони – Система – Не обробляти список автозапуску програм, які виконуються один раз». Параметри реєстру:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ policies\Explorer DisableLocalUserRunOnce значення 1, тип DWORD.

Одним із найстандартніших способів керування автозавантаженням є папка «Автозавантаження», в якій зберігаються ярлики до програм, які запускаються після успішної реєстрації користувача в системі. Ярлики до цієї папки можуть додаватися програмами під час їх встановлення або користувачем самостійно. Існує дві папки: загальна – для всіх користувачів та індивідуальна – для поточного користувача. За промовчанням ці папки знаходяться в наступних каталогах:

ROOT\Documents and Settings\All Users\Головне меню\Програми\Автозавантаження - папка, програми з якої будуть запускатися для всіх користувачів ОС.

ROOT\Documents and Settings\Username\Головне меню\Програми\Автозавантаження - це папка, програми з якої будуть запускатися для поточного користувача (Username - поточний користувач). Таким чином, для автоматичного запуску програми після успішної реєстрації користувача в системі потрібно створити ярлик до програми і помістити його в одну з перерахованих вище папок. Слід також зазначити, що якщо при вході користувача в систему він затисне клавішу Shift, програми з папок для автозавантаження завантажуватися не будуть.