Як завантажується Windows XP, Windows, Операційні системи, статті

Не любить “хардкорних” користувач персонального комп’ютера чекати. Хочеться йому, щоб стоїть на робочому столі вкрай дорога його серцю й гаманцю залізяка працювала мінімум, як суперкомп’ютер з Лос-Аламоса, миттєво відгукуючись на всі його дії.

Моделювання ядерної зими його, звичайно, не цікавить, а от пошмалять по приятелям з базуки в самому крутому спинномозковому “шутере” – свята справа. Процесор б потужніший – я б їх точно всіх … І марить він вдень і вночі про чергове апгрейді – є йому валяється на дорозі безхазяйний чемодан, набитий зеленими “буказоідамі”, і несподіване спадок від дала дуба пятіюродной бабусі троюрідного дядька. Ах, Pentium 4, мрія поета! Ах, гігабайт оперативки! Ах, гифорс намбер чотири! Ах!
Поки ж – в очікуванні манни небесної – BIOS вивчений вздовж і впоперек, розігнано все, аж до вентиляторів і флопповодов, а при погляді на холодильник на обличчі народжується підступна посмішка: цей б компресор да в справу пустити – Celeron охолоджувати … Шістдесят кадрів в секунду в “Квак” вже не котируються – подавай йому все сто!
Дефрагментація жорсткого диска після чергового знесення розклалася Windows так жодного разу і не була проведена, оскільки витратити на цю справу зайвих 30-40 хвилин просто блюзнірство – адже за цей час можна пройти пару рівнів Max Payne! На самому видному місці розкладені ярлики до програм, призначених для прискорення роботи ОС – усіляким TweakUI, WinBoost, TweakDUN та іншим. Правда, останній раз саме експерименти з ними і призвели до раптової кончини Windows, але зате тепер драйвер системного пристрою “руки юзера” глючить набагато менше.
Але найбільше дратує те, що незважаючи на всі зусилля по розгону кожен раз при включенні ПК треба чекати, поки він завантажиться – ну що за фігня, майже по хвилині сидіти без справи доводиться, мнучи в руці джойстик! Так і неврастеніком стати недовго! На швидкість завантаження системи ніякими настройками і хитрощами помітно вплинути практично не вдається.
Рятує від дурдому тільки режим StandBy – з нього машина прокидається всього за кілька секунд, які хоч і з труднощами, але пережити все ж можна. Але ж не кожен же раз їм можна користуватися – “вінда” без перезавантаження дуже швидко стає некерованою, та й страшнувато надовго залишати без нагляду включений в нашу вітчизняну мережу агрегат, який, можна сказати, є єдиною радістю в життя. Немає щастя в цьому світі, коротше кажучи …
Це, звичайно, крайній випадок, і основна маса користувачів більш терпляча, але саме повільність Windows 2000 свого часу стала однією з причин непопулярності у домашнього користувача цієї досить надійної ОС. І справа не тільки в підвищеній вимогливості до ресурсів системи – з цим ще можна було якось впоратися, прикупивши побільше пам’яті. Особливо неприємний був надмірно довгий процес її завантаження і виключення: на цілком сучасних комп’ютерах часом доводилося чекати появи Робочого столу по півтори хвилини!
І це при тому, що Windows 98 завантажувалася максимум секунд за тридцять, а “Міленіум”, з якого майже викорчували DOS-складову, – і того швидше. Зрозуміло, якби наступник Windows 2000 був б настільки ж млявим при завантаженні, це стало б серйозним фактором, що перешкоджає давно задуманому Microsoft перекладу на платформу NT розпещених стрімкістю і легкістю Windows 9x домашніх користувачів. Адже ставка розробниками Windows XP робилася головним чином на них – саме ця категорія споживачів здатна сьогодні принести корпорації найбільші дивіденди.
І саме домашній користувач надає великого значення швидкості роботи самої ОС взагалі й швидкості її завантаження зокрема. На робочому місці, в принципі, не так важливо – десять секунд треба чекати появи кнопки “Пуск” або три хвилини: солдат спить, служба йде. Тим більше що витратити ці кілька хвилин на завантаження системи потрібно всього раз чи два в день. А ось вдома, коли нетерплячому підлітку хочеться після школи скоріше залізти в інтернет, поки батьки не прийшли і не побачили, що він там видивляється, – тут вже кожна секунда на рахунку.
І щоб не розполохати простих користувачів довгими нудними завантаженнями, творці Windows XP постаралися на славу – вперше одним із пріоритетних напрямів при створенні ОС було саме скорочення часу, необхідного на запуск системи, а так само на виведення її з режимів StandBy і Hybernate.


