Это статья для повышения компьютерного кругозора. Если сегодня хочется попрограммировать, сделайте проект с колесом фортуны, а если нужны задачи — вот подборка самых интересных задач на логику.
Сегодня покажем, что происходит в обычном стационарном компьютере, когда вы его включаете и загружаете. Прямо по шагам, углубляясь в детали.
Воткнули вилку в розетку
Чаще всего компьютер включён в сеть постоянно, и это значит, что блок питания подаёт на материнскую плату совсем небольшой ток. Ток настолько мал, что внутри блока питания ничего не греется, поэтому не нужно включать никакие вентиляторы.
Ток поступает на контакты питания материнской платы, а оттуда — на системный контроллер. Системный контроллер — специальная микросхема (или группа микросхем), которая управляет всем, что находится на материнской плате, включая процессор и оперативную память. Когда есть питание, системный контроллер просто ждёт, пока пользователь не нажмёт кнопку включения компьютера.
Получается, даже когда компьютер условно выключен, на самом деле он включён — работает системный контроллер, который, как сторож, проверяет, нужно ли подавать электричество на остальные устройства внутри компьютера.
Нажали кнопку включения
После нажатия кнопки включения системный контроллер получает от неё сигнал и говорит блоку питания: «Мне нужно больше тока». Блок начинает полноценно работать и подаёт полноценное питание на материнскую плату и остальные компоненты — теперь начинают работать все основные компоненты компьютера:
- процессор,
- оперативная память,
- микросхемы BIOS или UEFI (про них позже),
- жёсткий диск.
Когда всё это заработало, системный контроллер берёт содержимое микросхемы BIOS, загружает его в оперативную память и говорит «Ну всё, дальше ты». С этого момента управление компьютером переходит к BIOS.
Загрузился BIOS
BIOS — это аббревиатура от Basic Input/Output System, базовая система ввода-вывода. Она отвечает за первоначальную загрузку компьютера. Все данные BIOS хранятся в отдельной микросхеме на материнской плате, а чтобы настройки не пропали после отключения от розетки, ставят батарейку. Если питания от сети не будет, батарейка будет поддерживать память в микросхеме около 10 лет.
Первое, что делает BIOS, — запускает POST (Power On Self Test), самотестирование при включении. Тест проверяет работу процессора, оперативной памяти, контроллеров, загрузчиков и всего остального оборудования, важного для загрузки компьютера. Если всё в порядке, то компьютер пропищит один раз и продолжит загрузку — так он сообщает о результатах тестирования. А если будут ошибки — пропищит иначе, например:
- короткий и длинный — ошибка с оперативной памятью;
- длинный и 2 коротких — проблемы с видеокартой;
- постоянно длинный и короткий гудки — что-то с процессором;
- всё время пищит — ошибки с блоком питания.
Когда POST пройден, BIOS начинает искать загрузчик операционной системы. Для этого он смотрит у себя в настройках порядок загрузки — список дисков по очереди, с которых можно загрузиться. Например, вот порядок загрузки на экране BIOS компьютера Lenovo. Видно, что сначала нужно попробовать загрузиться с USB (первые три строчки), потом, если USB-дисков нет, — с жёсткого диска (п. 4), а если и диска нет — то попробовать с CD-дисковода или загрузиться по сети:
Как только загрузчик найден, BIOS считывает его код и передаёт ему всё дальнейшее управление компьютером.
Немного про UEFI
У BIOS есть проблема — устаревший интерфейс и мало возможностей для настроек компьютера. Чтобы это исправить, придумали UEFI — мини-операционную систему, которая так же, как и BIOS, может управлять основными настройками, но ещё обладает дополнительными возможностями. Например, у неё есть полноценный графический интерфейс с мышкой, расширенные возможности по настройке устройств и более полный доступ к возможностям железа.
Основное отличие от BIOS в том, что UEFI требуется больше памяти для первоначальных программ загрузки компьютера. Для этого UEFI забирает себе первые 100 мегабайт на диске и берёт эти данные оттуда, а сам раздел делает скрытым.
Работа загрузчика
Загрузчик — это сборное название всех программ и драйверов, которые понадобятся операционной системе для полноценной загрузки.
Можно провести такую аналогию: операционная система — это строительная бригада, которая может сделать что угодно. Но для её работы нужен менеджер, чтобы он заранее съездил к заказчику, выяснил, что нужно сделать, составил смету, закупил материалы и прикинул график работ. Загрузчик — это как раз тот самый менеджер, который делает все предварительные работы. Если менеджер не сделает свою часть, бригада не сможет приступить к работам.
Сам загрузчик находится на жёстком диске, и как только BIOS его находит и отправляет в оперативную память, загрузчик начинает действовать:
- включает нужный режим работы процессора, который защищает одни процессы от других;
- распределяет оперативную память и сгружает туда файл с параметрами загрузки операционной системы;
- загружает драйверы устройств и проверяет их цифровую подпись;
- подключает файловую систему, чтобы компьютер мог полноценно работать со всеми дисками.
На финальном этапе загрузчик находит ядро операционной системы, загружает его в память и передаёт управление ему.
Запуск ядра операционной системы
Если процесс загрузки дошёл до этой точки, то компьютер понимает, что скоро загрузится операционная система, а значит, можно показать пользователю стартовый экран. На Windows он выглядит так:
Пока крутится индикатор загрузки, ядро занимается тем, что загружает и запускает все служебные программы и скрипты:
- смотрит, какое подключено железо и какие драйверы для него нужны прямо сейчас;
- считывает настройки системы и запускает скрипты сразу с нужными параметрами;
- запускает службы и демоны;
- настраивает графический интерфейс;
- включает систему входа пользователей в систему.
Смысл ядра — запустить все программы, которые будут нужны для дальнейшей работы операционной системы. В нашей аналогии со строительной бригадой, ядро — это прораб, который находится всё время на объекте от начала работ до их полного окончания. Прораб следит за ключевыми процессами и вмешивается, если что-то идёт не так. Ядро действует точно так же: обеспечивает работоспособность всей ОС и регулирует ключевые процессы.
Вход пользователя в систему
Последний шаг загрузки компьютера — вход пользователя в систему. Он может быть автоматическим, если нет пароля на вход — в противном случае система попросит его ввести:
После входа операционная система загружает все пользовательские настройки и программы — ставит нужный фон на рабочий стол, применяет какую-то схему оформления и запускает те программы, которые выбрал этот пользователь.
И всё.
Вёрстка:
Кирилл Климентьев
Содержание
- С какого диска загружается Windows?
- Как узнать, с какого диска Windows загружаться?
- Всегда ли диск C является загрузочным?
- На каком диске установлена windows?
- С какого раздела загружается Windows?
- Как узнать, загружается ли Windows с SSD?
- Как узнать, что моя ОС — SSD?
- Как узнать, загрузочный ли диск?
- Как выбрать диск для загрузки Windows 10?
- Вы можете изменить букву диска C?
- Как узнать, где установлена Windows 10?
- Как я могу проверить свою версию Windows?
- Стоит ли устанавливать Windows на SSD или HDD?
- Как сделать диск C загрузочным?
- Что такое системный раздел EFI и нужен ли он мне?
- Какие разделы нужны для Windows 10?
- Как узнать, где на жёстком диске MBR находится активный раздел вместе с загрузчиком операционных систем (при наличии на HDD нескольких установленных Windows и отсутствии Скрытого раздела System Reserved (Зарезервировано системой)?
- Как узнать, на каком диске установлена Windows?
- Как установить операционную систему Microsoft Windows
- Проверка совместимости оборудования
- Подлинный компакт-диск Windows, DVD-диск или флэш-накопитель USB
- Установка или обновление Windows
- Окончательная конфигурация Windows и компьютера
- Долгосрочное обслуживание Windows
- ОС запускается с HDD а не с SSD
- Дубликаты не найдены
- Скорость vs объем
- Майнинг на накопителях провалился
- Жесткие диски и SSD вне опасности
- Дружим SSD и HDD на ноутбуке Lenovo B50-70
- Разница ощутима
- 10 самых популярных мифов про ССД
С какого диска загружается Windows?
Выдающийся. Проще говоря, операционная система Windows всегда является диском C :, просто посмотрите на размер диска C :, и если это размер SSD, то вы загружаетесь с SSD, если это размер жесткого диска, тогда это жесткий диск.
Как узнать, с какого диска Windows загружаться?
Всегда ли диск C является загрузочным?
Windows и большинство других ОС всегда резервируют букву C: для диска / раздела, с которого они загружаются. Пример: 2 диска в компе.
На каком диске установлена windows?
Найдите на жестком диске папку «Windows». Если вы его нашли, значит, на этом диске находится операционная система. Если нет, проверьте другие диски, пока не найдете его. По умолчанию основным диском является диск «C:», поэтому сначала посмотрите на него.
С какого раздела загружается Windows?
Системный раздел — это основной раздел, который используется в качестве активного загрузочного раздела, он также известен как системный том. Системный раздел должен находиться на диске, с которого загружается компьютер, и на одном диске может быть только один системный раздел.
Как узнать, загружается ли Windows с SSD?
Запустите компьютер. Немедленно войдите в BIOS системы и убедитесь, что вы находитесь в режиме AHCI, а не в режиме IDE. Сохраните настройки BIOS системы. Если Windows запускается, значит, вы загружаетесь с ssd.
Как узнать, что моя ОС — SSD?
Щелкните правой кнопкой мыши «Мой компьютер» и выберите «Управление». Затем перейдите в Управление дисками. Вы увидите список жестких дисков и разделы на каждом. Раздел с пометкой System — это раздел, на котором установлена Windows.
Как узнать, загрузочный ли диск?
Найдите диск, который хотите проверить, в окне «Управление дисками». Щелкните его правой кнопкой мыши и выберите «Свойства». Перейдите на вкладку «Объемы». Справа от «Стиль раздела» вы увидите либо «Основную загрузочную запись (MBR)», либо «Таблицу разделов GUID (GPT)», в зависимости от того, какой диск используется.
Как выбрать диск для загрузки Windows 10?
В Windows нажмите и удерживайте клавишу Shift и выберите параметр «Перезагрузить» в меню «Пуск» или на экране входа. Ваш компьютер перезагрузится в меню параметров загрузки. Выберите опцию «Использовать устройство» на этом экране, и вы можете выбрать устройство, с которого хотите загрузиться, например USB-накопитель, DVD или загрузку по сети.
Вы можете изменить букву диска C?
Буква диска для системного тома или загрузочного раздела (обычно диск C) не может быть изменена или изменена. Любую букву от C до Z можно присвоить жесткому диску, дисководу компакт-дисков, DVD-диску, переносному внешнему жесткому диску или USB-накопителю.
Как узнать, где установлена Windows 10?
Чтобы узнать, какая версия Windows 10 установлена на вашем компьютере:
Как я могу проверить свою версию Windows?
Нажмите кнопку «Пуск» или «Windows» (обычно в нижнем левом углу экрана компьютера). Щелкните «Настройки».
…
Стоит ли устанавливать Windows на SSD или HDD?
Ваш SSD должен содержать ваши системные файлы Windows, установленные программы и любые игры, в которые вы сейчас играете. … Жесткие диски — идеальное место для вашей библиотеки MP3, папки с документами и всех тех видеофайлов, которые вы копировали за многие годы, поскольку они не особо выигрывают от невероятной скорости SSD.
Как сделать диск C загрузочным?
Что такое системный раздел EFI и нужен ли он мне?
Согласно части 1, раздел EFI похож на интерфейс для загрузки Windows с компьютера. Это предварительный шаг, который необходимо выполнить перед запуском раздела Windows. Без раздела EFI ваш компьютер не сможет загрузиться в Windows.
Какие разделы нужны для Windows 10?
Стандартные разделы Windows 10 для дисков MBR / GPT
Источник
Если загрузиться в Windows 10, то окно «Управление дисками» выглядит так.
При включении компьютера выходит меню загрузки, где я могу выбрать для загрузки Win 7 или Win 10.
Как узнать, где на жёстком диске MBR находится активный раздел вместе с загрузчиком операционных систем (при наличии на HDD нескольких установленных Windows и отсутствии Скрытого раздела System Reserved (Зарезервировано системой)?
Управление дисками Windows 10
Увидеть эти файлы можно, если у вас включено в системе отображение скрытых файлов и папок.
Во-вторых, узнать, где на жёстком диске MBR находится активный раздел можно с помощью командной строки.
Ещё одна команда, также покажет нам активный раздел:
bcdedit (данная команда предназначена для управления данными конфигурации загрузки), запущенная без параметров, покажет нам содержимое хранилища загрузки BCD. Как видим, активный раздел находится на первом разделе жёсткого диска (D:) с установленной Windows 10. Также видим, что хранилище загрузки содержит в себе запуск двух операционных систем: Windows 7 и Windows 10.
Примечание : Важно знать, что сделать активным можно любой «Основной» раздел жёсткого диска, рассмотрим этот вопрос далее.
Наш читатель спросил, что будет, если он форматирует или удалит раздел с установленной Windows 7, загрузится ли после этого Windows 10? Или наоборот, если он удалит раздел с установленной Windows 10, загрузится ли после этого Windows 7?
Ответ. Так как загрузчик двух операционных систем и активный раздел находятся на первом разделе (D:) с установленной Windows 10, то при удалении этого раздела, оставшаяся операционная система Windows 7 естественно не загрузится, выйдет ошибка « An operating system was not found. » (Операционная система не найдена)
Если из работающей Windows 10 удалить раздел с установленной Windows 7, то загрузка Win 10 не будет нарушена.
Как же поступить нашему читателю, если к примеру, он хочет удалить Windows 10 и оставить себе Windows 7?
В этом случае нужно создать операционной системе Windows 7 свой отдельный загрузчик, сделать это можно так.
Находясь в работающей OS Windows 7 открываем командную строку от имени администратора и вводим команды:
DISKPART> lis dis (выводим в список все подключенные к компьютеру накопители)
DISKPART> sel dis 0 (выбираем единственный подключенный жёсткий диск)
DISKPART> lis par (выводим в список все разделы жёсткого диска)
DISKPART> sel par 2 (выбираем раздел с установленной Windows 7, размер 55 Gб)
DISKPART> activ (помечаем раздел с Windows 7 как активный)
DiskPart: раздел помечен как активный.
Завершение работы DiskPart.
C:Windowssystem32> bcdboot C:Windows (данная команда создаёт отдельный загрузчик на разделе с установленной Windows 7)
Файлы загрузки успешно созданы.
Данными действиями мы создали для Windows 7 отдельный загрузчик. Теперь диск (C:) с установленной Windows 7 имеет атрибуты: Система, Активен.
После этого вы смело можете форматировать или удалять раздел с Windows 10, загрузка Windows 7 от этого не пострадает!
Создаём загрузчик для Windows 7 прямо в работающей Windows 10
Друзья, в конце статьи хочу вам сказать, что создать загрузчик для Windows 7 можно прямо в работающей Windows 10, сделаем это так.
Загружаемся в Windows 10.
Открываем командную строку от имени администратора и вводим команды:
DISKPART> lis dis (выводим в список все подключенные к компьютеру накопители)
DISKPART> sel dis 0 (выбираем единственный подключенный жёсткий диск)
DISKPART> lis par (выводим в список все разделы жёсткого диска)
DISKPART> sel par 2 (выбираем раздел с установленной Windows 7, размер 55 Gб)
DISKPART> activ (помечаем раздел с Windows 7 как активный)
DiskPart: раздел помечен как активный.
Завершение работы DiskPart.
Файлы загрузки успешно созданы.
Данными действиями мы также создали для Windows 7 отдельный загрузчик.
Загружаемся в Windows 7.
Теперь диск (C:) с установленной Windows 7 имеет атрибуты: Система, Активен и если удалить Windows 10, то Windows 7 прекрасно загрузится.
Источник
Как узнать, на каком диске установлена Windows?
У меня есть две точные копии Windows 10, одна на диске C: и одна на диске D :. Это два внутренних диска в одном ноутбуке.
Как я могу узнать, какая Windows работает?
Как выбрать тот, который будет запускаться во время загрузки?
Буквы дисков, такие как C:, назначаются только во время выполнения установки Windows, поэтому они обычно будут обеими C: для обеих ваших установок.
Откройте cmd.exe или Powershell.exe с повышенными привилегиями (от имени администратора), затем введите:
через мгновение введите:
Вы получите что-то вроде этого:
вы можете увидеть то же самое, открыв Управление дисками:
и найдите Boot в столбце состояния томов.
При настройке двойной загрузки Windows вы должны использовать описательные имена для каждой загрузочной записи.
Есть несколько способов, и я упомяну самые быстрые способы, которые приходят мне в голову.
Открыть Диспетчер задач и выберите системный процесс (что-то вроде svchost.exe или winlogon.exe) на вкладке Details/Processes. Щелкните правой кнопкой мыши по нему, и вы увидите «Местоположение открытого файла», которое также откроет ваш каталог Windows.
Откройте диспетчер задач и выберите системный процесс (например, svchost.exe или winlogon.exe) на вкладке «Сведения/процессы». Щелкните правой кнопкой мыши по нему, и вы увидите «Расположение открытого файла», которое также откроет ваш каталог Windows.
Некоторые другие способы
Просто нажмите Win + R и запустите cmd. Путь к cmd.exe по умолчанию часто отображается в строке заголовка. В некоторых системах отображается просто «Командная строка», но в этом случае вы можете посмотреть строку приглашения, которая часто указывает на вашу пользовательскую папку на системном диске
Это быстро, но ненадежно, поэтому, пока вы находитесь в командной строке, просто запустите команды в других ответах или вы можете запустить echo% systemroot% или set sys
Нажмите Win + Pause или щелкните правой кнопкой мыши Мой компьютер> Свойства> Защита системы. Ваш системный диск будет указан со словом «System»
Тем не менее, в настоящее время Windows часто показывает свой системный диск всегда как C: независимо от положения системного тома на диске, поэтому метка диска или имя устройства более полезны, чем буква диска
Некоторые другие способы
Просто нажмите Win + R и запустите cmd. Путь к cmd.exe по умолчанию часто отображается в строке заголовка. В некоторых системах отображается просто «Командная строка», но в этом случае вы можете посмотреть строку приглашения, которая часто указывает на вашу пользовательскую папку на системном диске
Это быстро, но ненадежно, поэтому, пока вы находитесь в командной строке, просто запустите команды в других ответах или вы можете запустить echo% systemroot% или set sys
Нажмите Win + Pause или щелкните правой кнопкой мыши Мой компьютер> Свойства> Защита системы. Ваш системный диск будет указан со словом «System»
Тем не менее, в настоящее время Windows часто показывает свой системный диск всегда как C: независимо от положения системного тома на диске, поэтому метка диска или устройство имя более полезно, чем буква диска
Откройте CMD типа в ОС wmic GET SystemDrive/VALUE
Это вернет букву системного диска.
Открыть CMD тип в wmic OS GET SystemDrive/VALUE
Это вернет букву системного диска.
. Это вызовет настройки конфигурации системы. Щелкните вкладку «Загрузка».
Это приведет к вверх настройки конфигурации системы. Перейдите на вкладку «Загрузка»..
Есть много вариантов, как другие пользователи сказали
Самый простой способ, который я использую для идентификации ОС на диске в мультизагрузке, — это щелкнуть правой кнопкой мыши меню «Пуск» Windows и нажать «Исследовать», и откроется каталог профиля для пользователя, и я узнал букву диска, с которой я загрузил ОС
У меня установлены 2 Windows 10, 2 Windows 7 и 3 Windows XP, изменено меню загрузки, разделено на категории и названо например, Windows 10 для диска C (для учебы), Windows 10 для диска D (игры), Windows 10 для диска e (банкинг), Windows 10 для диска F (загрузка)
Вы можете изменить меню загрузки следующим образом.
Во-вторых, я запускаю CMD, который открывается в Системный каталог по умолчанию, в котором установлены окна.
В-третьих, как сказали другие пользователи, следующие способы, команды и переменные, чтобы узнать это
Есть много вариантов, которые можно выполнить, как говорили другие пользователи
У меня установлены 2 Windows 10, 2 Windows 7 и 3 Windows XP, изменено меню загрузки и разделено на категории и названо как Windows 10 для диска C (исследование), Windows 10 для диска D (игры), Windows 10 для электронного диска (банкинг), Windows 10 для диска f (загрузка)
Вы можете изменить меню загрузки следующим образом
В-третьих как сказали другие пользователи способы, команды и переменные, чтобы узнать это
Как установить операционную систему Microsoft Windows
Каждая версия Microsoft Windows устанавливается на компьютер аналогичным образом. Хотя в процессе установки есть шаги, которые могут различаться в зависимости от версии Windows, следующие общие шаги и рекомендации помогут вам установить Windows на ваш компьютер.
Если вы заменяете жесткого диска на вашем компьютере, вам необходимо переустановить Windows снова.
Если вы заменяете материнскую плату на своем компьютере, вам может потребоваться приобрести новую лицензионную копию Windows и установить ее. Microsoft разработала текущие версии Windows для привязки к материнской плате компьютера при установке Windows. Поэтому, если вы замените материнскую плату, существующая лицензия или ключ продукта могут стать недействительными.
Если вы хотите обновить на более новую версию Windows на вашем компьютере, действия на этой странице помогут вам в процессе обновления. Процесс установки Windows должен определить, установлена ли у вас на компьютере более старая версия Windows, и спросить, хотите ли вы обновить или выполнить новую установку. В процессе обновления будут установлены новые файлы операционной системы Windows поверх старых и сохранятся ваши файлы.
Следующие шаги относятся ко всем последним версиям Windows, включая Windows 98, Windows ME, Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8 и Windows 10. Эти шаги будут работать даже для более ранних версий (например, Windows 95), если вы используете дисковую версию. Версия с гибкой дискетой аналогична, но требует дополнительных действий.
Проверка совместимости оборудования
Перед установкой или обновлением Windows на вашем компьютере проверьте оборудование компьютера, чтобы убедитесь, что он совместим с этой версией Windows. Microsoft предоставляет список совместимых с Windows продуктов, чтобы проверить, совместимо ли оборудование вашего компьютера с выбранной версией Windows.
Если вы обнаружите, что одно или несколько устройств на вашем компьютере несовместимы с выбранной версии Windows, мы рекомендуем заменить это оборудование совместимым оборудованием. Наличие совместимого оборудования на вашем компьютере помогает обеспечить успешный процесс установки или обновления Windows.
Подлинный компакт-диск Windows, DVD-диск или флэш-накопитель USB
Во-первых, вам понадобится подлинная копия установочного компакт-диска, DVD-диска или USB-накопителя операционной системы Microsoft Windows. Подлинный ключ продукта Windows входит в комплект установочного диска, который требуется для активации Windows после установки. Если у вас OEM-компьютер, ключ продукта Windows часто находится на задней или боковой стороне компьютера.
Если у вас OEM-компьютер (например, Acer, Dell, HP и т. Д.). ) на компьютере не будет подлинного компакт-диска, DVD-диска или USB-накопителя Windows. Вместо этого вы переустановите Windows и все программное обеспечение, используя скрытый раздел или набор дисков восстановления. Шаги, упомянутые на этой странице, по-прежнему будут работать, но вам потребуется копия Windows. Вы можете позаимствовать у друзей диск Windows, если это та же версия Windows, которая поставляется с компьютером, и имеет ключ продукта.
В ранних версиях Windows вы не удается загрузить копию Windows для установки на компьютер. Вы должны приобрести физическую копию Windows. Если вы устанавливаете Windows 10, вы можете загрузить инструмент создания Windows 10 для создания загрузочного диска или флэш-накопителя USB.
Microsoft предлагает Windows 10 для скачивать только с их сайта. Любому другому сайту, который утверждает, что у него есть копии других версий Windows, нельзя доверять. Эти копии Windows являются пиратским программным обеспечением и могут содержать что угодно, включая шпионское или вредоносное ПО.
Установка или обновление Windows
изменив порядок загрузки, вы можете начать процесс установки Windows.
Процесс установки Windows завершается, когда компьютер предлагает вам войти в систему или когда он загружается в Windows.
Окончательная конфигурация Windows и компьютера
После установки Windows на компьютер вам необходимо установить драйверы и соответствующее программное обеспечение для оборудования на компьютере. Вы можете использовать установочные диски, поставляемые с оборудованием, или загрузить драйверы с веб-сайта производителя оборудования.
Если вы не можете загрузить драйверы из-за того, что ваша сетевая карта не работает после установки Windows, вы можете загрузить драйверы на другой компьютер. Затем скопируйте их на USB-накопитель и переместите на свой компьютер.
Настоятельно рекомендуется установить последние версии драйверов для каждого оборудования.
Чтобы определить, какое оборудование требует установки драйверов, проверьте Диспетчер устройств и найдите восклицательный знак «!» рядом с аппаратными устройствами. Восклицательный знак означает, что для этого устройства необходимы драйверы.
После установки необходимых драйверов оборудования установите на компьютер все программы, которые вы хотите использовать.
Наконец, загрузите и установите все доступные обновления Windows. Обновление Windows улучшает производительность операционной системы, оборудования компьютера и программного обеспечения, которое вы используете. Он также может повысить безопасность за счет устранения потенциальных дыр и недостатков в системе безопасности Windows.
Долгосрочное обслуживание Windows
Microsoft часто выпускает новые обновления для Windows, поэтому мы рекомендуем вам проверить и установить доступные обновления. Это помогает улучшить работу Windows и защитить ваш компьютер.
Кроме того, периодически проверяйте наличие обновленных драйверов устройств на веб-сайтах производителей. Обновление драйверов оборудования помогает аппаратным устройствам компьютера работать с максимальной производительностью и улучшает совместимость с другим компьютерным оборудованием и программным обеспечением.
Источник
ОС запускается с HDD а не с SSD
Недавно решил перенести систему с HDD на новый SSD, но так, чтобы оставить старый диск для файлопомойки. После успешного клонирования диска полез в BIOS выставлять SSD первый для запуска системы. И вроде поставил его везде на первое место, но вот система всё равно стартует со старого HDD. Забавно, что если физически вытащить HDD из мат. платы, то система разумеется без проблем стартует с SSD, но при подключении 2-х дисков одновременно сделать этого не получается.
Решение крайне простое(по крайней мере в моём случае). Выключайте машину и вытаскивайте из матери старый HDD. Далее запускайте систему, и после успешного запуска ОС удостоверьтесь что она работает исправно. Далее поключите HDD к уже запущенному компьютеру и к новой системе. Изначально диск в «Моём компьютере» не появится, но нам пока это и не надо. Нажмите Win + R и в открывшемся окне введите команду «diskmgmt.msc». У вас откроется служба для управления дисками. Если там не появился ваш второй диск, то перейдите во вкладку «Действие» и нажмите на «Повторить проверку дисков»(см.фото)
После этого у вас точно появится второй диск. Далее вы должны путём нажатия правой кнопкой мыши удалить нужный том на втором диске(HDD), а именно том на 100 MB. Этот том должен отвечать за загрузку винды. (Проверьте запуск системы с двумя дисками, если всё хорошо, то оставляйте, если что-то не так, то снова вынимайте HDD, стартуйте с SSD, и удаляйте том на 512 мб, если что, то размеры могут немного отличаться)
Теперь вы должны нажать правой кнопкой мыши на основной том HDD диска(там где больше всего ГБ), а затем выбрать опцию «Изменить букву диска или путь к диску». Изначально он будет без буквы, по этому нажимайте в открывшемся окне кнопку «Добавить» и выбирайте подходящую букву для диска, например D. После этой операции ваш диск появится в «Моём компьютере».
Тут уже дело ваше что вам с ним делать, вы можете его отформатировать его, а можете достать оттуда важные файлы или вовсе оставить его заполненным. Но лично я не могу форматировать весь диск, так как у меня на HDD стоит вторая система Ubuntu, и чтобы она осталась, я сначала удалил основной том диска, а потом снова создал простой том(правая кнопка мыши) на всё получившееся новое незаполненное пространство. Вся картина у меня выглядит вот так:
Таким образом, я перенёс «правильно запускающуюся» ОС на SSD, сохранив при этом работающим старый HDD, для загрузки на него файлов и мусора, а так же оставил работающую Ubuntu без переноса её на новый диск. Надеюсь это кому-то пригодилось)))
Дубликаты не найдены
как то всё через Чукотку сделано
предложи альтернативу, пригодится людям думаю
так уже, в комментах вроде как расписали с картинками
там не та проблема рассматривается
у меня как то стояло по два диска с разными системами, прекрасно всё выбирается системой, чего огород городить то? выбери с какого диска стартануть а на втором удали винду если мешает—вроде всю жизнь так было, хотя с такой фигнёй по честному уж несколько лет не сталкивался, бывало как то и по три винчестера в массив соединял, правда щас не помню как там и чего делалось, когда появились терабайтные диски то вся эта мулька стала неактуальна, у меня сейчас один на терабайт и второй со старого жёсткий диск на 300 гигов с фотками и архивами кочует с компа на комп, хотя и твой вариант если забыл где там галочки в системе поставить тож нормальный—дёшево и сердито
проблема то в том была, что система никак не стартовала с нужного диска(даже через биос), потому что скорее всего загрузчик на HDD перебивал загрузчик на SSD, следовательно я и не мог удалить винду с HDD, так как она в принципе с нее и запустилась. именно по этому пришлось действовать таким колхозом)))
А что, выбор операционной системы по умолчанию системными способами уже не котируется?
Если папа не купит мне кота, он больше не будешь котироваться в моих глазах
как выбор системы поможет решить проблему запуска той же системы с HDD а не с SSD?
Так, что если на компе установлено несколько систем можно указать, какой именно из них запускаться.
так вопрос не в этом состоял, а в том, что одна и та же система(винда) не запускается с нужного диска
я не удалял операционку с жесткого диска. поэтому их две одна на SSD, а вторая на HD, можно выставить в биосе загрузку с твердотельного, но путь к операционкам записан на жестком, поэтому вылазиет ошибка потери этой програмки, и системы не загружаются, в итоге без вариантов загрузка начинается с жесткого, и переходит на новый SSD.
А мог нечаянно запороть HDD, ведь не все поддерживают hot plugin
Насколько я знаю просто SATA горячую замену не поддерживают, а значит это не безопасно
благодарю за информацию
Поддерживают, если включить в биосе режим ahci на сата портах.
Поддерживают, если включить в биосе режим ahci на сата портах. Переключать режим нельзя, если винда уже установлена. Надо делать до установки винды.
Никаких гарантий. Все дело в самом драйве. Да, на разьеме питания SATA контакты разной длины, что в принципе должно позволять hot swap. Но только в eSATA есть гарантия его поддержки.
ACHI работает через ALPM
а там тоже нет гарантий хотсвопа (выключение питания), только low power
Скорость vs объем
Майнинг на накопителях провалился
Жесткие диски и SSD вне опасности
Дружим SSD и HDD на ноутбуке Lenovo B50-70
Доброго времени суток, уважаемые! Вторую неделю собираюсь написать пост о не совсем простом апгрейде ноутбука Lenovo B50-70 и видимо время пришло… Заранее прошу не кидать камнями, т.к. это мой первый пост подобного рода на какой-либо площадке.
Поехали, короче говоря.
Предыстория: постоянный клиент обратился с проблемой – стало очень долго обрабатываться видео в редакторе, максимальная длина монтируемого проекта сократилась до 20-30 минут. Всё что больше либо очень долго рендерится, либо и вовсе видеоредактор зависает. Ну и в общем ноут стал работать медленнее спустя год после замены харда и установки «свежей» винды.
Т.к. клиент постоянно занимается монтажом видео и ведёт свой канал на небезызвестном видеохостинге, было предложено установить SSD вместо DVD-ROM и перенести на него систему. Сориентировались по стоимости, обсудили нюансы, в общем договорились. Клиент самостоятельно купил SSD (Netac 500Gb) и салазки (Dexp).
Проделываю то же самое и система загружается с SSD. Спустя 2-3 перезагрузки снова всё пропало – система зависает на загрузке и уходит в восстановление. При этом периодически подмигивает индикатор на салазках, т.е. при загрузке система обращается к HDD в салазках.
На этом этапе решил подкинуть эти два диска в имеющийся в ремонте ноутбук Lenovo G780. Тут проблем не было, как бы я их не устанавливал и не менял местами, ноут грузился с SSD и видел HDD. Значит система перенесена корректно и проблема в самом буке. И снова скитания по тематическим форумам…
Спустя пару-тройку часов мытарств на хабре натыкаюсь на статью по подключению HDD к буку через самодельный переходник и ремонт-доработку салазок. Как оказалось на Slimline SATA коннекторе питания DVD-ROMa присутствуют два дополнительных контакта:
— Device present (RX DP(1 pin))
— Manufacturing diagnostic (TX MD (4 pin))
Один из них определяет наличие оборудования, второй пытается выполнить диагностику. Видимо диагностику штатного DVD. Заклеил 1мм 3М скотчем эти два контакта на салазках (можно было откусить ножки со стороны бокса, но был придуман более щадящий вариант), установил салазки на место и…. О чудо! Без каких-либо манипуляций система загрузилась с SSD.
Разница ощутима
10 самых популярных мифов про ССД
Миф №1 — SSD имеют небольшой ресурс
Раньше это действительно было так, но давайте посмотрим, какой ресурс у современных SSD с MLC, TLC или 3D NAND памятью. Конечно, ресурс будет отличаться для накопителей разного объема и цены, но для решений с 240-256 ГБ можно рассчитывать на 100-300 TBW.
Что же это за странное понятие — TBW? Оно показывает, сколько терабайт можно записать на накопитель, прежде чем он может начать выходить из строя. Отсюда же вытекает другой вопрос: а за сколько времени получится записать несколько сотен терабайт? К примеру, я за год достаточно активного пользования ПК смог записать на системный SSD лишь 18 ТБ — отсюда легко высчитать, что при такой нагрузке его хватит как минимум лет на 10. И это при том, что исчерпание ресурса TBW не означает, что диск вот прям сразу после записи последнего бита из 200 TBW начнет умирать — на деле достаточное количество накопителей превышают этот показатель на порядок, оставаясь при этом полностью работоспособными!
А теперь вспомните — есть ли у вас HDD десятилетней давности? Скорее всего едва ли: они или уже умерли, или имеют смешную по современным меркам емкость в 160-250 ГБ и скорее всего просто хранятся где-нибудь в гараже. Так что не стоит беспокоиться о том, что SSD быстро умрет: скорее всего вы куда быстрее смените его на более емкий или быстрый.
Миф №2 — SSD крайне дорогиеПожалуй, так говорят только те, кто не смотрел цены на твердотельные накопители последние пару лет. Цена за гигабайт постоянно падает, и сейчас можно найти 120 ГБ SSD всего за полторы тысяч рублей — это достаточно незначительная сумма даже для бюджетной сборки.
Конечно, жесткие диски по все той же цене за гигабайт остаются выгоднее: так, накопитель на 1 ТБ будет стоить 3 тысячи рублей. Но никто не мешает взять под систему и онлайн-игры небольшой SSD, а под все другое — жесткий диск: так вы получите баланс скорости и производительности за минимальную доплату.
Миф №3 — система требует дальнейшей настройки после установки на SSD
Это все же не совсем миф: так, например, Windows 7 из коробки не умеет работать с быстрыми NVMe SSD, так что даже для ее установки на такой накопитель нужно интегрировать в образ специальный драйвер.
Но если мы берем современную Windows 10 или последние версии macOS или Linux, то они по умолчанию из коробки умеют работать с SSD и поддерживают различные функции типа TRIM для поддержания накопителя «в форме».
Миф №4 — SSD никак не влияет на скорость работы устройства
Да, есть и такое: хватает людей, которые пытаются доказать, что на скорость работы ПК влияет только процессор, ОЗУ да видеокарта. Конечно, если мы берем серьезную нагрузку типа игр, то тут SSD действительно лишь уменьшит время их запуска и практически никак не повлияет на FPS.
Однако в большинстве повседневных задач профит от твердотельного накопителя виден невооруженным глазом: система стартует за считанные секунды, копирование файлов происходит влет, а одновременная работы с несколькими программами не вгоняет компьютер в состояние крайней задумчивости.Миф №5 — SSD требует постоянного обслуживанияТут скорее наоборот: как раз жесткий диск следует время от времени дефрагментировать, чтобы он работал быстрее, а вот для SSD такие оптимизации будут скорее даже вредны, ибо постоянная перезапись файлов будет с каждым разом приближать вас к пределу ресурса TBW.Вместо этого современные системы могут послать накопителю команду TRIM — получив ее, контроллер SSD сам будет оптимизировать хранящиеся на диске данные в моменты его простоя, что в итоге позволяет поддерживать ему максимальную скорость работы.Миф №6 — SSD следует использовать только в современных устройствахЭтот миф следует из того, что большая часть SATA SSD подключаются по третьей версии этого протокола и имеют скорости в 500+ МБ/c. Соответственно, подключение по SATA 1 или SATA 2 даст скорости в 150 или 300 МБ/с, то есть накопители не будут работать с полной скоростью, что лишает смысла их покупку для старых устройств, где нет SATA3.
Однако это не совсем так: скорости в полтысячи мегабайт в секунду вы увидите лишь при последовательном чтении или записи огромных файлов (например, при копировании видео), и то обычно от силы секунд на 10-15. При работе с более мелкими файлами, которыми являются повседневные данные, скорость падает на порядок, и зачастую составляет всего 30-50 МБ/с, что ощутимо меньше, чем лимит даже SATA 1. Поэтому даже десятилетний ПК при обычной работе ощутимо ускорится от установки SSD — при этом, разумеется, можно сэкономить и не брать очень быстрые твердотельные накопители.
Миф №7 — для гарантированного удаления данных с SSD требуется использовать полное форматирование
Что такое полное форматирование? По сути это запись во все ячейки накопителя нулей — очевидно, что в таком случае восстановить записанные данные практически нереально (для магнитных накопителей есть нюансы, но если вы не храните на HDD тайны государственной важности, то полного его форматирования вполне хватит, чтобы ваши данные не смогли восстановить в обычном сервисе).
Но вот для твердотельного накопителя это абсолютно лишняя и даже вредная процедура: так, для его быстрого форматирования используется команда TRIM — получив ее, контроллер SSD затирает все данные на накопителе и пересоздает список секторов. То есть для SSD быстрое форматирование выполняет по сути то же самое, что для HDD — полное. Поэтому при быстром форматировании SSD о восстановлении данных можно забыть.
Выполнять полное форматирование SSD поэтому, во-первых, становится не нужным (так как быстрое и так все стирает), а, во-вторых, это может даже навредить SSD — он будет работать медленнее. Это происходит из-за того, что принципы работы HDD и SSD сильно различаются: в случае с последними запись во все ячейки нулей будет означать, что ячейки не пусты — они заняты нулями. И для последующей записи чего-либо в эти ячейки контроллеру SSD придется не записывать в них новую информацию, а перезаписывать (то есть сначала удалять нули, а потом уже записывать новую информацию) — это сильно снижает скорость работы SSD, бывает даже до скоростей обычных жестких дисков.
Миф №8 — для продления срока службы SSD следует отключить или перенести с него файл подкачки
Файл подкачки используется системами тогда, когда им не хватает ОЗУ — в таком случае часть данных будет храниться на накопителе. При этом, очевидно, эти данные будут постоянно перезаписываться, что действительно может уменьшить срок работы SSD.
Но тут всплывают две вещи: во-первых, как я уже писал в первом мифе, ваш SSD спокойно проживет десяток лет и скорее всего будет заменен только потому, что станет медленным или слишком маленьким по емкости. Во-вторых, отключение файла подкачки приведет к тому, что система под серьезной нагрузкой может начать работать ощутимо медленнее, что может нивелировать эффект от установки SSD. Собственно, перенос файла подкачки на HDD сделает тоже самое, поэтому лучше все оставить по умолчанию.
Миф №9 — отключение индексации, поиска и сканирование системы на вирусы увеличит время жизни SSDОпять же, это кажется логичным: ведь постоянное сканирование диска тем же Защитником Windows уж точно уменьшит ресурс накопителя. Однако на деле нужно помнить, что оставшийся ресурс уменьшает только перезапись информации, а в данном случае происходит лишь чтение. Поэтому выключение указанных выше функций приведет только к неудобству при работе с системой и ухудшению безопасности, без всякого влияния на накопитель.
Миф №10 — нельзя перенести систему с жесткого диска на SSD, требуется ее переустановка
Опять же это верно лишь в очень специфических условиях: например, вы купили NVMe SSD и хотите перенести Windows 7 на него с жесткого диска — в таком случае ничего не получится, ибо в этой системе по умолчанию нет нужного драйвера.
Но если мы берем современные версии Windows, macOS или Linux, то тут никаких проблем нет — перенос системы с HDD на SSD в том же Acronis происходит ничуть не сложнее, чем с HDD на другой HDD. При этом не стоит бояться, что система будет неправильно работать с твердотельным накопителем — это абсолютно не так, современные системы умеют узнавать тип диска, на котором они установлены, и включать нужные для них функции типа TRIM.
Как видите, современные SSD ничуть не сложнее в использовании, чем жесткие диски, и отлично обслуживают себя сами, при этом живя достаточно долго, чтобы не беспокоиться о сохранности данных. Поэтому если вы все еще сидите на HDD и не уверены, стоит ли брать SSD — берите и не сомневайтесь, работать за компьютером станет куда приятнее.Источник: Мой Компьютер
Источник
- Просмотр списка автозагрузки стандартными средствами Windows
- Просмотр списка автозагрузки при помощи сторонних утилит
На увеличение времени загрузки компьютера во многом влияют программы, запускающиеся вместе с операционной системой. При необходимости их можно исключить из автозагрузки, но для начала нужно узнать, что именно загружается. Сделать это можно посредством стандартных инструментов Windows и при использовании специализированного стороннего софта.
Просмотр списка автозагрузки стандартными средствами Windows
Отметим, что стандартный инструментарий Windows показывает не полный список программ, загружающихся при включении компьютера. Для просмотра этого списка в Windows 7:
- Откройте приложение «Выполнить» (нажмите «Win + R» на клавиатуре), скопируйте без кавычек в открывшееся окно команду «msconfig» и нажмите «ОК».

