PC АД PC АД
PC АД

Почта Домой

Оживление Windows XP

Все, что ты должен знать о System Restore

- Агент Скалли, сегодня мы будем оживлять бабушку.

- Хорошо, Малдер, я пойду за живой водой.

- Иди, а я пока убью бабушку.

(анекдот)

Возможно, тебе доводилось наблюдать смерть или сильные недомогания (в просторечии - глюки) операционной системы Windows XP. Зуб даю - нередко, вольно или невольно, ты сам был тому виновником. Может быть, ради экономии была куплена железка широко известной фирмы "No name", которая не всегда гарантирует качество своей продукции. Может быть, компьютер был разогнан (а системы семейства Windows NT относятся к подобным развлечениям куда строже, нежели Win9x). Может быть, была установлена программа, не вполне совместимая с осью... Но не буду перечислять всех причин, это тема для отдельной статьи. Важно то, что сама по себе Windows XP - весьма стабильная система, которая, если ей не мешать и не вставлять палки в колеса, будет работать долго и счастливо.

<Босс, все пропало!>

Но предположим, что случилось нечто ужасное. Что тогда? Бегать вокруг компьютера с бубном и стучать по системному блоку счастливой заячьей лапкой? Конечно же, нет. Если повреждения не слишком велики и система загружается хотя бы в безопасном режиме, то в качестве лекарства можно использовать стандартное XP’шное средство - утилиту восстановления системы (System Restore).

Довольно часто можно услышать советы отключить эту систему, чтобы она не отнимала "понапрасну" место на диске и ресурсы системы. Правда, те же источники нередко рекомендуют полную переустановку Windows в качестве универсального лекарства от всех болезней. А я терпеть не могу заново устанавливать программы и настраивать систему после переустановки! Ты тоже? Отлично, тогда давай пропустим такие советы мимо ушей и вырубать System Restore все же не будем. Вспомним о том, что эта утилита специально предназначена для того, чтобы дать пользователю простой способ восстановления системы в случае возникновения каких-либо сбоев в ее работе.

<Строение>

System Restore состоит из двух компонентов: один компонент запускается как служба и работает в фоновом режиме, фиксируя все изменения в файлах определенных типов, второй компонент - программа, дающая возможность создавать точки восстановления системы вручную, "откатываться" к любой из созданных точек, а при необходимости и отменять результат последнего отката.

Особо следует отметить, что при откате сохраняются все файлы документов, почтовые базы и др. То есть результаты твоей работы потеряны не будут. С этой точки зрения использование восстановления системы абсолютно безопасно.

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

1. При установке каких-либо программ, если задействованы программы установки Windows Installer, InstallShield версии 6.1 или более поздней, другие установщики, если они при этом вызывают службу восстановления системы. Многие заплатки к Windows при установке также инициируют создание точек восстановления.

2. При установке неподписанных драйверов.

3. Точки восстановления создаются также ежедневно, но в какие-то дни могут быть и не созданы, если изменения, происшедшие в системе, представляются программе несущественными.

4. Самая первая точка восстановления создается сразу после установки системы.

Естественно, для хранения точек восстановления на диске требуется место. Минимальное количество свободного места на диске, при котором программа восстановления системы соглашается работать - 200 Мб, если свободного места меньше, то программа приостанавливает свою работу, а когда свободного места снова становится больше - возобновляет ее. Включение, однако, происходит не тотчас же, а только после того, как система пару минут будет простаивать. Ведь это увеличение свободного места может быть кратковременным.

<Расход ресурсов>

Ты можешь подумать, что программа восстановления системы ведет себя как скупой рыцарь, то есть накапливает и накапливает точки восстановления, пока не забьет ими весь диск. Это не так. Накапливание точек восстановления происходит не бесконечно - по умолчанию для их хранения резервируется 12 процентов размера диска (но не менее 400 Мб).

Обращаю твое внимание, что слово "резервируется" здесь, как, впрочем, и во всех остальных случаях в Windows XP (служба QoS, размер главной таблицы файлов на дисках NTFS и пр.), не означает безвозвратной потери зарезервированного ресурса, в данном случае места на диске, для других программ. Они всегда смогут воспользоваться той частью зарезервированного места, которая в данный момент не требуется программе, выполнившей резервирование. Так что выражение "зарезервировать 12% диска" следует понимать как "использовать не более 12% диска". Кроме того, если на диске остается менее ~50 Мб свободного места, все точки восстановления автоматически удаляются.

Если место для хранения точек восстановления заполнено больше чем на 90 процентов, то при ближайшем простое системы служба восстановления начнет стирать точки, пока использование выделенного места не упадет до 75 процентов. Естественно, стираются самые старые точки восстановления.

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

Синхронное создание точек восстановления на всех дисках приводит к тому, что на дисках со сменяемыми носителями точки восстановления не создаются и слежение за такими дисками не ведется.

