Назад | Перейти на главную страницу

Windows: создание резервной копии системы с помощью инструментов vshadow + robocopy

В течение многих лет я использовал vshadow + robocopy для резервного копирования разделов данных на удаленный том iSCSI. Это был очень эффективный метод.

Это позволило мне получить «идеальную» копию. Открытые файлы копируются без проблем, как и ACL и все такое. В случае серьезной неисправности диска мне просто нужно подключить удаленный диск в качестве замены неисправного. Это намного быстрее, чем восстановление из резервной копии. У меня только последняя резервная копия на удаленном диске. Остальные резервные копии выполняются с помощью Backp Exec более традиционным способом, с ротацией и т. Д.

Моя проблема: мне никогда не удавалось сделать резервную копию живого системного раздела Windows.
Я тестировал с Windows 2003.

Я проверил массу возможностей. После восстановления все они получили приглашение нажать Ctrl + Alt + Delete для входа в систему. Когда я ввожу имя пользователя и пароль, ничего не происходит. Рабочий стол никогда не появляется; сообщения об ошибке нет, только экран с однородным цветом. Машина включена, службы работают (даже TSE в порядке, но я не могу войти в систему), машина отвечает на эхо-запросы и т. Д. Но нет возможности войти в систему.

Пример того, что я сделал:

  1. Я использую одинаковые диски
  2. Я дублирую исходный диск с помощью dd на целевой диск (это позволяет иметь загрузчик, тот же раздел и т.д., просто чтобы быть уверенным на 100%)
  3. Я запускаю исходный компьютер
  4. Я подключаю удаленный целевой диск с помощью iSCSI (тоже с локальным диском: ничего лучше). Сопоставлен с диском H:
  5. Я делаю снимок исходного диска и сопоставляю его с буквой диска:

     vshadow.exe -p c:\
     vshadow -el={edbed95e-7e8d-11d8-9d01-505054503030},g:
    
  6. Копирую файлы:

     robocopy g:\ h:\ /mir /is /it /copyall /r:0 /x /v /fp /np /log:c:\robocopy.log /xd "g:\System Volume Information" g:\windows\Prefetch /xf g:\pagefile.sys g:\hyberfile.sys
    
  7. Смотрю на сгенерированный журнал: ошибок нет, предупреждений нет

  8. Я останавливаю винду
  9. Я подключаю целевой диск вместо предыдущего локального диска
  10. Я загружаюсь, но не могу войти

Я тоже тестировал без копирования реестра. Улучшения не было.

Есть ли способ решить эту проблему?

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

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

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

Возможно, возникла проблема с копированием обязательных меток целостности. Вы не упомянули, под какой учетной записью находится копия; даже член группы «Администраторы» не может установить уровень целостности выше «Высокий», но многие файлы ОС имеют системный уровень (который выше, чем «Высокий»). Попробуйте запустить robocopy как NT AUTHORITY\SYSTEM.

Попробуйте использовать флаг / B с robocopy; он использует режим резервного копирования, который копирует другие метаданные, такие как расширенные атрибуты и альтернативные потоки данных.

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

Есть ли ошибки в вашем журнале robocopy?

РЕДАКТИРОВАТЬ: Думаю, мне следовало более внимательно прочитать описание. Половина того, что я упомянул, не применима к WS2003, только Vista и более поздние версии. В прошлом я успешно копировал целые системы WS2003 с теневым копированием тома и robocopy, и у меня не было проблем со входом. Единственное отличие, о котором я могу вспомнить, заключается в том, что я использовал флаг / B для включения режима резервного копирования во время копирования.

Я столкнулся с этой проблемой много лет назад. Проблемы были вызваны только настройками реестра текущего аккаунта.

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