Pull to refresh

Автоматическое восстановление разделов диска с помощью Ghost

Reading time 3 min
Views 17K
Практически в каждом новом ноутбуке теперь есть система восстановления, которая срабатывает, когда операционная система не может загрузится несколько раз подряд. Отличная идея: обычный пользователь, не вдающийся в тонкости работы своего компьютера и операционной системы, теперь избавлен от необходимости обращаться в сервис-центр, что экономит ему время и деньги.

Однако реализация этой идеи оказалось такова, что лучше бы этой системы восстановления не было вовсе. Во-первых, при штатном восстановлении теряются пользовательские данные, что, в принципе, ожидаемо. Во-вторых, процесс восстановления занимает неприлично много времени. На компьютере с винчестером в 1тб процесс шёл 8 часов и неизвестно, сколько бы он шёл ещё, если бы я его не прервал. Как бороться с этим безобразием вы узнаете под катом.

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

Сначала я хотел использовать для восстановления разделов Linux + dd, но отказался от этой идеи, т.к. dd создаёт слишком большие образы (даже если заархивировать) и скорость бэкапа\восстановления сильно уступает, по известным причинам, софту, который понимает файловые системы. Выбор пал на ghost (dos), т.к. он поддерживает ключи запуска в командной строке, что позволяет восстанавливать раздел нажатием одной кнопки.

Теперь о том, как это всё сделать. Первым делом нужно определится с размером раздела под систему. В моём случае винчестер был разбит так:

1. 50 ГБ под основную систему.
2. 20 ГБ под раздел для образа.
3. Остальное пространство под данные.

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

Итак, после установки системы( win 7 в моём случае), софта и отключения второго раздела, нужно было сделать копию раздела, а для этого запустить Ghost. Оказалось, что загрузчик семёрки вполне может грузиться с образов дискет и в некоторых случаях с образов cd/dvd. Образ дискеты с dos-6.22 я скачал отсюда. Распаковал образ, создал новый, добавив ghost. Скачать мой образ можно отсюда.

Самый простой способ загрузится с этого образа — воспользоваться утилитой EasyBCD:

image

После перезагрузки в загрузочном меню появится дополнительный пункт с тем названием, которое было указано в EasyBCD при создании новой записи. Загрузившись с этого образа, можно запустить ghost и сделать резервную копию системного раздела. Предположим, что образ лежит на втором разделе и называется system.gho. Для автоматического развёртывания нужно подготовить второй загрузочный образ дискеты, который будет отличаться от первого только содержимым файла autoexec.bat:

ghost.exe -clone,mode=pload,src=1:2\system.gho:1,dst=1:1 -fx -sure -rb


Эта строка вставляется в конец файла autoexec.bat
Ключ src:
1:2 — первый диск, второй раздел
system.gho:1 — имя образа и раздел, находящийся внутри образа.
В данном случае он там один, но есть возможность восстановить конкретный раздел из образа всего диска.
Ключ dst
1:1 — первый раздел первого диска.
Ключ fx завершает работу приложения после окончания.
Ключ sure позволяет провести восстановление в автоматическом режиме, без ответов на вопросы типа «А вы уверены, что...?».
Ключ rb перезагружает компьютер после завершения работы приложения.

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

Так же в autoexec.bat перед запуском ghost можно добавить защиту от нежелательного восстановления, когда в меню загрузки был случайно выбран не тот пункт.
set /P var="Destination Drive will be permanently overwritten. Proceed? (yes/no) : "
if not "%var%"=="yes" exit /b 1

Если на образе дискеты есть reboot.com, то можно использовать его вместо exit.

Второй образ нужно добавить в загрузку таким же способом, как и первый.
Tags:
Hubs:
+8
Comments 12
Comments Comments 12

Articles