<Информационные отложения>

А где же хранятся эти точки восстановления? Хранятся они в специальной скрытой папке System Volume Information, которая создается в корневом каталоге каждого локального диска. Если диск имеет файловую структуру FAT16 или FAT32, ты без особого труда сможешь заглянуть в нее и посмотреть, что же в ней лежит.

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

Заглянув в нее, ты увидишь папку с именем-идентификатором, а уже в ней - папки с точками восстановления. Эти папки имеют имена, состоящие из букв RP и порядкового номера точки восстановления.

В этих точках хранится множество разных файлов и резервные копии реестра. Список типов файлов, за которыми ведет наблюдение служба восстановления системы, довольно обширен. Любые изменения файлов с этими расширениями отслеживаются, и перед изменением, удалением и пр. такого файла его копия помещается в точку восстановления. Между прочим, для копирования применяется не какая-то хитрая утилита, а обычная системная процедура копирования.

Найди на системном диске файл \Windows\System32\Restore\filelist.xml. Если этот файл не виден - значит, надо включить показ скрытых и системных файлов. Открой файл в блокноте или в любом другом просмотрщике. Ты увидишь в нем список файлов, папок и расширений файлов, размеченный тегами include и exclude. Первый тег описывает, за файлами каких типов должно выполняться слежение, второй - описывает исключения, т.е. папки, за содержимым которых следить не надо, и отдельные файлы, остающиеся без наблюдения.

Этот список - не продукт глубоких размышлений, он сделан способом, близким к методу научного тыка. Сначала сели и прикинули, что в него надо включить, а потом изменяли его по ходу испытаний процедуры восстановления.

Файлы с твоими данными (документы, электронные таблицы, почта, рисунки, музыка, фильмы, базы данных) восстановление системы не трогает, и за их сохранность можно не опасаться. Если, конечно, ты не хранишь ради экономии места все документы в самораспаковывающихся архивах.

<Настройка>

Одной из основных целей при разработке Windows XP было сделать так, чтобы даже малоподготовленный пользователь не испытывал затруднений, работая с системой. Восстановление системы в подавляющем большинстве случаев не требует настройки, разве что слежение за несистемными дисками стоит исключить.

Но если у тебя чешутся руки и хочется поковыряться в системе, прошу расписаться в получении необходимой для этого информации. Но учти, что допущенные нечаянно или намеренно ошибки могут привести к нарушению работы восстановления системы или даже всей винды. Я тебя предупредил!

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

Открой свойства системы (свойства компьютера) и выбери вкладку «Восстановление системы». В верхней части окна расположен флажок «Отключить восстановление системы на всех дисках». На мой взгляд, он предназначен для экстремалов, к которым я себя не отношу. Впрочем, есть смысл его поставить, если тебе не хочется читать дальше. Согласись, что настраивать отключенную систему – бессмысленно :).

Ниже расположен список дисков с указанием, выполняется ли за этим диском слежение, и кнопка «Параметры».

Если щелкнуть на этой кнопке, откроется окно с флажком «Отключить восстановление системы на этом диске» и ползунком «Зарезервировать на диске».

Описывать их назначение, думаю, нет необходимости. Напомню только, что ползунок задает лишь предельный размер папки с точками восстановления. Ее реальный размер будет определяться размером точек восстановления и их количеством.

И не забудь, что точки восстановления создаются и удаляются синхронно, поэтому уменьшение размера зарезервированного места на одном диске может привести к удалению точек восстановления на всех дисках.

Вот и все. Что, тебе мало этих настроек? Ну что же, можешь попробовать свои силы в редактировании файла filelist.xml, хотя Майкрософт снимает с себя всякую ответственность за последствия. Перед редактированием может потребоваться снять с него атрибуты "скрытый", "системный" и "только для чтения", тогда после редактирования не забудь поставить их снова.

Сначала идет раздел файлов. В нем перечислены файлы, исключаемые из процесса восстановления. Один файл помечен как включаемый, это сделано для того, чтобы файл был включен в операцию восстановления, даже если он находится в неотслеживаемой папке. Этот раздел имеет приоритет перед разделами папок и типов файлов.

Следующим идет раздел папок. В нем собраны папки, за которыми слежение не должно выполняться, а ниже, в подразделе include, указана папка, за которой следить надо, хоть она и вложена в неотслеживаемую папку.

Последним идет раздел расширений. В нем лишь один подраздел – include.

Очень не рекомендую удалять из этого файла какие-либо строчки, лучше поупражняйся в добавлении. Например, если загруженные файлы ты хранишь в папке C\:Загружено, то добавь ее в подраздел Exclude раздела папок. Лучше всего это сделать, скопировав одну из имеющихся строчек и заменив в ней имя папки.

<Ковыряемся в реестре>

Что, тебе и этого мало? Ну что ж, сам напросился.

Восстановление системы использует в реестре три раздела. Раздел HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Sr используется фильтром системы, отделяющим файлы, за которыми надо следить, от всех прочих, и своевременно делающим их копии для точек восстановления. Майкрософт не рекомендует что-либо изменять в этом разделе, и эта рекомендация имеет смысл. Ты, конечно, можешь изменить имя файла с фильтром и поручить фильтрацию, скажем, пасьянсу, но вот будет ли от этого толк?

Однако в этом разделе прячется параметр MachineGuid, состоящий из набора букв и цифр. Именно этот набор используется в имени папки с точками восстановления системы. И если ты вдруг увидишь, что в System Volume Information лежит не одна такая папка, а несколько, то значение параметра поможет тебе определить, какая именно используется загруженной в данный момент системой.

Раздел HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Srservice описывает настройки службы восстановления системы – вид запуска, зависимости и пр. В этот раздел лазить точно незачем, да и опасность от ошибочного изменения намного выше, чем при правке других разделов.

Последний раздел, HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\SystemRestore, предоставляет больше возможностей порезвиться. Часть из параметров в нем MS разрешает менять.

Правда, часть из них можно поменять и через графический интерфейс – в настройках восстановления системы.

DiskPercent задает количество места, резервируемого под точки восстановления, задается в процентах от размера диска, по умолчанию - 12 процентов.

DSMax – то же самое, но в мегабайтах. Система использует наибольшее из этих двух значений.

DSMin задает минимальный размер свободного места на диске в мегабайтах, который требуется для работы восстановления системы (по умолчанию 200). При этом уровне происходят включения и отключения службы восстановления.

RPGlobalInterval задает время (в секундах) между автоматическими созданиями точек восстановления по таймеру. По умолчанию – 84600 секунд или 24 часа.

RPLifeInterval – максимальное время, в течение которого хранятся точки восстановления. По умолчанию – 777600 секунд или 90 дней. Если точка не будет стерта раньше из-за нехватки места для хранения точек, она будет стерта через 90 дней после создания.

RPSessionInterval – время непрерывной работы системы (в секундах), после которого автоматически создается точка восстановления. По умолчанию – 0, то есть отключено. Этот способ создания точек испытывался в бета-версиях, но позже от него решили отказаться. Если ты решишь включить такое создание, знай, что точка не обязательно будет создана сразу после истечения указанного интервала. Система будет дожидаться простоя компьютера примерно в течение двух минут, и лишь тогда начнет создание точки.

DisableSR – будучи установленным в 1, отключает восстановление системы, но точки восстановления остаются на диске. При отключении восстановления через графический интерфейс все существующие точки восстановления удаляются.

Другие параметры носят информационный характер, либо Майкрософт предупреждает о недопустимости их изменения.