- Откроется приложение «Конфигурация системы». Перейдите во вкладку «Автозагрузка», в которой будут перечислены приложения, загружающиеся при включении компьютера. При необходимости их можно отключить, сняв галочку напротив нужной программы, и нажав затем кнопку «Применить».
В случае с Windows 10 список автозагрузки находится в системном приложении «Диспетчер задач»:
- Вызовите «Диспетчер задач» при помощи комбинации клавиш «Ctrl + Shift + Esc».
- Перейдите во вкладку «Автозагрузка». Чтобы убрать программу из автозагрузки, выделите ее название, затем нажмите кнопку «Отключить».
Многие программы, стартующие при включении компьютера, могут запускаться системой по запланированному заданию. Такие приложения (вернее — системные задания, запускающие их) можно найти в «Планировщике заданий». Чаще всего именно отсюда запускается всевозможное рекламное и вредоносное ПО или отдельные модули обычных программ (например, модули обновления). Чтобы ознакомиться и при необходимости отключить автозапуск таких приложений из «Планировщика заданий», выполните следующие действия:
- Запустите утилиту «Выполнить» (Win + R) и выполните из нее команду — taskschd.msc.
- В отобразившемся приложении «Планировщик заданий» откройте раздел «Библиотека планировщика заданий» (в левой части окна):
- В центральной части окна отобразится список действующих заданий. Не обращайте внимания на значение в колонке «Состояние». Если напротив задания написано «Отключено», это может означать, что оно просто не выполняется в данный момент. Значение «Готово» говорит о том, что задание уже было выполнено. В столбце «Триггеры» перечислены события, при наступлении которых начнется выполнение задания.
- Выберите любое из заданий в этом списке. В нижней части окна отобразятся параметры выбранного задания. Откройте вкладку «Триггеры». Об автоматическом запуске задания при включении компьютера будет свидетельствовать значение «При входе в систему», «При входе любого пользователя» или «При запуске компьютера» в столбце «Триггер».
- Во вкладке «Действия» можно увидеть, какая именно программа запускает выбранное задание, и где она хранится на жестком диске.
- Чтобы удалить задание, кликните по его названию и нажмите клавишу «Del»/»Delete».
При помощи «Планировщика заданий» можно найти и выключить различные навязчивые программы, без конца отображающие уведомления, предлагающие что-то скачать или обновить. Но вовсе необязательно, что задания на их запуск будут приведены в разделе «Библиотека планировщика заданий». Если речь идет о рекламном/вредоносном ПО, то задания на их запуск может быть размещено где угодно в «Планировщике». Также необязательно, что название этих заданий будут соответствовать названию запускающейся программы.
Если задача выполняется в данный момент времени (например, на экране виднеется уведомление от какой-нибудь программы), кликните по разделу «Планировщик заданий (Локальный)», затем вызовите меню «Действие» и в нем выберите «Отображать все выполняемые задачи»:
Так можно уточнить название задачи, затем найти и удалить ее. Во всех остальных случаях искать задания придется вручную, посещая каждый из разделов/подразделов всей библиотеки «Планировщика заданий». Ищите триггеры со значениями «При входе в систему», «При входе любого пользователя» или «При запуске компьютера», затем переходите во вкладку «Действия», чтобы определить название запускаемой программы.
Просмотр списка автозагрузки при помощи сторонних утилит
Существует множество программ, позволяющих управлять автозагрузкой в Windows. Одна из наиболее эффективных — Autoruns. Она полностью бесплатная и предназначена исключительно для управления автозагрузкой без каких-либо лишних функций.
Утилита Autoruns позволяет не только просматривать и управлять программами, запускающимися при включении компьютера, но также и рядом других объектов — DLL-библиотеками, файлами драйверов, службами и даже запланированными заданиями в рассмотренном выше «Планировщике заданий».
Программой Autoruns легко пользоваться:
- Распакуйте скачанный архив с утилитой и запустите версию, соответствующую по разрядности с установленной на компьютере системой Windows. Для работы некоторых функций требуется запуск программы от имени администратора.
- В верхней части окна программы расположены вкладки, в которых находятся списки тех или иных автоматически загружающихся объектов. Откройте вкладку «Everything» для просмотра списка всех таких объектов.
- При обнаружении какого-либо приложения в автозагрузке утилита Autoruns рядом с ее названием отобразит соответствующую иконку — так проще найти нужную программу и выключить ее при необходимости. Чтобы сделать это — просто снимите галочку перед ее названием.
Содержание
- Автозагрузка в Windows 7: порядок в системе со старта
- Для чего нужна «Автозагрузка» в Windows 7
- Редактирование «Автозагрузки»
- С помощью команды msconfig
- Меню «Пуск»
- Используя поисковый запрос
- Через реестр
- Видеоинструкция: где находится список «Автозагрузки» и как удалить программы
- Как добавить программы
- Видеоинструкция: как внести программу в список автозапуска
- Что убрать, а что оставить?
- Как узнать, какие программы запускаются при включении компьютера?
- Просмотр списка автозагрузки стандартными средствами Windows
- Просмотр списка автозагрузки при помощи сторонних утилит
- Используйте автозапуск программ Windows 7 с умом!
- Автозапуск программ Windows 7
- Windows 11
- Не отображается текст в ячейке Excel
- Как отобразить строки в Excel
- Как закрыть Эксель, если не закрывается
- Как сделать, чтобы Эксель не округлял числа
- Автозагрузка в Windows 7: как, где, зачем и почему
- Через окно Конфигурация системы
- Через папку Автозагрузки
- Через реестр
- Ccleaner
- Sysinternals Autoruns
- Дополнительно
- Через вкладку Службы
- Планировщик задач
- Как узнать что загружается при включении компьютера
- Настройка автозагрузки с помощью альтернативного ПО
- Ошибки при загрузке Windows: Разбираемся с самыми частыми
- Загрузка системы
- Причины ошибок загрузки
- Наиболее распространенные ошибки Windows
- Windows XP
- Потеря системного загрузчика
- NTLDR is missing
- HAL.dll
- Windows 7
- Загрузчик системы
- 0x80300024
- «ERROR»
- Startup Repair Offline
- 0x0000007b
- Windows 10
- Inaccessible Boot Device
- CRITICAL_PROCESS_DIED
- Operating system wasn’t found
- Выводы
- Решение восстановление системы при запуске windows
Автозагрузка в Windows 7: порядок в системе со старта
Уход за компьютером обязательно включает чистку оперативной памяти от лишних программ, расходующих ресурсы и замедляющих систему. Большинство из них запускаются пользователем, однако зачастую они начинают работу без его сознательного участия. Это касается и программ, находящихся в списке «Автозагрузки». Как настроить «Автозагрузку» в Windows 7, читайте в нашей статье.
Для чего нужна «Автозагрузка» в Windows 7
Система использует автозагрузку для запуска важных компонентов, например драйверов установленных устройств или модулей отслеживания обновлений. Кроме того, сюда же помещаются антивирусы, которые для предотвращения заражения компьютера вирусами должны запускаться одновременно с системой.
Автозагрузка является также одним из способов индивидуальной настройки компьютера. С её помощью можно запускать ежедневно используемые рабочие приложения, антивирусы, коммуникаторы и т. д. Это удобный инструмент работы фоновых программ, например торрент-агентов или эмуляторов дисков. Часто автозагрузку используют для работы с «тяжёлыми», долго запускающимися программами.
И именно сюда просятся многие приложения, при установке «на всякий случай» сохраняя галочку в пункте «Запускать автоматически», а также вредоносные программы.
Редактирование «Автозагрузки»
С помощью команды msconfig
Узнать, какие программы запускаются на компьютере при включении, можно с помощью командной строки. Для этого нажимаем одновременно клавиши Win (кнопка с флажком Windows) и R. В открывшемся окне «Выполнить» в строке ввода набираем команду msconfig и нажимаем «OK».
Введите команду msconfig и нажмите «ОК»
В открывшемся окне «Конфигурация системы» переходим на вкладку «Автозагрузка». Перед нами откроется список автоматически загружаемых приложений.
Убираем лишние галочки
Чтобы убрать лишние, достаточно снять пометку в строке с названием программы. Для сохранения изменений необходимо нажать кнопку «OK», после чего можно перезагрузить компьютер.
Меню «Пуск»
Список автоматически загружаемых программ можно посмотреть, последовательно открывая пункты меню «Пуск — Все программы — Автозагрузка — Открыть».
Приложения обозначены ярлычками, ненужные можно удалить. Остаётся лишь перезагрузиться.
Используя поисковый запрос
Открываем меню «Пуск» и в поисковой строке снизу вводим запрос shell:startup, после чего нажимаем Ввод.
Дальше действуем уже по известному нам алгоритму, удаляя лишние ярлыки.
Чтобы сделать то же для всех пользователей, следует в поисковой строке ввести C:ProgramDataMicrosoftWindowsStart MenuProgramsStartup.
Все внесённые изменения вступят в силу после перезагрузки.
Через реестр
Нажимаем Win + R, после чего в строке «Открыть» набираем команду regedit.
Запускаем редактор реестра
В открывшемся окне «Редактор реестра» нас интересуют разделы:
В них хранятся ссылки на программы для текущего пользователя.
Убираем лишние приложения
Чтобы изменить список «Автозагрузки» для всех пользователей данного компьютера, редактируем разделы:
Видеоинструкция: где находится список «Автозагрузки» и как удалить программы
Как добавить программы
Открываем список автоматически загружаемых приложений по уже известному нам алгоритму «Пуск — Все программы — Автозагрузка — Открыть», после чего нужно нажать правую кнопку мыши и в появившемся списке выбрать сначала «Создать», затем «Ярлык».
Создаём ярлык для нужного приложения
После выбора пункта меню «Ярлык» нажимаем «Обзор…», и в открывшемся списке окошка «Обзор файлов и папок» выбираем нужную программу и нажимаем «OK».
Того же результата можно добиться через рассмотренные выше поисковые запросы в меню «Пуск». Набрав shell:startup, получаем доступ к «Автозагрузке» текущего пользователя, а Startup (C:ProgramDataMicrosoftWindowsStartMenuProgramsStartup) даёт возможность сделать то же для всех, зарегистрированных на данном компьютере. Изменения вступят в силу после перезагрузки.
Видеоинструкция: как внести программу в список автозапуска
Что убрать, а что оставить?
Главное правило редактирования списка «Автозагрузки» — знать, что делаешь. Прежде чем убирать метку, нужно узнать, что делает соответствующее приложение и не навредит ли системе его удаление из автоматического запуска. Проще всего для этого воспользоваться сетевыми поисковыми сервисами.
Обязательно нужно оставить в списке брандмауэр. Что же касается торрентов, то всё зависит от активности пользователя в этой сети. Если загрузка и раздача файлов является одним из ежедневных занятий, то можно позволить торренту загружаться вместе с системой. В другом случае стоит его удалить, поскольку это достаточно ресурсоёмкое приложение.
В наше время редко встречаются пользователи, не пользующиеся ежедневно интернетом. Поэтому браузеры («Опера», Google Chrome и другие) лучше включить в «Автозагрузку» для удобства работы. То же касается коммуникационных программ (Skype, Viber и прочие).
Наводить порядок в «Автозагрузке» важно и полезно. Хотя это и трудоёмкий процесс, более быстрая загрузка системы и ускорение работы компьютера станут достойной компенсацией за работу.
Источник
Как узнать, какие программы запускаются при включении компьютера?
Просмотр списка автозагрузки стандартными средствами Windows
Отметим, что стандартный инструментарий Windows показывает не полный список программ, загружающихся при включении компьютера. Для просмотра этого списка в Windows 7:

