Опрос
Вы участвуете в программе Windows Insider?
Комментарии
Популярные новости
Обсуждаемые новости

1
Не в сети
Сообщений: 964
Благодарностей: 56
Предупреждений:
Из: ---
Род занятий:

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


Рис1

Весь этап загрузки ОС Windows 7 для пользователя можно разделить на два этапа, на которые можно обратить внимание - до появления приглашения пользователя «Добро пожаловать» (на рис.1 все что слева от вертикальной красной линии) и после данного приглашения (на рис.1 все что с права от вертикальной красной линии). Сразу оговоримся, что все тонкости загрузки опускаем оставляя только ту часть которая может понадобится пользователю на поиск проблем при загрузке ПК.
До появления приглашения пользователя «Добро пожаловать»:
1. – Autochk.Exe - автоматически при запуске ОС на первых секундах обычно до 10сек. запускается данная программа, которая при необходимости проведет сканирование жесткого диска, это происходит без вмешательства пользователя.
2. – Winint.exe - приложение инициализации Windows (Windows Startup Application) загружает и запускаются Services.Exe (для управления и загрузки сервисов), Lsass.Exe и Lsm.Exe, а также инициализирует системный реестр и определенные задачи в режиме инициализации.
– WinLogon.Exe – продолжает инициализацию системы и данный процесс отвечает и координирует вход пользователя в систему, так же выход из системы и управляет множеством других операций.

Появление приглашения пользователя «Добро пожаловать»:
3. - WinLogon.Exe – осуществляет запуск приложения LogonUi.Exe, с помощью которого осуществляется вывод на экран данного приглашения «Добро пожаловать», далее согласно параметра в разделе реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon будет произведен анализ данной ветки на параметры и запуск данных программ
Userinit REG_SZ C:\Windows\system32\userinit.exe
Которая в свою очередь запустит оболочку рабочего стола
Shell REG_SZ explorer.exe


Рис2

4. – Запуск служб/сервисов и установленных программ пользователя.

Данный пункт 4 будет интересен пользователю тем, что с помощью него можно повлиять на время загрузки системы. Для этого необходимо определится все ли то что загружается при запуске ПК так уж нам необходимо. Попробуем определится.
Для выполнения описанных ниже процедур рекомендуется быть знакомым с тонкостями настроек ОС системы Windows.
Через «Администрирование->Службы» можно управлять запуском/остановкой тех служб, которые будут не нужны в работе конкретного пользователя и установленных программ. Каждый пользователь определяет сам, что конкретно можно отключить или переключить способ запуска служб в «Вручную»


Рис3

Далее например с помощью программы Autoruns можно посмотреть программы автозапуска, которые запускаются при старте системы пользователем на данном ПК.


Рис4

Устанавливая некоторые программы обычно – антивирусные, подключение периферийных устройств (сканеров, телефонов и т.д.), ISQ, Skype и т.д. разработчики пишут специальные драйвера или сервисы для обслуживания этих программ и на которые тратится время при загрузке их.
Например на рис.4 в секции автозапуска программ мы видим, что каждый раз при запуске ПК запускается программа из серии антивирусов/firewall :

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Avgnt REG_CZ "C:\Program Files\Avira\AntiVir Desktop\avgnt.exe" /min

В данном пример присутствует только одна программа, но в данной ветки их может быть и очень много, если они запущены и не несут никакую полезную функцию т.е. вы не пользуетесь ими, то их можно отключить из запуска убрав «галку» напротив выбранной программы.
Так же можно найти службу и драйвера которые запускаются для данной программы в данном примере:

- службы


Рис5

- драйвера


Рис6

Рассматривая ниже графики не забываем, что приглашение Добро пожаловать появилось в данном примере на 24 сек.
На Рис.7 видно в какое время происходит загрузка данных драйверов, а так же необходимых служб/сервисов (Рис.5) и самой программы avgnt.exe (красный график,секция RUN – автозапуска) из описанного примера выше про антивирусную программу.


Рис7

Рабочий стол, который мы привыкли видеть на экране своего ПК под управлением Windows — это приложение Explorer.Exe или это основное окно графической среды пользователя где имеются элементы управления этой средой. Запуск данного приложения виден на Рис.8


Рис8

Рис9

На Рис.9 видна загрузка двух ядерного процессора в данном диапазоне времени и на Рис.10 100% загрузка HDD винта SATA-II у которого в начальной области расположена сама Windows т.е. ее файлы, а ПО по тестированию скорости передачи данных винта в данной области показало значение 115-125MB/c