Подробности можно найти в статье базы знаний "The Registry Keys and Values for the System Restore Utility" (http://support.microsoft.com/default.aspx?scid=kb;en-us;q295659).

<Маленькие хитрости>

В папке Windows\System32\Restore лежит программа Srdiag.exe. Если ее запустить, она сформирует архив с информацией о работе восстановления системы. Ты можешь распаковать этот архив и попытаться выяснить причины неполадок в работе восстановления, если они возникнут.

Если необходимо временно освободить место на диске, а точки восстановления терять жалко, можно переписать их (кроме самой последней) на другой диск, а потом вернуть обратно.

Кое-какую информацию, не упомянутую в этой статье, можно найти на страничке http://msdn.microsoft.com/library/default.asp?URL=/library/techart/Windowsxpsystemrestore.htm.

<Что нужно знать о восстановлении системы>

Восстановление системы не задумывалось как некий эквивалент установки и удаления программ и не работает в этом качестве. Причины должны быть понятны даже неискушенному пользователю - слежение ведется только за файлами определенных типов, остальные файлы и после отката все равно останутся на диске.

Если после установки той или иной программы возникли неполадки - сначала отмени установку, а уже затем восстанавливай систему. Хотя, может быть, для решения проблемы хватит и отмены установки.

Восстановление системы не является и средством управления драйверами. В случае возникновения каких-либо проблем после установки новых драйверов, сначала надо "откатить" драйвер.

Если система почему-либо не хочет загружаться, то ее восстановление перестает быть тривиальной задачей. В этом случае надо попытаться загрузиться в безопасном режиме или в последней рабочей конфигурации. В начале загрузки системы нажми клавишу F8 и выбери из меню соответствующий пункт.

Если в одном из этих режимов удастся загрузиться, запускай восстановление системы. Если же загрузить WinXP не удалось, то дело труба. Надо искать другие пути восстановления.

Иногда в папке System Volume Information можно увидеть две или больше папок с именами-идентификаторами. Это означает, что за диском вели слежение несколько операционных систем. Возможно, одна из папок осталась от ранее установленной системы, и ее смело можно удалить. Возможно, на твоем компьютере установлено несколько Windows XP, и каждая из них следит за этим диском (согласись, ситуация бессмысленная). В этом случае надо решить, какая система будет выполнять слежение, а в остальных слежение за этим диском отключить.

<Советы и рекомендации>

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

Но включать слежение за всеми дисками, как это сделано по умолчанию, тоже особого смысла не имеет. Как тебе понравится ситуация, когда после восстановления работоспособности системы окажется, что с диска исчез свежевыкачанный файл игрушки?

Мой совет - оставь слежение за системным диском и отключи его на всех остальных. Одним выстрелом ты убьешь сразу нескольких зайцев. Прежде всего, на работе восстановления системы это не скажется - файлы, необходимые для работы системы по-прежнему будут под наблюдением. Программы и игры, установленные на других дисках, в случае чего несложно и переустановить. Зато нет риска потерять все точки восстановления из-за переполнения второстепенного диска, скажем, с музыкой.

Как быть, если ты перепутал точку восстановления? Тут возможны два варианта. Если нужная точка - более ранняя и имеется в списке, можно повторить восстановление. А если нужная точка - более поздняя, и уже исчезла из списка? Спокойствие, только спокойствие, как говорит Карлсон. Последнее восстановление можно отменить. Начни делать восстановление, но вместо точки восстановления выбери отказ от результатов восстановления. После этого можешь снова восстановить систему, но уже выбрав правильную точку.

Файлы программ и самораспаковывающихся архивов, которые ты выкачиваешь из интернета, с точки зрения восстановления системы ничем не отличаются от других программных файлов. Поэтому не удивляйся, если после отката какие-нибудь из них исчезнут. Чтобы избежать этого, следует хранить выкачанные файлы на дисках, слежение за которыми отключено, либо внутри папки Мои документы. Содержимое этой папки при откатах остается нетронутым. То же самое относится и к написанным тобой программам, если ты занимаешься программированием. Еще один выход - отключить слежение за папками с результатами твоих трудов или усилий по выкачке.

Мини-статья

<Теневое копирование в WS2003>

С выходом Windows Server 2003 все чаще и чаще приходится слышать слова "теневое копирование". Во избежание возможной путаницы сразу скажу, что тут могут смешиваться два разных понятия - "теневое копирование томов" (volume shadow copy) и "теневые копии общих папок" (shadow copies of shared folders).

Теневое копирование томов есть и в Windows Server 2003, и в Windows XP. Этот механизм используется программой резервного копирования для создания полной копии диска, даже если на диске есть открытые файлы, и программы продолжают выполнять запись на диск. При начале резервного копирования служба теневого копирования vss (аббревиатура ее первоначального названия – volume snapshot service, служба снимков системы) делает так называемый снимок системы (snapshot). В снимке фиксируется состояние диска на данный момент времени. После этого программа резервного копирования обрабатывает снимок системы, а не реальное состояние диска.

Так можно убить сразу нескольких зайцев:

- открытые файлы больше не исключаются из создаваемой резервной копии;

- приложения могут выполнять запись в открытые файлы и во время резервного копирования;

- становится возможным выполнять резервное копирование в любое время, не создавая помех работе пользователя.

Идеологически этот подход сходен с работой восстановления системы, фильтр файлов которого обеспечивает автоматическое сохранение (в точке восстановления) копий изменяемых файлов для создания снимка системы. Но практическая реализация - совсем иная. Слежение выполняется не за файлами, а только за сделанными изменениями.

Теневые копии общих папок (shadow copies of shared folders) - это совершенно другая технология. Создание таких копий возможно лишь на WS2003.

Та же самая служба vss создает снимок общей папки, а потом следит за производимыми в ней изменениями. Разница записывается в специально отведенное место на диске - хранилище.

В результате становится возможным иметь на диске одновременно несколько версий одного файла (до 64) и восстанавливать ошибочно удаленные или поврежденные файлы (на всякий случай напомню, что корзина Windows не отслеживает файлы, удаляемые по сети, и такие файлы удаляются безвозвратно).

При работе на сервере в свойствах файла появляется вкладка Версии, дающая возможность выбрать, какая именно версия тебе нужна в данный момент.

Чтобы воспользоваться этой функциональностью, сидя за рабочими машинами, подключенными к WS2003, необходимо установить специальный клиент теневого копирования общих папок (его можно скачать со страницы
www.microsoft.com/windowsserver2003/downloads/shadowcopyclient.mspx).

Если клиентские станции работают под управлением не Windows XP, а более ранних клиентских ОС, необходимо установить специальный пакет и на WS2003 (его можно загрузить с той же странички).



Malder © 2004
Используются технологии uCoz