Теорія.


При створенні Windows XP була поставлена ​​задача домогтися на типовому домашньому десктопі таких показників:
– Вихід з режиму Standby (S3) – не більше 5 секунд;
– Вихід з режиму Hibernate (S4) – не більше 20 секунд;
– Звичайна завантаження до робочого стану – не більше 30 секунд.
Зрозуміло, без деяких винятків обійтися неможливо, це розробники визнали відразу. Наприклад, ПК з дисками надвисокої місткості, з деякими SCSI-адаптерами, з RD-Ram, пам’яттю ECC або з локалізованою для використання ієрогліфів ОС повинні грузиться трохи повільніше, але середньостатистичний ПК з Windows XP ніяк не повинен програвати за цим показником системам сімейства 9x. Власне кажучи, все це виявилося сьогодні здійсненно на більш-менш сучасних комп’ютерах – завдяки впровадженню в життя вимог технологій OnNow і ACPI. А ось що конкретно було зроблено і чи вдалося задумане Microsoft чи ні, ми і спробуємо розібратися.
Хід повного завантаження Windows XP можна умовно розділити на чотири етапи:
– Завантаження основних файлів ОС в пам’ять;
– Ініціалізація пристроїв;
– Реєстрація користувача (Winlogon), старт системних служб і оболонки Explorer;
– Завантаження додаткового програмного забезпечення.
Оскільки набір автоматично завантажуються на старті системи програм на кожному ПК різний, то завершенням завантаження безпосередньо операційної системи логічно вважати закінчення завантаження її оболонки – Провідника, коли на екрані з’являється Робочий стіл. Тому за крайні точки відліку при вимірі часу були прийняті момент натискання кнопки Power і момент появи ярликів на Робочому столі.
Якщо розглянути більш детально вийшов в результаті серйозних удосконалень хід завантаження Windows XP, то для умовного середнього ПК вона складається з наступних процесів, частина яких протікає паралельно:
– Початкова ініціалізація (зокрема – дисків) – в Windows XP складає близько 2 секунд проти 8 у Windows 2000;
– Ініціалізація драйверів пристроїв – залежить від конкретної системи, порядку 4 секунд;
– Новинка Windows XP – випереджаюче читання “Prefetching”, при якому з диска заздалегідь прочитуються ще не витребувані дані; здійснюється паралельно з ініціалізацією пристроїв – близько 6 секунд;
– Ініціалізація реєстру і файлу підкачки – ще пара секунд;
– Ініціалізація відеопідсистеми і установка потрібного дозволу екрану – теж близько пари секунд;
– Реєстрація користувача та запуск служб – близько 8 секунд;
– Старт оболонки Explorer – 2 секунди.
Як бачите, в ідеалі має виходити не більше 20-30 секунд, що цілком порівнянно з часом завантаження набагато простіших систем Windows 9x. А все за рахунок того, що в Windows XP прискорення відбувається буквально на всіх етапах завантаження завдяки таким прийомам, як випереджаюче читання даних, паралельна ініціалізація пристроїв, паралельне виконання різних етапів завантаження, відкладений запуск низки служб, виключення ряду компонентів з процесу завантаження, об’єднання деяких сервісів в один загальний процес, та й при реєстрації користувача більше не потрібне обов’язкове завершення ініціалізації мережі, а звернення до мережевих ресурсів при завантаженні зведено до мінімуму.
Крім того, Windows XP підтримує специфікацію Simple Boot Flag, завдяки якій автоматично скорочується час, необхідний BIOS для проведення процедури самотестування POST у випадку, якщо попередня завантаження ОС була успішною. Покращено системний завантажувач ntldr, який тепер вміє кешувати дані про файли і директорії, щоб скоротити звернення до диска при завантаженні. Це призводить до чотириразового прискоренню його роботи в порівнянні з Windows 2000. Причому якщо на ПК встановлено дві ОС – Windows 2000 і Windows XP, то цей ефект (але тільки цей – пов’язаний з удосконаленням ntldr) торкнеться і “вінтукея”, так як його завантажувач буде переписаний більш просунутим. До речі, завдяки новим особливостям ntldr прискорився і вихід системи зі сплячого режиму. Ну і крім того, є ряд дрібних доопрацювань: наприклад, прискорена ініціалізація реєстру, зменшено час на пошук PS/2-клавіатур, а якщо у вас є мережева карта, не підключена до мережі, то ця обставина також більше не буде викликати затримок завантаження.
Оптимізована управління живленням в багатьох аспектах, зокрема, поліпшена робота сплячого режиму Hibernation – тепер в файл-образ оперативної пам’яті не скидаються порожні сторінки, алгоритм його компресії поліпшений, при записі на диск файлу hyberfil.sys використовується режим DMA, а запис на диск і компресія йдуть паралельними процесами. Оновлений алгоритм оповіщення пристроїв і додатків про зміну режиму електроживлення. У результаті прискорена не тільки звичайна завантаження, але і пробудження ПК з режиму і чекає режимів.
Але особливої ​​уваги заслуговує ключовою режим читання, – Prefetching. У попередніх системах під час завантаження при ініціалізації драйверів, завантаження сервісів і оболонки дані з диска в пам’ять завантажувалися послідовно, у міру надходження запитів на них. Тепер же Windows XP паралельно з виконанням інших операцій заздалегідь зчитує ці дані, не чекаючи запиту, що призводить до самого значного ефекту. Цей інтелектуальний алгоритм читання, застосовується і до запуску програм – після першого запуску кожної програми створюються спеціальні сценарії їх завантаження (вони зберігаються в папці WinntPrefetch), в яких описано, які файли потрібно заздалегідь помістити в пам’ять. Ці ж файли, вірніше, їх якийсь загальний знаменник – файл WinntPrefetchlayout.ini – використовується потім дефрагментатором для оптимізації розташування файлів на диску, що ще більше скорочує час завантаження.
До речі, ви можете самі перевірити, наскільки ефективний цей механізм стосовно до завантаження ОС – відключити Prefetching можна, встановивши в розділі реєстру HKEY_LOCAL_MACHINESYSTEM CurrentControlSetControlSession Manager Memory ManagementPrefetchParameters параметр “EnablePrefetcher” рівним “0”.
Безпосередньо ж сам протокол завантаження ОС фіксується у файлі% WinDir% Prefetchotosboot-B00DFAAD.pf, який для більшої об’єктивності містить відомості про останні 8 запусках ОС і оновлюється кожного разу через 1 хвилину після завантаження системи (моніторинг завершується через 10 секунд після початку завантаження оболонки Explorer, так що під нього потрапляють і деякі автозавантажувані програми). Якщо його видалити, то наступна завантаження не буде використовувати попереджуюче читання і ви, швидше все, виявите, що система вантажиться майже в два рази повільніше.
Але й це ще не все. У Windows XP з’явилася нова функція BootDefrag (або BootOptimize), суть якої полягає в наступному. Оскільки дефрагментація і оптимізація розташування на диску файлів, потрібних системі під час завантаження, вирішальним чином впливає на весь процес завантаження ОС, а користувачеві часто ліниво самому запускати дефрагментатор (не те щоб навіть часто, а майже завжди), то система тепер вміє сама – так би мовити, без участі оператора – оптимізувати ці файли, причому не як їй заманеться, а грунтуючись на даних все тих же файлів notosboot-B00DFAAD.pf і layout.ini. Правда, відбувається автоматична дефрагментація при простої системи – якщо користувач 10-30 хвилин після завантаження ОС не виробляв ніяких операцій. А тому може статися так, що на вашій інтенсивно використовуваної системі файли опиняться не оптимізовані.
Перевірити, чи відбулася оптимізація, можна, зазирнувши до реєстру – якщо в розділі HKEY_LOCAL_MACHINESOFTWAREMicrosoft DfrgBootOptimizeFunction варто параметр “OptimizeComplete” = “Yes”, то дефрагментація була проведена. Якщо ж цього поки не сталося, то просто перезавантажте ПК і залиште його хвилин на тридцять на самоті – Windows сама все зробить, і прискорення наступного завантаження буде помітно навіть на-віч.
Тільки запам’ятайте, що перед оптимізацією ПК зі свіжовстановленому ОС повинен мати в своєму багажі хоча б три перезавантаження для накопичення потрібних даних. Штатний дефрагментатор Windows XP не скасовує цю оптимізацію, так що користуватися ним можна без побоювання.
Якщо ж ви сумніваєтеся, чи працює взагалі у вас ця функція, або хочете її відключити, то перевірте в реєстрі наявність параметра, що включає BootDefrag: HKEY_LOCAL_MACHINESOFTWAREMicrosoft DfrgBootOptimizeFunction – Параметр “Enable” = “Y”.
В принципі, якщо система уже одного разу оптимізована і файли на диску розташовані належним чином, то навряд чи є сенс залишати цю функцію і далі працює – її відключення може ще трохи прискорити завантаження.