Рис10

Теперь рассмотрим ниже Рис.11 запуск NVIDIA Driver Helper Service c Рис.5 – NVVSvc.exe


Рис11

В конце данной статьи хотелось бы обратить внимание, вот на что немалое время уходит на файловые операции Чтение/Запись/Очистка/ и на работу с реестром Рис.12. так же Чтение/Запись/Изменение данных.


Рис12

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

Поблагодарили: Johny-electric, Denn29, Lico, schinder

#193729   | 08.07.10 11:15
Не в сети
Сообщений: 3329
Благодарностей: 391
Предупреждений:
Из: Russia Усть-Илимск
Род занятий: Электромонтёр

Бэлиан, большое спасибо за столь подробное описание процесса загрузки. От себя добавлю, что в статье были использованы программы:

Windows Performance Toolkit
Autoruns
Process Explorer

#193741   | 08.07.10 13:39
Не в сети
Сообщений: 964
Благодарностей: 56
Предупреждений:
Из: ---
Род занятий:

Продолжим разбор.
Как происходит определение подключения к сетям и отображение информациии в трее - информативный значек сети.

Часто после устанвоки Windows 7 или Vista можно наблюдать такую картинку при подключении к локальной сети рис.1, что сеть «Неопознанная сеть». Попробуем разобраться в этом вопросе и как это происходит.

рис.1

В Windows системах существует служба NlaSvc данная служба отвечает за – сбор сведений о подключенных сетях рис.2. Собирает и сохраняет сведения о конфигурации сети и уведомляет программы при изменении этих сведений, если данная служба будет остановлена, сведения о конфигурации могут стать не доступными. Файл - nlasvc.dll

рис.2

Служба списка сетей Netprofm, определяет сети к которым подключен ПК, собирает и хранит данные о свойствах этих сетей и оповещает приложения об изменениях этих свойств. Файл - netprofm.dll
Служба интерфейса сохранения сети Nsi, эта служба отправляет сетевые уведомления (например информацию по сетевому интерфейсу) клиентам пользовательских режимов. Файл - nsisvc.dll

рис.3

После того как мы включаем ПК и происходит его загрузка и доходит дело до сетевой карты, то происходит считывание параметров настройки сетевой карты такие как IP адрес, IP адрес шлюза, IP адрес сервера DNS, данные параметры считываются из раздела реестра рис.4.

рис.4

IP адрес сетевой – 192.168.1.2, IP адрес шлюза – 192.168.1.1/255.255.255.0, IP адрес DNS например 84.x.x.24 или 84.х.х.254. После того как параметры будут считаны, происходит определение доступности шлюза по указанному адресу с использованием протокола ARP на данном сетевом интерфейсе :
- ARP:Request источник 192.168.1.2 приемник 192.168.1.1 ------- запрос
- ARP:Response источник 192.168.1.1 приемник 192.168.1.2 ----- ответ информация содержащая MAC адрес шлюза например 00-19-5B-A0-АА-АА

ОС данным ответом будет считать, что шлюз по данному адресу доступен и работает, после этого информация будет занесена в реестр по ветке рис.5 Данная ветка реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList
будет содержать описание всех сетей к которым имел доступ данный ПК

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\{1DF4E16F-B9C7-4AB5-8923-33BB37AC2D33}
(где 1DF4E16F-B9C7-4AB5-8923-33BB37AC2D33 – GUI присвоенное для данной сетевой карты и имя «Сеть»)

рис.5

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\{GUI}

Description = Сеть
NameType = 6
ProfileName = Сеть


МАС адрес данного шлюза будет так же занесен в реестр в ветку

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Nla\Cache\Intranet
{F9A9F2CF-41AF-42A0-8BE0-DE7448013022} REG_BINARY 00-19-5B-A0-АА-АА

После определение шлюза данная картинка примет вид согласно рис.6 сменив надпись «Неопознанная сеть» на надпись «Без доступа к Интернету». Аналогично будет проделана операция по второй сетевой карте если она присутствует в ПК, присвоенное ей имя будет – Сеть 2.

рис.6

В реестр будет добавлена запись
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\{GUI}

Description = Сеть
NameType = 6
ProfileName = Сеть 2


После того как с локальной сетью определено, Windows попытается определить досту в сеть Интернет и значение значка в трее «Досту к Интернету», если значение параметра «Отключить активное зондирование для индикатора состояние сетевого подключения» - «Не задан» в групповой политике cmd>gpedit.msc
раздела «Политика Локальный Компьютер -> Административные шаблоны -> Система -> Управление связью через Интернет -> Параметры связи через Интернет» рис.7