В случае с Windows 10 список автозагрузки находится в системном приложении «Диспетчер задач»:
Многие программы, стартующие при включении компьютера, могут запускаться системой по запланированному заданию. Такие приложения (вернее — системные задания, запускающие их) можно найти в «Планировщике заданий». Чаще всего именно отсюда запускается всевозможное рекламное и вредоносное ПО или отдельные модули обычных программ (например, модули обновления). Чтобы ознакомиться и при необходимости отключить автозапуск таких приложений из «Планировщика заданий», выполните следующие действия:
При помощи «Планировщика заданий» можно найти и выключить различные навязчивые программы, без конца отображающие уведомления, предлагающие что-то скачать или обновить. Но вовсе необязательно, что задания на их запуск будут приведены в разделе «Библиотека планировщика заданий». Если речь идет о рекламном/вредоносном ПО, то задания на их запуск может быть размещено где угодно в «Планировщике». Также необязательно, что название этих заданий будут соответствовать названию запускающейся программы.
Если задача выполняется в данный момент времени (например, на экране виднеется уведомление от какой-нибудь программы), кликните по разделу «Планировщик заданий (Локальный)», затем вызовите меню «Действие» и в нем выберите «Отображать все выполняемые задачи»:
Так можно уточнить название задачи, затем найти и удалить ее. Во всех остальных случаях искать задания придется вручную, посещая каждый из разделов/подразделов всей библиотеки «Планировщика заданий». Ищите триггеры со значениями «При входе в систему», «При входе любого пользователя» или «При запуске компьютера», затем переходите во вкладку «Действия», чтобы определить название запускаемой программы.
Просмотр списка автозагрузки при помощи сторонних утилит
Утилита Autoruns позволяет не только просматривать и управлять программами, запускающимися при включении компьютера, но также и рядом других объектов — DLL-библиотеками, файлами драйверов, службами и даже запланированными заданиями в рассмотренном выше «Планировщике заданий».
Программой Autoruns легко пользоваться:
Остались вопросы, предложения или замечания? Свяжитесь с нами и задайте вопрос.
Источник
Используйте автозапуск программ Windows 7 с умом!
Автозапуск программ Windows 7
Windows 11
Не отображается текст в ячейке Excel
Как отобразить строки в Excel
Как закрыть Эксель, если не закрывается
Как сделать, чтобы Эксель не округлял числа
В процессе использования системы Windows, она начинает намного дольше загружаться, чем раньше. Есть несколько причин, по которым, система начинает со временем дольше загружаться – ошибки Windows, износ оборудования, мало свободного пространства и другие. Но основная причина – кроме системы загружаются и сторонние программы, которые значительно загружают вход в систему. В данной статье мы рассмотрим автозапуск программ в Windows 7, и других версиях, зачем он нужен, где найти и как убрать автозапуск программ windows 7, 8, 10 и программы, которые позволят получить больше, чем системные утилиты.
Автозагрузка в Windows 7: как, где, зачем и почему
Большую проблему для пользователей создают программы, которые запускаются с системой и приходится довольно долгое время ожидать полной загрузки системы, чтобы уже можно было начинать ею комфортно пользоваться. За автоматический запуск программ отвечает определенная настройка – автозагрузка или автозапуск. Среди них могут быть как полезные, бесполезные, так и опасные приложения, поэтому необходимо точно знать, что отключать, а что необходимо оставить. Мы научим вас как включить и выключить автозапуск программ в Windows 7, а также как добавить в автозапуск нужные программы при включении компьютера в Windows 7.
Через окно Конфигурация системы
Настройки «Конфигурация системы» позволяет получить значительное количество информации не только о загрузке (вкладка Загрузка и Общие ), но позволит понять, что еще загружается вместе с системой.
В данном окне можем увидеть название программы, производителя, а также его расположение. Отключение из автозапуска выполняется снятием соответствующей галочки напротив названия программы.
Через папку Автозагрузки
Самый удобный вариант, если необходимо добавить в автозапуск какую-либо программу при включении компьютера в Windows 7, это напрямую добавление в папку Автозагрузка. Чтобы открыть данную папку пройдите по следующему расположению:
C:Users%ИМЯ ПОЛЬЗОВАТЕЛЯ%AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup
Также, есть другой способ. Нажмите сочетание клавиш «Win+R» и введите команду shell:startup.
При переносе исполнительных файлов, само приложение работать не будет при запуске. Это стандартная ошибка новичков.
Необходимо переносить Ярлык приложения, которое будет ссылаться к рабочему исполнительному файлу программы и корректно работать и запускаться при старте.
Также! После добавления нужной программы, оно появится в списке автозапуска Конфигурации системы.
Через реестр
Еще один удобный способ, который позволит войти и изменить автозапуск программ в Windows 7 – через редактор реестра.
Реестр – это своеобразная база данных всех настроек и параметров, откуда приложения и сама система понимает, что конкретное ПО связано с конкретным файлом или действием. Для автозапуска, есть своя, так называемая ветка, где и можно управлять загрузкой.
Чтобы найти интересующую нас ветку, пройдите по следующему пути:
Стоит обратить внимание, что это не единственная ветка, но основания для данной системы.
В данной ветке, есть несколько параметров, которые ссылаются на приложения или страницы в сети (это это вирус или реклама). В значении каждого параметра указано, куда ссылается то или иное приложение или вирус. Например, браузеры ссылаются на свою утилиту проверки обновлений, а вирусы могут ссылаться куда угодно.
Мы рассмотрели с вами системные методы для автозапуска программ Windows 7, как отключить их и где. Но также есть и сторонние приложения, которые помогут вам в этом.
Ccleaner
Известнейшее ПО для оптимизации и очистки от мусора. Оно обладает огромным функционалом не только очистки, но и оптимизации системы и приложений.
Функционал Ccleaner действительно хорош, не зря это одно из самых популярных приложений для оптимизации Windows.
Sysinternals Autoruns
Autoruns – утилита от компании Sysinternals, приобретённой Microsoft. Обладает отличнейшим функционалом, но весьма скудным интерфейсом. Для работы с данной утилитой, необходимы знания на уровне уверенного пользователя ПК со знанием стандартных веток реестра. Начинающий пользователь ПК при работе с Autoruns может ненароком наломать дров, что придётся восстанавливать работу в безопасном режиме.
Утилита позволяет узнать об абсолютно всём, что будет загружено вместе с системой – утилиты, драйвера, модули и многое другое. Вот почему Autoruns очень ценится в среде профессионалов.
Интересен фильтр Hide VirusTotal Clean Entries – который скрывает значения, которые по мнению сервиса VirusTotal чисты и не представляют угрозы. Опасные или зараженные модули будут подсвечиваться красным или розовым.
Дополнительно
В данной статье мы показали, где находится и как посмотреть автозапуск программ в Windows 7, но это еще не всё. Есть еще методы полного отключения приложений и его компонентов. Отключение автозапуска не всегда решает проблему, связанную с конкретным приложением. Поэтому вы можете дополнительно воспользоваться следующими небольшими подсказками.
Через вкладку Службы
Для начала, необходимо зайти в управление автозапуском программ Windows 7, через команду msconfig. Только в этот раз нам потребуется вкладка Службы.
При анализе на вирусы и подозрительное ПО, стоит обращать внимание на неизвестные названия, особенно без изготовителя. Если такие встречаются, то необходимо первым делом уточнить у поисковиков, действительно ли это вирус. Вполне может оказаться полезное приложение, но без подписи разработчика.
В крайнем случае, можно отключить работу всех служб для проверки работы системы или отключать их поочерёдно, если цель выявить ошибочную службу.
Важно! Антивирусы так просто не отключить, они обладают модулем самозащиты, который не позволит отключить антивирус, даже обладая правами Администратора. Его необходимо отключать в настройках.
Планировщик задач
Чтобы открыть «Планировщик задач» нажмите Win+R и введите команду control schedtasks. Папка Библиотека планировщика задач, будет содержать основные триггеры для стороннего ПО. Вы можете проанализировать все действия, которые приводят к запуску программы и отключить её.
Все вышеуказанные функции доступны и с сторонних приложениях, таких как Ccleaner или Autoruns, о которых также было упоминание в этой статье.
Источник
Как узнать что загружается при включении компьютера
Итак, с помощью команды «msconfig» получилось зайти в автозагрузку и изменить условия запуска для некоторых приложений. Но как добавить в автозагрузку файл или программу, если в их собственных настройках данной функции нет? К примеру, необходимо, чтобы при запуске Windows автоматически загружался, какой-нибудь текстовый файл или что-либо другое. Для этого его нужно поместить в папку автозапуска. Но где она находиться в Windows 7 и как ее найти? Тут также нет никаких сложностей. Заходим в меню «Пуск» и открываем раздел «Все программы». Далее находим папку «Автозагрузка». К сожалению, открыть ее таким способом не получится, можно лишь ознакомиться с тем, что она содержит и, при желании, почистить ее содержимое.
Чтобы попасть в директорию ее размещения в Windows 7 и войти в нее нужно узнать путь к ней. Для этого, нажав правой клавишей мыши по ней, вызовите контекстное меню, где будет доступен пункт «Свойства». Откройте его и в графе «Расположение» скопируйте путь в буфер обмена.
Как правило, он имеет вид — C:UsersИмя компьютераAppDataRoamingMicrosoftWindowsStart MenuPrograms.
После открываем «Мой компьютер» и вставляем скопированный путь в адресную строку, как это показано на скриншоте ниже и нажимаем «Enter».
Далее открываем искомую папку.
Ознакамливаемся с ее содержимым и, при необходимости вносим свои коррективы — удаляем или добавляем новые приложения или файлы.
Обратите внимание: в нашем случае папка «Автозагрузка» содержит только лишь одну программу, в отличие от выше описанного способа через команду «msconfig». При этом, стоит отметить, что в папке размещен не исполнительный файл, а ярлык приложения.
Исходя из этого, если необходимо отключить какое-либо приложение, не отображенное в папке, но в действительности загружаемое вместе с Windows 7, то воспользуйтесь вышеописанной командой «msconfig» или альтернативным ПО, описанным ниже. Кроме этого для автоматической загрузки какого-либо другого приложения или файла, не входящего в список автозапуска, просто разместите в данную папку их ярлыки.
Настройка автозагрузки с помощью альтернативного ПО
Для того, чтобы убрать автозагрузку программ, напрасно потребляющих ресурсы компьютера, можно воспользоваться сторонним ПО, коих сегодня предостаточно. Одним из таких приложений, предоставляющих подобный функционал, является утилита Uninstall Tool. Основной ее задачей является полное удаление приложений с компьютера с чисткой реестра, но с ее помощью так же можно проверить, очистить или включить автозагрузку для приложений загружаемых вместе с операционной системой.
Запускаем программу и переходим во вкладку «Автозапуск». Здесь отображен полный перечень программного обеспечения, который можно включить или удалить из автозагрузки Windows.
Кроме этого, Uninstall Tool может похвастаться тем, что с ее помощью можно поставить любую программу в автозагрузку windows 7, не имеющей в своих настройках подобной функции. Для этого нажимаем на кнопку «Добавить новую программу», расположенную в нижнем левом углу, и выбираем исполнительный файл с расширением «.exe» нужного приложения.
Обратите внимание: к сожалению, с помощью программы нет возможности поставить в автозагрузку отдельные файлы (текстовые, графический и т.д), как это делается ручным методом, описанным выше.
После произведенных действий перезагружаем компьютер, чтобы выполненные настройки вступили в силу.
>Возможно и эти статьи Вам будут так же интересны
Источник
Ошибки при загрузке Windows: Разбираемся с самыми частыми
Ошибки при загрузке Windows
Ошибки при загрузке Windows встречаются довольно часто. Он могут говорить о неисправности жесткого диска, оперативной памяти, процессора или операционной системы.
Давайте разберемся, что обозначают ошибки, и как от них избавляться.
Загрузка системы
Разберем процесс загрузки ОС. При включении компьютера и его успешной загрузки, процессор выполняет ряд инструкций, которые ему предоставляет BIOS.
Эти инструкции внесены в энергозависимую память CMOS. После запуска процессор обращается к адресуемой ячейке микросхемы. Это зависит от заложенных свойств. В ней записан код BIOS.
Начальный набор инструкций, выполняемых процессором, называют процедурой POST (Power-On Self Test- самопроверка при подключении к питанию).
С ее помощью проводятся следующие действия:
BIOS прекращает свою работу в загрузке, когда находит главную загрузочную запись на жестком диске (или в месте записи ОС) и передает ей управление дальнейшей загрузкой.
Теперь в загрузку вступают программы, записанные на носителе.
Причины ошибок загрузки
Перечислим основные проблемы загрузки:
Нужно выяснить причину сбоя и устранить ее. А чтобы проблемы больше не возникали снова – не повторяйте эти ошибки.
Это очень важно для дальнейшей корректной работы системы, иначе вам придется снова и снова переустанавливать программное обеспечение и операционку, что приведет к износу жесткого диска.
Что мешает загрузке Windows?
Наиболее распространенные ошибки Windows
Дело в том, что ошибка при загрузке Виндовс изменяется в зависимости от версии ОС.
Так, у разных версий наиболее распространенными будут разные ошибки. Именно поэтому нужно искать решение проблемы для своей операционки.
Windows XP
В нынешнее время данная версия Виндовс практически перестала существовать.
Однако некоторые компьютеры (часто это именно старые модели) всё ещё работают на этой ОС.
И хотя люди, которые давно знают ХР привыкли к её ошибкам, однако стоит разобраться с самыми распространенными из них.
Потеря системного загрузчика
Это наиболее распространенная проблема при загрузке Виндовс ХР. Обычно она возникает при попытке переустановить ОС.
При появлении данной ошибки система выдает одну из двух надписей:
Устранение данных ошибок возможно посредством выполнения данных пунктов:
После этого система перезапустится, и ошибка будет устранена.
Хотя существуют и другие причины потери системного загрузчика, однако вышенаписанное случается наиболее часто.
NTLDR is missing
Данная проблема также довольно распространена. При её появлении, зачастую, пользователи просто форматируют диск, что приводит не только к устранению ошибки, но и потере всей памяти.
Однако данную проблему можно решить без таких радикальных методов, достаточно понять причину её происхождения. А устранить и при этом сохранить данные не так уж и сложно.
Данная ошибка представляет собой черный экран с надписью NTLDR is missing.
Порой для устранения проблемы достаточно нажать популярное сочетание клавиш Ctrl+Alt+Delete (об этом написано в экране ошибки).
Данная комбинация должна перезапустить систему, но помогает это далеко не всегда.
Ошибка означает, что не доступны файлы отвечающие за загрузку системы. Причин её может быть несколько:
Решение ошибки «NTLDR is missing»
HAL.dll
При данной проблеме, во время загрузки ОС, пользователь наблюдает надпись на подобие «Не удается запустить HAL.dll» или «Файл не найден или поврежден».
При её появлении первым пришедшим на ум решением становится переустановка Виндовс. Однако можно справится и без столь кардинальных мер.
Дело в том, что данный файл отвечает за взаимодействие железа (самого компьютера) и его программных компонентов.
Проблема возникает по той причине, что ХР, как наиболее старая версия, подвержена различным ошибкам наиболее часто.
Как таковых причин возникновения ошибки может быть множество. Однако её всё же можно устранить при помощи ряда действий в BIOS’е не переустанавливая при этом операционную систему.
Тем не менее стоит понимать, что порой справится поможет только радикальный способ.
Решение ошибки «HAL.dll»
Windows 7
Несмотря на новые версии Виндовса, семерка всё же остается наиболее популярной. Это скорее дело привычки.
Многие считают данную версию наиболее удобной и усредненной между ХР и той же восьмеркой (в принципе так оно и есть)
. Именно потому что версия наиболее популярная, то и ошибка загрузки Виндовс 7 является частой проблемой.
Чаще всего при загрузке Windows 7 возникают различные коды ошибок, которые указывают на ту или иную проблему. Стоит разобраться с наиболее частыми проблемами, которые возникают.
Загрузчик системы
Как и у Виндовс ХР, у семерки случаются проблемы с загрузчиком. Причина проблемы та же что и у предыдущей версии.
Однако восстановить загрузчик семерки можно как автоматически, так и вручную.
Первый способ наиболее удобен и с ним справится даже самый неопытный пользователь, но он не всегда может помочь избавится от проблемы.
Загрузчик системы Windows 7
0x80300024
Данная ошибка возникает при установке ОС. Происходит это из-за неопытности многих пользователе, которые при переустановке забывают отформатировать один из разделов жесткого диска.
Обычно эта ошибка указывает на недостаток места для установки системы.
Для того, чтоб ошибка не возникала необходимо проверить память на жестком диске и в случае необходимости отформатировать его.
«ERROR»
Известная многим ошибка, которая возникает при запуске системы. Обычно возникает после установки ОС. На белом фоне высвечиваются большие красные буквы.
Для решения проблемы необходимо перезагрузить компьютер с установочным диском внутри и при включении запустить диск.
Дойти до пункта «Восстановление системы», а после поставить галочку возле «Используйте средства восстановления…», однако стоит учесть, что придется выбрать систему.
В командной строке необходимо вписать «bootrec /fixboot». После этого проблема будет устранена.
Startup Repair Offline
Дословно это проблема означает «восстановление запуска не в сети», порой устраняется после перезагрузки.
Однако зачастую система пытается восстановить себя без подключения к сети и у неё не получается. Поэтому придется ей помочь.
Обычно это решается несколькими способами:
Все эти способы требуют определенны знаний и неопытному человеку лучше вызвать человека, который хорошо в этом разбирается.
Решение проблемы Startup Repair Offline
0x0000007b
Наиболее пугающая для пользователей ошибка – «синий экран смерти». Зачастую это означает, что система «легла» и помогут ей только кардинальные меры.
Однако иногда случается и так, что после перезагрузки компьютера ошибка исчезает и больше не проявляет себя, однако стоит понимать, что таким образом компьютер сигнализировал о серьезной проблеме, которую необходимо устранить.
Основных причин проблемы может быть несколько:
В первую очередь необходимо провести диаг6ностику ошибки чтоб выяснить причину проблемы, после чего уже браться за её устранение в зависимости от выявленных причин.
Windows 10
Наиболее новая версия операционной системы также не исключает того, что появится ошибка при загрузке Виндовс 10.
И, хотя разработчики старались максимально исключить изъяны, однако это компьютер, а значит предусмотреть и исключить в се проблемы просто невозможно.
Именно поэтому при появлении ошибок придется справятся своими силами (или если уж совсем всё плохо – при помощи специалистов).
Inaccessible Boot Device
Данная ошибка встречается довольно часто. И как разработчики не пытались устранить все изъяны системы, однако при обновлении десятки, после отката ОС или даже при простой перезагрузке появляется данная ошибка.
В первую очередь необходимо проверить приоритетность устройств в BIOS, так как данная проблема может возникнуть в случае если жесткий диск с установленной ОС стоит не на первом месте в приоритете.
Также необходимо отключить все подключенные USB-устройства и различные карты памяти, так как это тоже может стать причиной проблемы.
Ошибка «Inaccessible Boot Device»
CRITICAL_PROCESS_DIED
Это синий экран с грустным смайлом. Может означать как синий экран смерти, так и ошибку, которая потребует восстановления в высветившемся окне.
Для автоматического восстановления необходимо нажать «Переустановить», после чего система самостоятельно устранит проблему.
Operating system wasn’t found
Ошибка возникает в следствии логических или аппаратных повреждений накопителя, сразу после инициализации при запуске системы.
Стоит предположить, что твердый или жесткий диск работаю неправильно вследствие некорректного завершения системы в прошлый раз.
Необходимо переподключить носитель через другой шлейф. Обычно этого достаточно для устранения проблемы.
Ошибка «Operating system wasn’t found»
Выводы
Стоит понимать, что проблем с загрузкой и ошибок при ней может быть очень много и выше изложена лишь небольшая часть. Однако мы рассмотрели наиболее часто встречаемые ошибки при загрузке Windows.
Однако следует знать, что не все ошибки решаются легко (например, при помощи перезагрузки). Любая ошибка оповещает пользователя о том, что произошел какой-либо сбой.
Это значит, что стоит уделить внимание причине проблемы и нормальному её разрешению. Это исключит последующие проблемы с компьютером и продлит время его функционирования.
Некоторые из ошибок сообщают о неполадках в системе ОС, другие сигнализируют о том, что проблемы кроются гораздо глубже – в железе.
Вторым особенно необходимо уделить внимание, во избежание серьезных проблем. Однако это не значит, что стоит пренебрегать системными ошибками, так как постоянное их появление может спровоцировать проблемы с железом.
По сути это замкнутый круг. И если не обращать внимания на проблему, то могут возникнуть серьезные неполадки.
Также понимание того, что не все проблемы можно решить самостоятельно спасут Ваш компьютер от значительного количества ошибок и поломок. Поэтому не стоит пренебрегать вызовом специалиста.
Решение восстановление системы при запуске windows
Ошибки при загрузке Windows: Разбираемся с самыми частыми
Понравилась статья? Подпишитесь на канал, чтобы быть в курсе самых интересных материалов
Источник
Мы продолжаем разбираться как работает ПК на примере клавиатуры и Windows 10. В этой статье поговорим о том как происходит единение софта и железа.
Старт системы
Полностью компьютер выключен когда он отключен от питания и конденсаторы на материнской плате разрядились. До эры смартфонов мобильные телефоны часто глючили и если перезагрузка не лечила проблему, то приходилось доставать батарею и ждать 10 секунд, потому что сбрасывалось программное состояние ОС, в то время как чипы на материнской плате и контроллеры устройств оставались активными сохраняя состояние, драйвера ОС к ним просто реконнектились. 10 секунд — время на разрядку конденсаторов, состояние чипов сбрасывается только при полном отключении.
Если же ПК подключен к розетке или батарее, то он находится в режиме Stand-By, это значит что по шине питания подаётся маленькое напряжения (5В) от которого запитываются некоторые чипы на материнке. Как минимум это системный контроллер, по сути это мини-компьютер запускающий большой компьютер. Получив уведомление о нажатии кнопки Power он просит блок питания/батарею подать больше напряжения и после инициализирует весь чип-сет, в том числе и процессор. Инициализация включает в себя перекачку кода и данных прошивки материнки (BIOS/UEFI) в оперативную память и настройку CPU на её исполнение.
Думать что кнопка Power это рубильник который подаёт электричество на CPU и тот начинает исполнять с заранее известного адреса прошивку BIOS неправильно. Возможно старые компьютеры так и работали. Кнопка включения находится на своей плате, вместе со светодиодами состояний и к материнке она подключается через специальный разъём. На картинке ниже видны контакты для кнопки Power, Reset, а также светодиодов с состоянием Power и чтения жёсткого диска. Нажатие кнопки включения переводится в сигнал на контакты материнки, откуда он достигает системный контроллер.
Контакты на материнке для подключения кнопки включения, светодиодов состояния Power, жёсткого диска и динамиков.
Плата ноутбука с кнопкой включения и светодиодом состояния
Cистемный контроллер обладает огромными полномочиями – включать и выключать компьютер, исполнять код в режиме ядра. Помимо него могут быть и другие чипы со сравнимыми возможностями, такие как Intel Management Engine или AMD Secure Technology (часть CPU), которые так же работают когда компьютер «выключен». Чип с Intel ME имеет в себе x86 CPU с операционной системой MINIX 3. Что он может делать:
- Включать и выключать компьютер, т.е. выполнять программы имея доступ ко всей вычислительной мощности, периферии машины и сети.
- Обходить ограничения файервола.
- Видеть все данные в CPU и RAM, что даёт доступ к запароленным файлам.
- Красть ключи шифрования и получать доступ к паролям
- Логировать нажатия клавиш и движения мыши
- Видеть что отображается на экране
- Вредоносный код в Intel ME не может быть детектирован антивирусом, потому как на такой низкий уровень он добраться не может
- И конечно же скрытно отправлять данные по сети используя свой стек для работы с сетью.
Это вызывает серьёзные вопросы безопасности, потому как он может быть хакнут или использовать в шпионских целях.
Прикладная иллюстрация как блок питания получает сигнал от материнки на включение. Если вы задумаете установить мощную видеокарту (Nvidia 2070 S) на офисный ПК, то просто вставить её недостаточно, потому как она требует питание в 600W, в то время как такой ПК имеет блок на ~500W. Первое что придёт в голову – купить новый блок питания на 650W с отдельной линией для видеокарты. Но и здесь будут разочарования, потому как разъёмы материнки будут не совпадать с разъёмами БП, а если его отдельно воткнуть в розетку и подключить к видюхе тоже ничего не будет – в блоке питания вентилятор не крутится и изображения нет. Так происходит, потому что БП должен получить сигнал от материнки на полное включение. Очевидное решение – новая материнка с совместимыми разъёмами, однако она стоит ~$300. Есть решение проще, хоть оно и вызывает опасения пожаробезопасности. Берём скрепку, разгибаем и вставляем в зелёный (PS_ON) и один из чёрных пинов (COM). Теперь всё должно работать.
Поиск загрузчика ОС
Есть два вида прошивки материнки – BIOS (Basic Input Output System) на старых машинах и UEFI (Unified Extensible Firmware Interface) на новых. Windows 10 поддерживает обе и абстрагирует различия между ними. UEFI правильней называть ОС чем прошивкой, потому как он предлагает больше возможностей, к примеру богатый графический интерфейс вместо текстового, наличие мышки, больший объём доступной памяти, улучшенная модель безопасности и валидации файлов ОС, взаимодействие с железом через API, вместо прерываний как в BIOS.
Пример экрана монитора BIOS.
Программа BIOS хранится на отдельном чипе, подключенном к Южному мосту. Этот чип можно достать и перепрошить новой программой, по факту это просто носитель памяти, а не самостоятельный микрокомпьютер.
Настройки BIOS (системное время, например), хранятся на другом чипе который как правило находится возле круглой батарейки, которая на самом деле является литиевым аккумулятором, подзаряжающимся во время работы ПК. Называется он CMOS, что означает Complementary Metal Oxide Semiconductor, а по-русски просто — КМОП, что есть комплементарная структура металл-оксид-полупроводник.
Первым делом программа BIOS выполняет проверку подсистем, эта процедура называется POST – Power On Self Test. Тест может быть сокращённый либо полный, это задаётся в настройках BIOS. Процитирую Википедию, что в себя включают эти тесты:
Сокращённый тест включает:
- Проверку целостности программ BIOS в ПЗУ, используя контрольную сумму.
- Обнаружение и инициализацию основных контроллеров, системных шин и подключённых устройств (графического адаптера, контроллеров дисководов и т. п.), а также выполнение программ, входящих в BIOS устройств и обеспечивающих их самоинициализацию.
- Определение размера оперативной памяти и тестирования первого сегмента (64 килобайт).
Полный регламент работы POST:
- Проверка всех регистров процессора;
- Проверка контрольной суммы ПЗУ;
- Проверка системного таймера и порта звуковой сигнализации (для IBM PC — ИМС i8253 или аналог);
- Тест контроллера прямого доступа к памяти;
- Тест регенератора оперативной памяти;
- Тест нижней области ОЗУ для проецирования резидентных программ в BIOS;
- Загрузка резидентных программ;
- Тест стандартного графического адаптера (VGA или PCI-E);
- Тест оперативной памяти;
- Тест основных устройств ввода (НЕ манипуляторов);
- Тест CMOS
- Тест основных портов LPT/COM;
- Тест накопителей на гибких магнитных дисках (НГМД);
- Тест накопителей на жёстких магнитных дисках (НЖМД);
- Самодиагностика функциональных подсистем BIOS;
- Передача управления загрузчику.
По результатам этого теста может быть обнаружена неисправность, к примеру нерабочая видеокарта или клавиатура. Поскольку экран монитора может не работать результаты тестов сообщаются в виде последовательности звуковых сигналов разной высоты. Что конкретно они значат надо смотреть в документации к материнской плате. Старые компьютеры часто бибикали во время старта — это программа BIOS сообщала о результатах тестов. Иногда может дополнительно использоваться индикатор, показывающий номер ошибки.
Если всё прошло успешно, BIOS начинает процесс поиска загрузчика ОС. Для этого он начинает просматривать все подключенные к материнской плате жёсткие диски. Данные на физических дисках адресуются в единицах называемых сектор, обычно он 512 байт, однако современный стандарт – 4096 байт. Установщик Windows в самый первый сектор на диске записывает специальный программный код и данные о разделах. Этот сектор называется Master Boot Record. Диск разбивается на разделы (partitions), отформатированный своей файловой системой. Максимум 4 раздела, каждый из который может быть расширенным (extended partition), такой можно рекурсивно делить на 4 раздела и теоретически их число не ограничено. Как только BIOS находит Master Boot Record он считывает оттуда код и передаёт ему управление. Этот код поочередно просматривает данные о разделах и находит тот который помечен как активный, в нём находится код загрузчика Windows (Это не раздел с C:WindowsSystem32!), этот раздел называется system partition. Как правило он занимает 100Мб и скрыт от пользователя. В первом секторе этого раздела хранится загрузочный код, которому передаётся управление. Это volume boot sector, код в нём ищет файл Bootmgr, с которого и начинается процесс загрузки Windows. Файл Bootmgr создан через соединение в один файлов Startup.com и Bootmgr.exe.
Процессор начинает свою работу в режиме который называется «Реальный». Это режим совместимости, в нём CPU работает так же как и старые 16-bit процессоры, не имевшие поддержки виртуальной памяти и работавшие напрямую с физической памятью через 20-bit шину адресов, позволявшую адресовать 1Мб памяти. Простые MS-DOS программы выполнялись в этом режиме и имели расширение .COM. Первое что делает Startup.com (Bootmgr) – переключает процессор в режим «Защищённый», где под защитой понимается защита процессов друг от друга. В этом режиме поддерживается виртуальная память и 32х битные адреса, которыми можно адресовать 4Гб оперативной памяти. Следующим этапом Bootmgr заполняет таблицу виртуальных адресов на первые 16Мб RAM и включает трансляцию с виртуальных адресов в физические. В этом режиме и работает Windows. Поскольку на этом этапе подсистемы ОС ещё не созданы, Bootmgr имеет свою простую и неполную реализацию файловой системы NTFS, благодаря которой он находит BCD файл (Boot Configuration Data), в котором хранятся настройки параметров загрузки ОС. Вы можете редактировать его через утилиту BcdEdit.exe. В этих настройках BCD может быть указано, что Windows была в состоянии гибернации, и тогда Bootmgr запустит программу WinResume.exe, которая считывает состояние из файла Hyberfil.sys в память и перезапускает драйвера. Если BCD говорит, что есть несколько ОС, то Bootmgr выведет на экран их список и попросит пользователя выбрать. Если ОС одна, то Bootmgr запускает WinLoad.exe, этот процесс и выполняет основную работу по инициализации Windows:
- Выбирает соотвествующую версию ядра Windows. Можете думать о нём как о Windows10.exe, хотя на самом деле он называется NtOsKrnl.exe. Какие есть версии? Согласно википедии:
- ntoskrnl.exe — однопроцессорное ядро Windows. без поддержки режима PAE
- ntkrnlmp.exe (англ. NT Kernel, Multi-Processor version) — многопроцессорное ядро Windows. без поддержки режима PAE
- ntkrnlpa.exe — однопроцессорное ядро Windows с поддержкой режима PAE.
- ntkrpamp.exe — многопроцессорное ядро Windows с поддержкой режима PAE.
- Загружает HAL.dll (Hardware Abstraction Layer), который абстрагирует особенности материнки и CPU.
- Загружает файл шрифтов vgaoem.fon
- Загружает файлы в которых содержится инфомрация о представлениях даты времени, форматов чисел и пр. Эта функциональность называется National Language System.
- Загружает в память реестр SYSTEM, в нём содержится информация о драйверах которые надо загрузить. Информация о всех драйверах находится в HKLMSYSTEMCurrentControlSetServices. Драйвера которые надо загрузить имеют ключ start = SERVICE_BOOT_START (0). Об устройстве реестра мы поговорим в другой статье.
- Загружает драйвер файловой системы для раздела на котором располагаются файлы драйверов.
- Загружает драйвера в память, но пока не инициализирует их из-за круговых зависимостей.
- Подготавливает регистры CPU для выполнения ядра Windows выбранного на первом шаге – NtOsKrnl.exe.
Во время загрузки драйверов WinLoad проверяет их цифровые подписи и если они не совпадают, то будет синий (BSOD) или зелёный (GSOD, для insider preview сборок) «экран смерти».
Запуск на UEFI
Пример экрана загрузки UEFI
BIOS существует больше 30 лет и в попытках исправить его недостатки компания Intel в 1998 году создала стандарт Intel Boot Initiative, позже переименованный в EFI и в 2005 году пожертвованный организации EFI Forum. Недостатки BIOS:
• Работает только в 16-битном режиме
• Может адресовать только 1Mb оперативной памяти
• Часто имеет проблемы совместимости
• MBR ограничен только четырьмя главными разделами диска
• Диск с ОС не может быть больше чем 2.2Tb.
• Имеет очень ограниченные возможности для валидации загрузчика ОС.
На смену BIOS пришёл UEFI, по сути это миниатюрная ОС которая может работать и в 32-bit и в 64-bit. Для совместимости есть опция Compatibility Support Module, которая включается в настройках и эмулирует работу BIOS.
В UEFI загрузка происходит в родной для процессора битности – 32 или 64, есть доступ ко всей памяти, поддерживается виртуальная память, включен Secure Boot и есть возможность запустить antimalware до начала загрузки ОС. Порядок загрузки ОС в UEFI:
- Инициализация и запуск Firmware, запуск чип-сета.
- POST тест, аналогично BIOS
- Загрузка EFI-драйверов и поиск диска подпадающего под требования EFI для загрузочного диска
- Поиск папки с именем EFI. Спецификация UEFI требует чтобы был раздел для EFI System Partition, отформатированный под файловую систему FAT, размером 100Мб – 1Гб или не более 1% от размера диска. Каждая установленная Windows имеет свою директорию на этом разделе – EFIMicrosoft.
- Читает из настроек UEFI сохранённых в NVRAM (энергонезависимая память) путь к файлу загрузчика.
- Находит и запускает EFI/Microsoft/Boot/BootMgrFw.efi.
- BootMgrFw.efi находит раздел реестра BCD, который хранится в отдельном файле с именем BCD. Из него он находит WinLoad.efi, который расположен в C:WindowsSystem32winload.efi.
Чтобы посмотреть содержимое раздела EFI System Partition откройте консоль с правами админа (WinKey+X => Windows PowerShell (Admin)) и выполните команды mountvol Z: /s, Z:, dir. CD — меняет директорию.
Главное отличие компонентов BootMgr и WinLoad для UEFI от своих копий для BIOS тем что они используют EFI API, вместо прерываний BIOS и форматы загрузочных разделов MBR BIOS и EFI System Partition сильно отличаются.
Инициализация ядра
Напоминаю, что мы рассматриваем загрузку ПК в контексте работы клавиатуры, поэтому не стоит заострять внимание на всех этапах. Надо понять где в этом процессе находится клавиатура, важные для понимания этапы выделены.
На предыдущем этапе был запущен компонент WinLoad.exe/WinLoad.efi, который запускает NtOsKrnl.exe указав ему параметры загрузки в глобальной переменной nt!KeLoaderBlock (память режима ядра доступна всем процессам), которые WinLoad собрал во время своей работы. Они включают:
- Пути к System (загрузчик Windows) и Boot (C:WindowsSystem32) директориям.
- Указатель на таблицы виртуальной памяти которые создал WinLoad
- Дерево с описанием подключенного hardware, оно используется для создания HKLMHARDWARE ветки реестра.
- Копия загруженного реестра HKLMSystem
- Указатель на список загруженных (но не инициализированных) драйверов участвующих в старте Windows.
- Прочая информация необходимая для загрузки.
Инициализация ядра Windows происходит в два этапа. До этого происходит инициализация Hardware Abstraction Layer, который в числе всего прочего настраивает контроллеры прерывания для каждого CPU.
На этой же стадии загружаются в память строки с сообщениями для BSOD, потому как в момент падения они могут быть недоступны или повреждены.
- Первая фаза инициализации ядра:
- Слой Executive инициализирует свои объекты состояний – глобальные объекты, списки, блокировки. Производится проверка Windows SKU (Stock Keeping Unit), примеры Windows 10 SKU — Home, Pro, Mobile, Enterprise, Education.
- Если включен Driver Verifier, то он инициализируется.
- Менеджер памяти создаёт структуры данных, необходимые для работы внутренних API для работы с памятью (memory services), резервирует память для внутреннего пользования ядром.
- Если подключен отладчик ядра (kernel debugger) ему отправляется уведомление загрузить символы для драйверов загружаемых во время старта системы.
- Инициализируется информация о версии билда Windows.
- Старт Object Manager – позволяет регистрировать именованные объекты к которым могут получать доступ по имени другие компоненты. Яркий пример – мьютекс по которому приложение позволяет запустить единственный экземпляр. Здесь же создаётся храниться handle table, по которой устанавливается соответствие к примеру между HWND и объектом описывающим окно.
- Старт Security Reference Monitor подготавливает всё необходимое для создания первого аккаунта.
- Process Manager подготавливает все списки и глобальные объекты для создания процессов и потоков. Создаются процесс Idle и System (в нём исполняется “Windows10.exe” он же NtOsKrnl.exe), они пока не исполняются, потому как прерывания выключены.
- Инициализация User-Mode Debugging Framework.
- Первая фаза инициализации Plug and Play Manager. PnP – это стандарт который реализовывается на уровне производителей периферии, материнских плат и ОС. Он позволяет получать расширенную информацию о подключенных устройствах и подключать их без перезагрузки ПК.
- Вторая фаза инициализации ядра. Она содержит 51 шаг, поэтому я пропущу многие из них:
- По завершению первой фазы главный поток процесса System (NtOsKrnl.exe) уже начал исполнение. В нём производится вторая фаза инициализации. Поток получает самый высокий приоритет – 31.
- HAL настраивает таблицу прерываний и включает прерывания.
- Показывается Windows Startup Screen, которая по умолчанию представляет из себя чёрный экран с progress bar.
- Executive слой инициализирует инфраструктуру для таких объектов синхронизации как Semaphore, Mutex, Event, Timer.
- Объекты для User-Mode Debugger проинициализированы.
- Создана symbolic link SystemRoot.
- NtDll.dll отображена в память. Она отображается во все процессы и содержит Windows APIs.
- Инициализирован драйвер файловой системы.
- Подсистема межпроцессного общения между компонентами Windows ALPC проинициализирована. Можете думать о ней как о named pipes или Windows Communication Foundation для межпроцессного общения.
- Начинается инициализация I/O Manager, который создаёт необходимые структуры данных для инициализации и хранения драйверов подключенной к компьютеру периферии. Этот процесс очень сложный.
Здесь же инициализируются компоненты Windows Management Instrumentation и Event Tracing for Windows (на него полагается Windows Performance Analyzer). После этого шага все драйвера проинициализированы. - Запускается процесс SMSS.exe (Session Manager Sub System). Он отвечает за создание режима пользователя, в котором будет создана визуальная часть Windows.
Запуск подсистем – SMSS, CSRSS, WinInit
SMSS.exe отличается от пользовательских процессов, это нативный процесс и это даёт ему дополнительные полномочия. SMSS.exe работает с ядром в обход Windows API, он использует то что называется Native API. Windows API – обёртка вокруг Native API. SMSS.exe первым делом запускает подсистему Windows (CSRSS.exe – Client Server Runtime Sub System) и заканчивает инициализацию реестра.
Процесс и потоки SMSS.exe помечены как критические, это значит что если они неожиданно завершаться, к примеру из-за ошибки, это приведёт к падению системы. Для общения с подсистемами, к примеру вызову API создающему новую сессию, SMSS создаёт ALPC-порт с именем SmApiPort. Загружаются из реестра переменные среды окружения, запускаются программы такие как Check Disk (autochk.exe, эти программы записаны в реестре HKLMSYSTEMCurrentControlSetControlSession ManagerBootExecute). SMSS.exe запускается для каждой пользовательской сессии. Глобальные переменные (очередь сообщений например) у каждой сессии своя за счёт механизма виртуальной памяти. В Windows есть контексты потока, процесса и сессии. Каждый SMSS.exe запускает свой экземпляр подсистемы, на данный момент это только CSRSS.exe (Windows), в прошлом поддерживались операционные системы OS/2 (os2ss.exe) и POSIX (psxss.exe), но эта идея была неудачной. Самый первый SMSS.exe засыпает в ожидании процесса WinInit.exe. Остальные экземпляры вместо этого создают процесс WinLogon который показывает UI для входа.
WinInit.exe инициализирует подсистемы для создания графической оболочки – Windows Station и десктопы, это не тот рабочий стол который вы видите, это иная концепция Windows. Далее он запускает процессы:
- Services.exe – Services Control Manager (SCM) запускает сервисы и драйвера помеченные как AutoStart. Сервисы запускаются в процессах svchost.exe. Есть утилита tlist.exe, которая запущенная с параметром tlist.exe -s напечатает в консоли имена сервисов в каждом из svchost.exe.
- LSASS.exe – Local System Authority.
- LSM.exe – Local Session Manager.
WinLogon.exe – загружает провайдеры аутентификации (credential providers), которые могут быть password, Smartcard, PIN, Hello Face. Он порождает процесс LogonUI.exe который и показывает пользователю интерфейс для аутентификации, а после валидирует введённые данные (логин и пароль, PIN).
Если всё прошло успешно, то WinLogon запускает процесс указанный в ключе реестра HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinLogonUserinit. По умолчанию это процесс UserInit.exe, который:
- Запускает скрипты указанные в реестрах:
- HKCUSoftwarePoliciesMicrosoftWindowsSystemScripts
- HKLMSOFTWAREPoliciesMicrosoftWindowsSystemScripts
- Если групповая политика безопасности определяет User Profile Quota, запускает %SystemRoot%System32Proquota.exe
- Запускает оболочку Windows, по умолчанию это Explorer.exe. Этот параметр конфигурируется через реестр:
- HKCUSoftwareMicrosoftWindows NTCurrentVersionWinlogonShell
- HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonShell
WinLogon уведомляет Network Provider о залогинившемся пользователе, на что тот восстанавливает и подключает системные диски и принтеры сохранённые в реестре. Network Provider представляет из себя файл mpr.dll из системной папки, который хостится в процессе svchost.exe, т.е. сервис Windows.
Дерево процессов выглядит следующим образом, на нём можно увидеть кто и кого создал (показаны не все процессы, может немного отличаться от последний версий Windows).
Где здесь клавиатура?
Во время запуска ядро Windows считывает из реестра информацию о контроллере системной шины, как правило это шина PCI (реже MSI), к ней подключены контроллеры портов ввода-вывода, в том числе и USB, PS/2. Информация о нём записывается во время установки Windows. Система загружает для него драйвер и рекурсивно обходит все порты так же загружая для каждого из них свой драйвер. Драйвера могут комбинироваться в узлы (driver node), к примеру драйвер клавиатуры, будет соединён с драйвером порта PS2. А вот порт USB сложнее — сначала драйвер порта, потом драйвер для работы с протоколом HID и только потом клавиатура.
Каждый порт контроллируется своим чипом, который мониторит подключение, принимает/отправляет сигналы между CPU и устройством. Если чип-сет Южный мост не встроен в CPU, как это часто делают в ноутбуках, а существует отдельным чипом на материнке, то правильней говорить: сигнал между Южным мостом и контроллером порта. Чип контроллирующий порт имеет выделенную линию с контроллером прерываний (PIC или APIC), по которой он может попросить обратить на себя внимание CPU, к примеру считать данные от клавиатуры (порт PS/2, с USB другая история). Поскольку ОС загрузила для порта драйвер, она может отдавать ему команды, читать и отправлять данные. В нашем примере был загружен драйвер из C:WindowsSystem32i8042prt.sys. Давайте вспомним предыдущую статью. В старых компьютерах с PIC на чипе Intel 8259 было 15 линий прерываний, где клавиатура была подключена к ножке IRQ1, таймер IRQ0, а мышка к IRQ12, который на самом деле был пятой ножкой второго чипа 8259, который мультиплексировал свои прерывания через ножку IRQ2 первого контроллера. В современных PIC могут быть 255 контактов для сигналов прерываний. Во время загрузки ОС программирует APIC/PIC возвращать определённое число когда скажем пришло прерывание от порта клавиатуры или USB и по этому номеру CPU находит в таблице векторов прерываний функцию которую надо выполнить. Номер прерываний определяют HAL и Plug’n’Play Manager. Контроллер прерываний ищет сигнал на своих ножках в определённом порядке, к примеру в бесконечном цикле проверяет напряжение на ножках от 1 до MAX_PIN. Этот порядок определяет приоритет, к примеру клавиатура будет замечена раньше мышки, а таймер раньше клавиатуры. Чтобы не зависеть от особенностей работы контроллеров прерываний Windows абстрагирует концепцию IRQ (Interrupt Request) в IRQL (Interrupt Request Level). Будь у контроллера прерываний хоть 15 хоть 255 линий они все будут отображены на 32 IRQL для x86 и 15 IRQL для x64 и IA64.
Что означают приоритеты IRQL:
- High – когда происходит краш системы, обычно это вызов функции KeBugCheckEx.
- Power Fail – не используется. Изначально был придуман для Windows NT.
- Interprocessor Interrupt – нужен отправить запрос другому CPU на мультипроцессорной системе выполнить действие, например обновить TLB cache, system shutdown, system crash (BSOD).
- Clock – нужен чтобы обновлять системные часы, а так же вести статистику сколько времени потоки проводят в режиме пользователя и ядра.
- Profile – используется для real-time clock (local APIC-timer) когда механизм kernel-profiling включен.
- Device 1 … Device N – прерывания от устройств I/O. Во время прерывания данные от клавиатуры, мыши и других устройств считываются в отдельные буфера и сохраняются в объектах типа DPC (Deferred Procedure Call), чтобы обработать их позже и дать возможность устройствам переслать данные. После приоритет снижается до Dispatch DPC
- Dispatch DPC — как только данные от устройств получены можно начинать их обрабатывать.
- APC — Asynchronous Procedure Call. Через этот механизм вы можете исполнить код когда поток будет спать вызвав WaitForSingleObject, Sleep и другие.
- Passive/Low — здесь исполняются все приложения в User Mode.
Если вы всегда программировали в режиме пользователя, то никогда не слышали про IRQL, потому что все пользовательские программы выполняеются с приоритетом Passive/Low (0). Как только происходит событие с большим уровнем приоритета (событие от клавиатуры, таймер планировщика потоков), процессор сохраняет состояние прерванного потока, которое представляет из себя значения регистров CPU, и вызывает диспетчер прерываний (interrupt dispatcher, просто функция), который повышает приоритет IRQL через API KeRaiseIrql в HAL и вызывает непосредственно сам код обработчика (interrupt’s service routine). После этого IRQL CPU понижается до прежнего уровня через функцию KeLowerIrql и прерванный поток начинает обработку с того же места где его прервали. На этом механизме основан планировщик потоков. Он устанавливает таймер, который с определённым интервалом (квант времени) генерирует прерывание с приоритетом DPC/Dispatch (2) и в своей interrupt’s service routine по определённому алгоритму назначает новый поток на исполнение.
Механизм IRQL реализовывается на уровне софта в Hardware Abstraction Layer (HAL.dll), а не железа. В Windows системах есть драйвер шины (bus driver), который определяет наличие устройств подключенных к шинам – PCI, USB и др. и номера прерываний которые могут быть назначены каждому устройству. Драйвер шины сообщает эту информацию Plug and play manager, который уже решает какие номера прерываний назначить каждому устройству. Далее арбитр прерываний внутри PnP Mgr (PnP interrupt arbiter) устанавливает связи между IRQ и IRQL.
Когда приходит прерывание от клавиатуры, любой исполняемый в данный момент поток (это может быть ваша программа) назначается на его обработку. Interrupt dispatcher повышает приоритет IRQL CPU до одного из уровней Device1-DeviceN. После этого менеджер виртуальной памяти не сможет найти страницу если она не загружена в RAM (не сможет обработать Page Fault), планировщик потоков не сможет прервать выполнение, потому что они все работают с меньшим уровнем IRQL. Главная задача драйвера клавиатуры в этот момент считать полученные данные и сохранить их для дальнейшей обработки. Данные записываются в объект типа _DPC (Deferred Procedure Call), который сохраняется в список DPC потока (что-то вроде std::list<DPC>, в ядре ОС вместо массивов используются связанные списки). Как только прерывания от всех внешних устройств обработаны, IRQL потока понижается до уровня DPC в котором и производится обработка отложенных процедур (DPC). В коде обработчика DPC для клавиатуры вызывается функция из драйвера клавиатуры Kbdclass.sys:
VOID KeyboardClassServiceCallback(
_In_ PDEVICE_OBJECT DeviceObject,
_In_ PKEYBOARD_INPUT_DATA InputDataStart,
_In_ PKEYBOARD_INPUT_DATA InputDataEnd,
_Inout_ PULONG InputDataConsumed
);
Так вот, драйвер клавиатуры (kbdclass.sys) получает данные от порта (USB, PS2) через прерывание и записывает их через WriteFile, компонент внутри ядра Windows просыпается, считывает их используя API ReadFile и добавляет в очередь сообщений с клавиатуры. API для работы с файлом могут использоваться для чтения данных с драйверов. С этого момента начинается обработка данных стеком ввода Windows, об этом в следующей статье.
Если у вас есть ПК с PS2 портом и вы умеете пользоваться WinDbg в режиме ядра, то можете легко найти обработчик прерываний клавиатуры напечатав команду !idt, которая выведет на экран всю таблицу векторов прерываний. Прерывание вклинивается в ход выполнения программы, слово вектор здесь подразумевает направление, направление исполнения программы. WinDbg был сделан специально для отладки Windows, самая последняя версия называется WinDbgX. Он имеет текстовый интерфейс, который отпугивает людей привыкших к Visual Studio, однако предоставляет гораздо больше возможностей, в частности исполнение скриптов. Прерывание фиолетового порта PS2 выделено красным. Функция которая его обрабатывает называется I8042KeyboardInterruptService, которая находится в файле i8042prt.sys.
BOOLEAN
I8042KeyboardInterruptService(
IN PKINTERRUPT Interrupt,
IN PVOID Context
);
Routine Description:
This is the interrupt service routine for the keyboard device when
scan code set 1 is in use.
Arguments:
Interrupt - A pointer to the interrupt object for this interrupt.
Context - A pointer to the device object.
Return Value:
Returns TRUE if the interrupt was expected (and therefore processed);
otherwise, FALSE is returned.
Сейчас возникает вопрос, откуда у обработчика прерываний аргумент? Кто его передаёт? Ведь CPU ничего не знает о нём. Если поставите в неё breakpoint, то удивитесь ещё больше увидев несколько функций выше по стеку:
0: kd> kC
# Call Site
00 i8042prt!I8042KeyboardInterruptService
01 nt!KiCallInterruptServiceRoutine
02 nt!KiInterruptSubDispatch
03 nt!KiInterruptDispatch
04 nt!KiIdleLoop
Объяснение здесь простое – это не та функция которая сохранена в регистре IDT процессора. То что вы видите на картинке выше на самом деле объекты типа _KINTERRUPT. В таблице прерываний сохранён специальный ассемблерный код (nt!KiIdleLoop), который знает как найти объект описывающий прерывание в памяти. Что же интересного есть в нём?
- Указатель на объект представляющий драйвер в памяти.
- Указатель на функцию i8042prt!I8042KeyboardInterruptService, которая и вызывает код считывающий данные из порта PS2 через ассемблерную команду IN AL, 0x60 – сохранить значение из порта номер 0x60 в регистре AL.
- Функция dispatcher – ей передаётся указатель функцию из пункта №2 и она вызывает её.
- Состояние регистров CPU. Перед вызовом прерывания состояние CPU будет сохранено сюда, и отсюда же будет восстановлено.
- Приоритет прерывания. Не тот который определяет контроллер прерываний, а тот который Windows считает нужным. Это IRQL (Interrupt Request Level) – абстракция над IRQ.
Как только обработчик прерываний клавиатуры будет вызван, он уведомит драйвер клавиатуры о полученных данных, после чего будет уведомлено ядро ОС, которое обработав данные отправит их дальше по стеку ввода, где они могут быть доставлены приложению, которое на них отреагирует, или перед этим в обработчик языков (азиатские иероглифы, автокоррекция, автозаполнение).
Ядро ОС напрямую не взаимодействует с драйвером клавиатуры, для этих целей используется Plug’n’Play Manager. Этот компонент предоставляет API IoRegisterPlugPlayNotification, который вызовет предоставленную callback-функцию когда устройство будет добавлено или удалено.
Пару слов о USB
Ознакомление с работой порта USB потребовало бы отдельной статьи описывающей его работу и плюс описание обработки данных HID на Windows. Это очень сильно усложнило бы материал, к тому же уже есть хорошие статьи по теме, поэтому PS2 идеальный пример из-за своей простоты.
USB создавался как универсальный порт для всех устройств, будь то клавиатура, фотоаппарат, сканнер, игровой руль с педалями, принтер и пр. Вдобавок он поддерживает вложенность портов – USB материнки => монитор с USB => клавиатура с USB к которой подключена мышка, флешка и USB-hub к которому подключен жёсткий диск. Взглянув на контакты USB 2.0 вы увидите что они не заточены под передачу каких-то определённых данных, как у PS2. Их всего четыре – витая пара для передачи битов данных, плюс и минус питания.
Провода кабеля USB 2.0
USB 3.0 быстрее за счёт дополнительных пяти контактов. Как видите там нету линии CLOCK для синхронизации, поэтому логика передачи данных сложнее. Слева USB 2.0 и справа USB 3.0 для сравнения.
Все данные передаются через протокол HID (Human Interface Device), который описывает форматы, порядок взаимодействия и передачи данных и всё остальное. Стандарт USB 2.0 занимает 650 страниц, документ HID Class Specification, описывающий работу устройств (мыши, клавиатуры и пр) – 97 страниц, их рекомендуется изучить если вы работаете с USB.
Первым делом подключенное устройство должно рассказать о себе, для этого оно отправляет несколько структур данных, в которых указывается ID устройства и ID производителя по которым Plug’n’Play manager может найти в реестре информацию, загрузить и соединить драйвера. USB устройства пассивны, т.е. хост должен сам с определённым интервалом проверять наличие данных. Частота опроса и размер пакета данных задаются в одном из дескрипторов устройства USB. Максимальный размер пакета – 64 байта, что для информации о нажатых клавишах более чем достаточно.
В Windows есть встроенная поддержка HID, она не такая простая как связь драйвера порта PS2 с драйвером клавиатуры, потому что драйвер HID должен уметь обрабатывать все поддерживаемые протоколом сценарии. Вне зависимости от провайдера данных — порты PS2, USB или Remote Desktop или виртуальная машина – на самом верху driver node будет находится Kbdclass, от которого ядро ОС и будет получать информацию. Уведомление о подсоединении клавиатуры будет обрабатываться через Plug’n’Play Manager, так что для ядра Windows не имеет значение какой порт или источник данных от устройства используется.
ч.1 — Основы ОС и компьютера
ч.2 — Как работает материнская плата и клавиатура через порт PS2




































































