Практика.


Але, на жаль, бажане не завжди відповідає дійсному. Для того ж, щоб з’ясувати, як йдуть справи в реальності, на цілком конкретних комп’ютерах, а не на абстрактних системах з тестових лабораторій в Редмонді, доведеться особисто озброїтися секундоміром і невеликий утиліткою, що дозволяє максимально об’єктивно вимірювати час завантаження системи і за результатами моніторингу примусово проводити оптимізацію завантажувальних файлів.
Називається вона BootVis, а скачати її можна з даного сайту звідси. Утиліта ця примітна в усіх відношеннях і викликала своїм недавнім появою справжній фурор в деяких мережевих конференціях. У всіх новинах стверджувалося, що після її використання система починає грузиться на 30%, а то й на всі 50% швидше. Про те, наскільки це справедливо, ми ще поговоримо, а поки нас цікавить її робота в частині моніторингу завантаження ОС.
Крім того, що BootVis дуже наочним чином показує, скільки і на який етап завантаження системи йде часу (наприклад, паралельність виконання цих етапів на її графіках спостерігається більш ніж виразно), вона вміє відображати графік завантаження центрального процесора при старті системи, графік дискових операцій введення-виведення, графік затримок при завантаженні драйверів і ще ряд даних, корисних не тільки для задоволення власної цікавості, а й для з’ясування причин заторів системи під час її завантаження.
Аналогічна інформація виводиться і для режимів StandBy і Hibernate – на часовій шкалі прекрасно простежується весь процес засинання і пробудження комп’ютера. Відомості, які виводить програма, до речі кажучи, не обмежуються лише графіками – ще більш детальну інформацію по кожному етапу завантаження ОС можна отримати, якщо скористатися контекстним меню, що з’являється при клацанні правою кнопкою миші на тій чи іншій ділянці графіка.
Користуватися програмою дуже легко, та й інсталяції вона не вимагає – досить розпакувати скачаний архів у будь-яку зручну папку або прямо на Робочий стіл. Після її запуску в меню “Trace” ви побачите чотири команди: Next Boot, Next Boot with Driver Delays, Next Standby / Resume, Next Hibernate / Resume. Це режими тестування, які пропонує BootVis. Врахуйте тільки, що при тестуванні часу переходу в сплячий режим і повернення з нього поза контролем BootVis залишається зчитування файлу hyberfil.sys, в якому збережено вміст оперативної пам’яті, так що без секундоміра таки не обійтися. Для нашого ж випадку визначення часу завантаження Windows потрібно вибрати режим “Next Boot”, після чого програма перевантажить систему і відразу після старту ПК почне відстежувати процес запуску ОС.
Як тільки Windows повністю завантажиться, на дисплеї автоматично з’явиться вікно BootVis з усієї зібраної їй інформацією. Єдина умова її успішної роботи полягає в тому, що не можна виключати Планувальник завдань, інакше програма не зможе сама запуститися.
Отже, на тестовий ноутбук Sony VAIO FX101 (Celeron 600, 128 Мб, 10 Гб UDMA/66), на якому “Міленіум” завантажується секунд за 20, була встановлена ​​друга система – Windows XP (розділ FAT32). Для початку відкладемо BootVis в сторону і вимірювання зробимо виключно секундоміром, щоб не було ризику їх спотворити якимось впливом BootVis. Найперша завантаження Windows XP опинилася і найдовшої – крім того, що система не була жодним чином поки не оптимізована, під час першого її запуску ще мала місце і купа всяких дурниць типу рекламного туру по Windows XP. Зайняла вона майже хвилину, що відразу нагадало сонну Windows 2000. До слова сказати, найперша завантаження не піддається моніторингу з боку ОС і не враховується при подальшому оптимізації, оскільки через своїх особливостей не є типовою. Далі робимо кілька перезавантажень ОС поспіль і отримуємо непогано повторюється, а значить об’єктивний результат – близько 40 секунд потрібно для запуску не оптимізованої Windows XP на реальному і не дуже відстає від життя ПК. Це, звичайно, рази в два гірше, ніж у Windows Me, але поліпшення по відношенню до Windows 2000 вже помітні (хоча до заявлених Microsoft 30 секунд нова система поки явно не дотягує).
Щоб спрацювала функція BootDefrag, спробуємо відразу ж після завантаження залишити систему в бездіяльності хвилин на 30. (Саме цього і не роблять багато користувачів, не знайомі з особливостями Windows XP, через що їх система протягом довгого часу не показує всіх своїх можливостей.) І дійсно – хвилин через 20 простою сама по собі виникає якась дискова активність, дуже схожа на процес дефрагментації, триває це все хвилин 5.
Подивимося, що вийшло. Перевантажуємо ПК – і виявляється, що Робочий стіл з’являється на екрані вже через 27-28 секунд! Ось вони, нові технології в дії! Не виключаю, що завдяки їм на деяких ПК Windows XP стане грузиться навіть швидше Windows Me. Так що можна з певністю сказати, що Microsoft на цей раз виконала свої обіцянки – система завантажується дуже навіть спритно.
Подивимося далі, який ефект дасть застосування настільки радісно зустрінута широкою публікою утиліти BootVis. Спочатку проведемо звичайний моніторинг завантаження, щоб з’ясувати, наскільки її дані збігаються з тим, що показує наш секундомір. Після кількох тестів отримуємо середній час завантаження ОС, рівне 25 секундам – ​​це на дві секунди менше підсумків ручного методу, що, загалом, не так критично і можна списати на похибки вимірювання і невелика розбіжність точок відліку.
Головне – результат стабільно повторюється від завантаження до завантаження, значить, можна переходити до найцікавішого експерименту: дозволити BootVis оптимізувати систему для отримання обіцяного 30-відсоткового приросту швидкості завантаження. Наші 25 секунд повинні після цього чудесним чином перетворитися в 15, що не просто круто, а дуже круто навіть для Windows Me! В меню Trace вибираємо пункт “Optimize System” і протягом кількох виснажливих хвилин очікування спостерігаємо, як після перезавантаження програма наполегливо шарудить жорстким диском, переміщаючи файли по своїх хитрим алгоритмам. Коли процес дефрагментації завершується, знову запускаємо моніторинг часу завантаження в BootVis, перевантажуємо ПК і дивимося, що ж вийшло …
А вийшли всі ті ж 25 секунд … Де ж обіцяні 30 і 50%??? Ефекту-то від програми ніякого! А вся справа в тому, що наша тестова система вже один раз сама себе оптимізувала – різниця між 40 секундами і 27 секундами якраз і становить ті самі 30%, і більше тут вже зробити практично нічого не можна. По крайней мере, зміни після дій BootVis занадто незначні, щоб бути гідними згадки.
Чутки ж про чудодійні можливості BootVis, мабуть, пішли від тих товаришів, які так активно використовують свій ПК, що у Windows немає ні хвилини вільного часу на проведення дефрагментації завантажувальних файлів.
Так що великих надій на цю програму покладати не варто – механізми, закладені в Windows XP, і без неї прекрасно справляються з оптимізацією процесу завантаження, треба тільки після чергового включення ПК дати системі півгодини відпочинку. BootVis ж лише робить все те ж саме, але за запитом користувача, у зручний для нього час. Головне ж достоїнство цієї програми полягає в тому, що після її застосування не стає гірше, так що пробуйте – якщо є бажання заради примарної надії качати 325 кб.