Из описания становится ясно:
Этот параметр политики отключает активное зондирование, выполняемое средством индикатора состояния сетевого подключения Windows (NCSI), чтобы определить наличие подключения компьютера к Интернету или к ограниченной сети. В процессе определения уровня подключения NCSI выполняет один из двух этапов активного зондирования: загрузка страницы с указанного веб-сервера или создание DNS-запроса для указанного адреса. Если данный параметр политики включен, NCSI не выполняет ни одного этапа активного зондирования. Это может уменьшить возможности NCSI и других использующих NCSI компонентов, позволяющие определить доступ к Интернету. Если этот параметр отключен или не настроен, NCSI выполнит один из двух этапов активного зондирования.

рис.7

Для определение доступности Интернет при использовании алгоритма зондирования определенного в групповой политике достаточно - загрузка страницы с указанного веб-сервера или создание DNS-запроса для указанного адреса. Данным методом будет проверена доступность DNS сервера и осуществлен запрос на сервер в Интернете и получить ответ. Компания Microsoft для данного запроса выбрала свой сервер и параметры для данного запроса записала в реестр:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NlaSvc
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NlaSvc\Parameters\Internet


ActiveDnsProbeHost = dns.msftncsi.com
ActiveWebProbeContent = Microsoft NCSI
ActiveWebProbeHost = www.msftncsi.com
ActiveDnsProbeContent = 131.107.255.255
EnableActiveProbing = 1

Первый этап:
Определение по мнемонике www.msftncsi.com IP адрес, через сервер DNS
Запрос ------------- Dns: QUERY на сервер DNS (адрес из параметра сетевой карты) www.msftncsi.com
Ответ -------------- Dns: Response 64.4.18.90, 204.79.195.7 ... (IP адреса данного сервера)
Второй этап:
Загрузка страницы с данного сервера
Запрос ------------- На адрес 64.4.18.90 HTTP(80)
---------------------- HTTP:Request, GET /ncsi.txt
Ответ -------------- HTTP:Response, HTTP/1.1, Status: Ok, URL: /ncsi.txt
Результат :
Если после данной процедуры страница получена, то произойдет смена надписи в трее сетевого значка - «Без доступа к Интернету» на надпись «Доступ к Интернету», а изображение в окне «Текущие подключения» примет вид ка на рис.8

рис.8


Данная информация о новой сети так же появится в реестре в ветке :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\{GUI}

Description = VPN
NameType = 17
ProfileName = VPN


Если кому-то из пользователей не нравится данный алгоритм определения надписи по состоянию Сети, или сам сервер на который происходит «зондирование», то можно попытаться исправить это. Рассмотрим один из вариантов с помощью групповой политики, а именно:
Политика Локальный Компьютер -> Административные шаблоны -> Система -> Управление связью через Интернет -> Параметры связи через Интернет
Параметр:
«Отключить активное зондирование для индикатора состояние сетевого подключения»

Если данный параметр политики включен, NCSI не выполняет ни одного этапа активного зондирования.

Политика Локальный Компьютер -> Административные шаблоны -> Сеть -> Индикатор состояния сетевого подключения
Параметр:
«Адрес DNS сервера организации, который используется для проверки»

Справка по данному пункту гласит:
«Это ожидаемый адрес сайта, используемый для проверки DNS-сервера. Успешное разрешение имени сайта в этот адрес свидетельствует о правильной работе DNS-сервера организации.»

Параметр:
«Имя сайта DNS сервера организации, который используется для проверки»

Справка по данному пункту гласит:
«Это имя сайта компьютера в сети организации. Успешное разрешение этого имени сайта в ожидаемый адрес свидетельствует о правильной работе DNS-сервера организации.»

Политика Локальный Компьютер -> Административные шаблоны -> Сеть -> Сетевые подключения
Параметр:
«Не показывать значок сети только локальный доступ»

Справка по данному пункту гласит:
«Определяет, будет ли отображаться значок сети только локальный доступ.
Если этот параметр включен, значок интернет-доступа будет отображаться на панели задач, даже когда пользователь подключен к сети только с локальным доступом.
Если этот параметр отключен или не задан, при подключении пользователя к сети только с локальным доступом будет отображаться значок только локальный доступ».

#194751   | 16.08.10 15:13
Не в сети
Сообщений: 1140
Благодарностей: 169
Предупреждений:
Из: Russia Интернет
Род занятий: IT Enthusiast

Надо теме придумать более подходящее название.

#194756   | 16.08.10 18:02
Не в сети
Сообщений: 964
Благодарностей: 56
Предупреждений:
Из: ---
Род занятий:

Данную статью для удобства чтения можно взять с http://depositfiles.com/files/n7916zqv2 размер 3,5Mb

#194925   | 20.08.10 09:10
Не в сети
Сообщений: 964
Благодарностей: 56
Предупреждений:
Из: ---
Род занятий:

Продолжим изыскания.
Вопрос влияет ли отключение служб на скорость загрузки ПК вопрос более сложный так как не известно в каком состоянии находится ПК для данной оптимизации. Данный анализ оговорюсь не полон, так как нет возможности сделать анализ установленной Windows 7 по умолчанию с ее параметрами запуска службами.


Рис.1
На данном рисунке отображена загрузка/запуска служб с помощью процесса svchost в зависимости от CPU и работы HDD, а именно график - CPU Usage by Process. Перечень данных служб этого графика показан на рис.2.



Рис.2
Данный список так же можно получить выполнив команду cmd>Tasklist /SVC

Используя разные ключи в командной строке, что позволяет управлять запуском различных служб унифицированным методом, т.е. минимизируя процесс загрузки доп.файлов для работы данных служб. Как видно svchost производит запуск не одной а ряда служб и естественно окружение для данной работы этих служб.
Есть некоторые службы, которые продолжают работать после готовности рабочего стола и запуска приложений пользователя, например длинный по времени процесс с запуском служб
svchost.exe (908) - старт 14.7015сек. - AudioEndpointBuilder; CscService; Netman; PcaSvc; SysMain; TrkWks; UxSms; WdiSystemHost; WPDBusEnum; wudfsvc, C:\Windows\System32\svchost.exe -k LocalSystemNetworkRestricted
(он же бурная его работа с 60-85сек. в основном Sysmain)


Рис.3

Чтоб не потеряться в пространстве и во времени определимся с отправной точкой это запуск Explorer (оболочки рабочего стола) и первой запущенной программой пользователя в районе 50сек., т.е. нас будет интересовать данный период до 50сек. В данном периоде использование процессорного времени при загрузке и запуске служб достигает значения не более 40%, в то время как работа HDD диска в данный момент практически 100%.
Из сказанного можно предположить, что утверждение - "отключение неиспользуемых служб приведет к увеличению скорости загрузки ПК" верно при условии высокой скорости работы винта и дефрагментации на нем файлов системы, а следовательно более быстрому чтению файлов в память, так как работа CPU на данном этапе не очень то его загружает.
Отключение одной из служб например в svchost (832) - службы DHCP приведет к тому, что не будет загружаться один файл windows\system32\dhcpcore.dll но вся связка библиотек для данных остальных служб будут загружены => выигрыш не большой.

Итак я бы из всего сказанного сделал вывод, если после установки Windows по умолчанию с дистрибутива произвести отключение не используемых служб то выигрыш от этого будет, так возможности по отключению многих служб есть, а следовательно время потраченное на загрузку их в память и запуска будет меньше. Даст ли выигрыш в освободившейся памяти, даст но актуален ли он сегодня при наличии памяти в ПК от 2Gb до 4Gb.
И что считать ускорением загрузки, до какого момента времени считать его.

Поблагодарили: Barich

#195456   | 06.09.10 17:11
Не в сети
Сообщений: 964
Благодарностей: 56
Предупреждений:
Из: ---
Род занятий:

Рассмотрим время загрузки на первом этапе до рабочего стола -
1.Старенький ПК Celeron D-2,4GHz chip 848, винт IDE 80Gb
2.Средний ПК Pentium D-3,5GHz chip 945, винт SATA-II 320Gb
3.Новый ПК Core i3-2,93GHz chip H55 (встроенное видео в проц) система с поддержкой ACHI, винт SATA-II 500Gb


Разница по времени в момент загрузки до autochk практически нет между ПК Pentium D и Core i3, но момент запуска wininit и LogonUI очень значительна.

#195751   | 15.09.10 08:39
Все права принадлежат © ms insider @thevista.ru, 2022
Сайт является источником уникальной информации о семействе операционных систем Windows и других продуктах Microsoft. Перепечатка материалов возможна только с разрешения редакции.
Работает на WMS 2.34 (Страница создана за 0.28 секунд (Общее время SQL: 0.255 секунд - SQL запросов: 97 - Среднее время SQL: 0.00263 секунд))
Top.Mail.Ru