Открыть сервисСервис

Автозагрузка программ в Windows

Автозагрузка — механизм операционной системы, при котором программы, службы или скрипты запускаются автоматически при старте системы или входе пользователя в систему без ручного вмешательства. В Windows для этой цели используются специальные разделы реестра, папки «Автозагрузка», планировщик заданий и штатные средства системы. В Linux и macOS аналогичные функции выполняют юниты systemd, каталоги /etc/init.d, ~/.config/autostart и агенты запуска.

Способы добавления в автозагрузку в Windows

Папка «Автозагрузка» (Shell:Startup)

Самый простой способ — поместить ярлык программы в папку «Автозагрузка». Путь к ней: %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup для конкретного пользователя или C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup для всех пользователей. Папка открывается через строку выполнения командой shell:startup. В неё помещаются ярлыки на исполняемые файлы, скрипты .bat, .vbs, документы — всё, что имеет ассоциацию для запуска.

Реестр Windows

Автозапуск контролируется несколькими ключами реестра:

КлючНазначение
HKCU\Software\Microsoft\Windows\CurrentVersion\RunЗапуск при входе текущего пользователя
HKLM\Software\Microsoft\Windows\CurrentVersion\RunЗапуск при входе любого пользователя
HKCU\...\RunOnce и HKLM\...\RunOnceОднократный запуск после перезагрузки
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\StartupПуть к папке «Автозагрузка»

В ключи Run добавляются строковые параметры: имя программы — имя, значение — путь к исполняемому файлу с аргументами. Например, для запуска Notepad++ при входе создаётся параметр Notepad++ со значением C:\Program Files\Notepad++\notepad++.exe. Удаление параметра из Run убирает программу из автозагрузки.

Планировщик заданий Windows

Планировщик (taskschd.msc) позволяет создавать задания с триггером «При входе в систему» или «При запуске компьютера». Задание может запускать программу, скрипт PowerShell или командную строку с заданными правами (в том числе от имени администратора). Этот способ предпочтителен, когда нужен запуск до входа пользователя или с повышенными привилегиями.

Службы Windows

Программы могут регистрироваться как службы (services.msc, команда sc create). Служба запускается автоматически при старте системы до входа пользователя, работает в фоне и управляется через диспетчер служб. Для большинства пользовательских задач этот способ избыточен, но для серверного ПО и демонов — стандартный.

Средства Windows 10 и Windows 11

В Windows 10/11 раздел «Автозагрузка» в диспетчере задач (Ctrl+Shift+Esc → вкладка «Автозагрузка») показывает программы, добавленные в автозапуск, и позволяет включать или отключать их. В Windows 11 аналогичные настройки находятся в «Параметры» → «Приложения» → «Автозагрузка». Эти утилиты отображают данные из ключей Run, папки Startup и других источников.

Способы в Linux

Systemd

В современных дистрибутивах Linux автозапуск реализован через юниты systemd. Пользовательский юнит размещается в ~/.config/systemd/user/ с расширением .service, затем выполняется systemctl --user enable <имя>.service. Для системных демонов юниты лежат в /etc/systemd/system/, включение — systemctl enable <имя>.service.

Cron

Задачи cron (crontab -e) могут запускаться по расписанию, в том числе при старте системы (строка @reboot). Этот способ подходит для скриптов, которым не нужен постоянный демон.

rc.local и init.d

В старых системах с SysVinit автозапуск настраивался через скрипты в /etc/init.d/ и файл /etc/rc.local. В дистрибутивах с systemd этот файл по-прежнему поддерживается для простых случаев.

XDG Autostart

Графические среды Linux используют каталог ~/.config/autostart/ с .desktop-файлами, которые запускаются при входе пользователя в графическую сессию.

Способы в macOS

В macOS автозапуск настраивается через «Системные настройки» → «Пользователи и группы» → «Пользовательские элементы входа», где добавляются приложения. Альтернативно используются каталоги ~/Library/LaunchAgents/ (для пользователя) и /Library/LaunchDaemons/ (для системы) с plist-файлами, загружаемыми через launchctl.

Отключение автозагрузки

Для отключения программы из автозагрузки в Windows достаточно удалить её ярлык из папки Startup, удалить параметр из ключа Run реестра или отключить элемент в диспетчере задач. В Linux — systemctl disable или удаление .desktop-файла. В macOS — удаление элемента из списка «Пользовательские элементы входа» или выгрузка агента через launchctl unload.

Вредоносное ПО и автозагрузка

Автозагрузка — один из основных механизмов, используемых вредоносным ПО для закрепления в системе. Типичные векторы: ключи Run реестра, папка Startup, планировщик заданий, службы, драйверы, а также легальные утилиты типа WMI-подписок и COM-объектов. Регулярная проверка списка автозагрузки средствами диспетчера задач и антивирусом помогает выявлять подозрительные элементы.

Источники:

  • Microsoft Learn. Реестр Windows: ключи автозагрузки
  • Microsoft Learn. Планировщик заданий Windows
  • systemd.unit(5), systemd.user(5) — руководства Linux
  • Apple Support. Управление элементами входа в macOS
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru