Як правило, до складу операційних систем Microsoft входять утиліти, призначені для полегшення відновлення системи при нестабільній роботі або аварійному відмову, але утиліта Windows XP System Restore це щось більше. System Restore відновлює реєстру, локальні профілі, бази даних COM+, кеш (wfp.dll) системи захисту Windows File Protection (WFP), базу даних Windows Management Instrumentation (WMI), метабази Microsoft IIS, а також файли, які вона копіює за замовчуванням в архів Restore. При цьому виділити той чи інший компонент не підлягає відновленню або все, або нічого.
Перше знайомство з System Restore

Призначення System Restore повернути систему в працездатний стан без необхідності повністю заново ОС та файли даних. Утиліта працює у фоновому режимі і автоматично створює точку відновлення (restore point), коли відбувається якесь ініціююча подія. До числа таких подій відносяться установка додатків, установки AutoUpdate, запуск процедури відновлення з допомогою Microsoft Backup Utility, установка непідписаних драйверів, а також створення точок відновлення вручну. Додатково утиліта System Restore за замовчуванням створює точки відновлення кожен день.

Для роботи System Restore необхідно мати на диску вільні 200 Мбайт, призначені для створення сховища даних. Якщо потрібного обсягу немає, System Restore залишається відключеною до тих пір, поки не звільниться дисковий простір, після чого утиліта активізує себе сама. Утиліта System Restore використовує схему зберігання First In/First Out (FIFO): видаляє старі архіви, звільняючи місце для нових даних при досягненні деякого ліміту обсягу даних у сховище. В урізанні «Параметри System Restore в реєстрі» розказано, як налаштувати розмір сховища даних і як змінити параметри роботи алгоритму FIFO для програми System Restore.

Утиліта System Restore проводить моніторинг різних типів файлів, серед них більшість розширень, які входять до складу встановлюваного програмного забезпечення.cat, .com, .dll .exe, .inf, .ini, .msi .ole .sys). Потрібно мати на увазі, що ініціююча подія для створення точки відновлення при установці нового програмного забезпечення відбувається лише тоді, коли програма установки програми використовує виклики System Restore restorept.api.

Як правило, відновлення системи не викликає труднощів, якщо відомо (або здається, що відомо), чим саме викликана проблема (наприклад, збій стався через нещодавній установки нового драйвера пристрою). Однак далеко не завжди System Restore виявляється кращим засобом відновлення. Дана утиліта змінює багато різних файлів і записів в реєстрі, і іноді вона виконує стільки змін, що викликає ще більші проблеми. Наприклад, при установці Office XP, яка супроводжувалася створенням точки відновлення, програми працювали без нарікань. Через деякий час був завантажений і встановлено відеодрайвер, і, оскільки драйвер був підписаний, його установка не призвела до створення точки відновлення System Restore. Система стала періодично зависати, і можна зробити висновок, що виною всьому несправний драйвер. У цьому випадку правильніше було б використовувати утиліту Device Driver Rollback, оскільки вона спеціально розроблялася для виправлення неполадок, пов’язаних з драйверами, і нічого іншого в системі не змінює. А System Restore відкине комп’ютер назад до стану до установки Office XP, і після вирішення проблем з драйвером доведеться інсталювати Office XP заново.
Створення точки відновлення

Windows XP зазвичай автоматично створює точки відновлення в ті моменти, коли це потрібно зробити. Проте може так статися, що користувачеві потрібно буде самому згенерувати даний об’єкт. Це може знадобитися в тих випадках, коли встановлюється певний додаток, і виникають побоювання, що після установки можлива нестабільна робота XP, або програма установки не використовує виклики System Restore API (restorept.api), або ж після внесення таких змін в систему, які можуть негативно позначитися на її працездатності.

Екран 1. Повідомлення про створення точки відновлення.

Наприклад, мені знадобилося встановити Crystal Reports 7 Professional, але, оскільки ця версія програми випущена кілька років тому, я не був упевнений в тому, що вона буде коректно працювати під управлінням Windows XP. Я вирішив створити точку відновлення безпосередньо до установки нового програмного забезпечення. Викликав Start, All Programs, Accessories, System Tools System Restore. З’явився екран Welcome, і утиліта System Restore задала питання, я хочу запустити процедуру відновлення або ж маю намір створити точку відновлення. Я вибрав Create a restore point і клацнув Next. Потім я присвоїв новій точці ім’я Before Crystal Reports і клацнув Create. Точки відновлення слід називати таким чином, щоб потім без праці можна було їх ідентифікувати. Після того як утиліта зібрала всю необхідну інформацію, з’явився екран Restore Point Created. Після цього я закрив програму System Restore.

Відновлення системи

Створивши точку відновлення, я встановив на свій комп’ютер з Windows XP програму Crystal Reports з думкою про те, що при необхідності завжди зможу повернути систему в початковий стан. Під час установки з’являлися повідомлення про помилку система не могла відшукати той чи інший файл dll. Інсталяція завершилася, програма Crystal Reports не запустилася, і я порадів власної передбачливості.

Перед тим як почати процес відновлення, я запустив програму видалення Crystal Reports в надії на те, що будуть видалені модулі програми і запису у реєстрі, але одна запис в реєстрі була тим не менш пропущена. Замість того щоб видаляти вручну, я вирішив використовувати можливості System Restore для гарантованого відновлення записів реєстру.

Екран 2. Вибір точки відновлення.

Отже, я запустив утиліту System Restore. З’явився екран Welcome, я вибрав Restore my computer to an earlier time і натиснув Next. Утиліта запропонувала на вибір кілька варіантів, згрупованих по днях. Такий формат дозволяє прокручувати дати і спостерігати створені точки відновлення. Ці об’єкти, згенеровані утилітою System Restore, з’являються у вікні у вигляді System Checkpoint.

Екран 3. Повідомлення про завершення.

Я клацнув по даті 23 липня і побачив точку відновлення Before Crystal Reports, створену раніше. Я вибрав цю точку, натиснув Next, і на екрані з’явився запит на підтвердження обраної точки. Після підтвердження (Next) утиліта System Restore закрила всі запущені програми і запустила процес відновлення. Після цього система перезавантажилась. По закінченні реєстрації на екрані з’явилося вікно System Restore, в якому повідомлялося, що процес відновлення успішно завершено.

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

Якщо ж операційна система з якоїсь причини перестала завантажуватися, слід запустити комп’ютер і натиснути клавішу F8 у той момент, коли почнеться завантаження Windows. Коли на екрані з’явиться меню Windows Advanced Options, потрібно вибрати Last Known Good Configuration і натиснути Enter. Якщо руйнування не були надто великими, повинне з’явитися меню завантаження, і можна вибрати пункт Microsoft Windows XP, а потім натиснути Enter. Windows XP стане відновлюватися з самої останньої за часом точки відновлення.

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

Пошук несправностей

Можна сказати, що System Restore утиліта стабільна і надійна. Однак час від часу і при використанні System Restore можуть виникати різні проблеми. При бажанні System Restore можна відключити.

Але спочатку потрібно спробувати відшукати несправність:

опрочесть уважно повідомлення про помилку і знайти все, що пов’язано з контекстом повідомлення;

опроверіть, чи достатньо вільного місця на диску. Має бути принаймні 200 Мбайт вільного дискового простору на кожному диску, на який поширюється дія System Restore. При необхідності слід скористатися утилітою Disk Cleanup для вивільнення місця на диску. Якщо потрібно, з допомогою тієї ж утиліти можна видалити всі точки відновлення, за винятком останньої;

оубедіться, що служба System Restore працює;

опопитаться запустити утиліту в режимі Safe;

опроверіть системний журнал (System Log) на наявність помилок, які відносяться до об’єктів sr або srservice.

Якщо нічого з перерахованого вище не допомагає, необхідно запустити srdiag.exe для продовження процедури пошуку несправностей. Утиліта Srdiag створює .cab-файл, який за замовчуванням поміщається в каталог %windir%system32estore. Можна двічі клацнути на файлі або відкрити контекстне меню і вибрати Extract. Потім слід перевірити 14 витягнутих файлів, щоб відшукати причину збою в роботі System Restore.

Широта охоплення, простота використання і надійність System Restore дивовижна. Це дуже корисна утиліта, особливо для досвідчених користувачів, служби підтримки та адміністраторів. Завдяки System Restore можна значно скоротити трудовитрати адміністраторів і час простою систем.

Параметри System Restore в реєстрі

Розділи та параметри System Restore зберігаються в реєстрі в трьох місцях. При необхідності ці параметри можна змінити для додаткової настройки System Restore, але я настійно рекомендую використовувати для конфігурування утиліти графічний інтерфейс. Використання редактора реєстру може зробити роботу системи нестабільною.

Відомості про System Restore в реєстрі можна знайти в наступних розділах:

* HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services Sr;

* HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services SrService;

* HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows. NT CurrentVersion SystemRestore

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

В третьому розділі є параметри, які підлягають зміні. Наприклад, значення параметра DiskPercent можна збільшити, тоді для зберігання точок відновлення буде відведено більше місця на диску. За замовчуванням для них відводиться 12% дискового простору, хоча реально використовуваний обсяг може бути іншим. Для дисків ємністю менше 4 Гбайт реальний обсяг становить 400 Мбайт. Для дисків ємністю більше 4 Гбайт можна зменшити цей параметр і не надавати 12% дискового простору для System Restore. Для налаштування System Restore через графічний інтерфейс користувача необхідно відкрити Control Panel, клацнути на вкладці System Restore, вибрати жорсткий диск зі списку, клацнути Settings і за допомогою повзунка підібрати потрібне значення параметра Disk space to use.

Можна також змінити параметр RPGlobalInterval, щоб вказати інтервал між моментами автоматичного створення точок відновлення. Наприклад, щоб змінити частоту створення точок відновлення з одного рази на добу один раз в тиждень, слід значення параметра за замовчуванням (86 400 с) поміняти на 604 800.

Якщо з міркувань безпеки не хочеться довгий час зберігати точки відновлення, потрібно змінити значення параметра RPLifeInterval. За замовчуванням час життя точки відновлення становить 7 776 000 (90 днів). Щоб встановити величину цього параметра дорівнює двом тижням, задайте 1 209 600.

Хочу ще раз підкреслити: якщо немає впевненості, що зміни поставлені коректно, в налаштуваннях System Restore нічого змінювати не слід. Додаткову інформацію можна знайти у статті бази «The Registry Keys and Values for the System Restore Utility» (http://support.microsoft.com/ default.aspx?scid=kb;en-us;q295659).
Відключення утиліти System Restore
Щоб не давати користувачам можливість змінювати установки System Restore, можна скористатися Group Policy Editor (GPE) або редактором реєстру для відключення інтерфейсу System Restore. Якщо для відключення інтерфейсу користувача для System Restore застосовується GPE, потрібно запустити редактор політики і клацнути Computer Configuration, Administrative Templates, System, System Restore. Двічі клацнувши Turn off System Restore, слід вибрати вкладку Setting і встановити прапорець Disable. Тепер потрібно двічі клацнути Turn off Configuration, перейти на вкладку Настройка встановити прапорець Enable, а потім натиснути Apply і ОК.

З цього моменту вкладка System Restore у вікні Systems Properties з’являтися не буде.

Якщо для відключення інтерфейсу користувача System Restore застосовується редактор реєстру, слід запустити regedit.exe і відкрити розділ HKEY_LOCAL_MACHINE SOFTWARE Policies Microsoft Windows NT. Необхідно створити новий підрозділ з ім’ям SystemRestore і в ньому новий параметр DisableConfig (тип даних: DWORD), яким слід привласнити значення 1. В кінці потрібно клацнути ОК.