Рекомендації.


Паралельно з серйозним удосконаленням операційної системи в частині управління живленням і завантаження Microsoft дає рекомендації і користувачам зробити зі свого боку ряд зусиль для того, щоб допомогти Windows XP проявити себе у всій красі.
Правда, все це аж ніяк не означає, що рекомендації, які підходять до прискорення завантаження ОС, настільки ж благотворно позначаться на всьому іншому процесі спілкування з Windows – наприклад, використання NTFS не завжди виявляється виправдано на домашніх системах, а користуватися диском, що має всього один розділ, вкрай незручно.
Почитати першоджерело ви зможете на сторінках http://www.microsoft.com/, коротко ж рекомендації Microsoft зводяться до наступного:
– Використовувати файлову систему NTFS – вона, на відміну від FAT32, не вимагає приміщення цілої таблиці FAT в пам’ять при завантаженні, що помітно на дисках більше 8 Гб.
– Не використовувати конвертацію FAT32 в NTFS після установки ОС – видалити всі розділи FAT ще до установки ОС і дозволити їй створити файлову систему NTFS під час інсталяції.
– Використовувати тільки один розділ на диску.
– Встановити жорсткий диск в якості першого завантажувального пристрою.
– Використовувати всі налаштування CMOS Setup, що дозволяють скоротити час завантаження та проведення POST.
– Відключити логотипи, які часто зашиті в системний BIOS і BIOS відеокарти.
– Відключити в CMOS Setup пошук пристроїв на незайнятих IDE-каналах.
– Мати останню версію BIOS для вашої материнської плати з підтримкою функції Simple Boot Flag і оновлений BIOS відеокарти.
– Бажаний швидкий диск – від 7200 об. / Хв., Який має великий буфер.
– Необхідний достатній обсяг оперативної пам’яті – від 128 Мб.
– Необхідний сучасний процесор.
– Переконатися, що дефрагментація файлів завантаження функцією BootDefrag була проведена і спробувати використовувати утиліту BootVis – можливо, на вашій системі вона все ж доб’ється більш глибокої оптимізації.
– Скоротити число автозавантажуються програм і системних служб.
– Не використовувати шпалери Робочого столу та інші декоративні “прибамбаси”.
Але, навіть скориставшись цими порадами, ви, швидше за все, вже не отримаєте великого приросту швидкості завантаження – так, наприклад, на моєму тестовому ноутбуку відключення ряду непотрібних сервісів і видалення абсолютно всіх програм з автозавантаження дало виграш менше секунди, що, звичайно ж, на загальному тлі виглядає дуже навіть блідо.
В цілому ж, як ми переконалися – прогрес в благородному сімействі Windows NT наявності, шкода тільки, що власники більш звичною для багатьох Windows Me не можуть скористатися для оптимізації своєї системи утилітою такого ж плану, що і BootVis.
Наскільки мені відомо, все, що їм може допомогти в боротьбі за секунди, – це аналіз протоколу завантаження ОС за допомогою програми Boot Log Analyzer і невелика утиліта від тієї ж Microsoft – Devview (вже не знаю де Ви цю програму знайдете, якщо зможете честь Вам і хвала – приміт. support), що показує, який пристрій і скільки часу вимагає для своєї ініціалізації при завантаженні системи. Особисто я після аналізу зібраних нею даних відключив непотрібні мені COM-і LPT-порти на своєму ПК, але виграш від цієї операції склав близько секунди.
Втім, не за секунди ми і боремося? За них!


Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*