|
www.lissyara.su
—> статьи
—> FreeBSD
—> Мелочи
—> dd : бэкапируем windows
Клонирование разделов windows с помощью загрузочного диска FreeBSD
Автор: Grishun_U_S.
Ситуация обычная, сотрудница нашей фирмы попросила «посмотреть домашний компьютер», который «не включается, сын что - то натворил». Прибыв на место определил что винда не грузится ни в обычном режиме ни в безопасном. Сошлись на том, что вытаскивать данные не будем, а просто переустановим с форматированием. Ребенок учится в средних классах школы и естественно ставит все проги подряд особо не задумываясь. Ограничивать его в любознательности не стоит, пусть учится, тем не менее я понял что аналогичная ситуация (когда система будет запорота загадочным образом) может возникнуть совсем скоро и мы будем к этому не готовы, т.е. все что я смогу сделать — опять все форматировать, ставить винду, дрова и проги. Это не устраивало и я вспомнил как один знакомый говорил о рецепте «2х винчестеров» — образ свежеустановленной системы снимается утилитой типа акрониса (Acronis True Image) или Нортона Госта (Norton Ghost) на второй винчестер, который затем отключается. В дальнейшем, когда наступит время «ч» можно быстро развернуть систему из образа. Первый вопрос возник после изучения нового Нортона то ли двенадцатой то ли четырнадцатой версии, который работал исключительно под венду и кроме того, требовал установки MS NetFramework. Хотелось чего - то доброго, чистого, не требующего установки, независящего от типа файловой системы и желательно бесплатного. И такое нашлось. Это dd. Второй вопрос, вернее не совсем вопрос, а сразу решение, возникло после оценки размера установленной винды ХР и всех прог — чуть больше 3Гб, а значит образ влезет на DVD болванку и маме не потребуется отрывать лишнюю тысячу рублей из семейного бюджета на покупку дополнительного HDD.
Надо сказать, что утилита dd работает на низком уровне, копируя информацию с носителя по секторам. В этом ее преимущество — не зависит от файловой системы и недостаток — копирует все подряд без разбору. Т.е. если имеем винчестер размером 10Гб то и получим образ в 10Гб. Винчестер 100Гб — образ 100Гб. Естественно такой образ можно пожать архиватором до приемлемого размера, но только если на остальное пространство будут записаны однородные данные, например нули. Что касается файловой системы ntfs, то при удалении файла в ней не происходит физического удаления — стирается только заголовок файла, сами данные остануться нетронутыми до тех пор пока на их место не будет записан другой файл. Тоже самое происходит при форматировании — очищается только служебная область диска. Честно говоря несколько лет назад я был сильно удивлен сначала отформатировав по ошибке диск с данными, а потом восстановив абсолютно всю информацию с него простой утилитой. Теперь представим что на жестком на диске размером 320Гб 150 Гб занято музыкой, мы форматируем его в ntfs, ставим винду, и видим что досутпно 317Гб. Все верно, но если пытаться сжимать образ этого диска, то мы будем сжимать фактически 150Гб, т.к. данные от музыкальных файлов как там были до форматирования так останутся после. Поэтому нам нужно сначала записать однородные данные на весь этот диск (забиваем нулями), а только потом уже форматировать его и ставить винду.
Итак, приступим :
В первую очередь нам потребуется LiveCD с любым Linux (на котором есть утилита dd и gzip) или FreeBSD (я использовал это) качаем и пишем на болванку. Выбираем в биосе загрузку с CD и загружаемся с него
Далее выбираем пункт меню «Fixit»
и выбираем пункт «use the "live" filesystem CDROM/DVD»
Должно появиться приглашение консоли
получаем список дисков в системе :
например, у меня было 2 диска :
ad0 — диск на который я собираюсь ставить ОС windows
ad4 — диск куда я буду сохранять сжатый образ
Забъем ad0 нулями (все данные на диске будут уничтожены):
Fixit# dd bs=8M if=/dev/zero of=/dev/ad0
| Для проведения операции обнуления НЕ нужно монтировать диск ad0.
bs=8M устанавливает размер буфера для этой операции. Рекомендуется ставить размер буфера равным размеру кэша жесткого диска. После того, как dd отработает он выведет затраченное время. У меня этот процесс занял 1,5 часа (винчестер 320Гб).
Теперь самое время для установки windows на чистый HDD. Также поставим необходимые драйвера и программы, увлекаться слишком не стоит, иначе наш образ не поместится на DVD болванку.
После того как все установлено, подключаем HDD на который мы будем сохранять запакованный образ, загружаемся с live cd и выбираем консоль восстановления Fixit по описанной выше процедуре.
Создаем каталог для монтирования hdd с будущим образом :
монтируем ad4 в /mnt/hdd
Fixit# mount /dev/ad4 /mnt/hdd (ТРЕБУЕТ ПРОВЕРКИ)
| но я не монтировал вручную, а сделал все через
(пункты меню Configure, Fdisk/Label)
Снимаем образ и архивируем его "на лету"
Fixit# dd bs=8M if=/dev/ad0 | gzip -c > /mnt/hdd/image.gz
| Обратите внимание, что output file (of) в параметрах не пишем, вместо этого перенапрявляем стандартный вывод на вход gzip, которому ключем -с указываем выводить результат работы на консоль и тут же перенапрявляем (>) вывод в файл /mnt/hdd/image.gz . Эта операция заняла около трех часов, в результате получился архив объемом 2,5Гб.
Теперь у нас есть образ системы. Встроим его в загрузочный *.iso файл. Для этих целей я использовал проприетарный софт Ultra ISO, которая умеет редактировать ISO файлы. Открываем 7.0-RELEASE-i386-livefs.iso, создаем в нем каталог /usr2 и подкладываем туда файл образ, который сняли на прошлом шаге. Сохраняем получившийся образ. У меня получился 3 с небольшим Гб. Пишем его на ДВД и проверяем : загружаемся с него, выбираем консоль восстановления Fixit и смотрим есть ли файл image.zg в каталоге /usr2
Fixit# ls -lh /usr2
-rw-r--r-- 1 root wheel 2.5G Feb 24 21:53 image.gz
| Все. Теперь можно будет в случае чего быстро восстановить систему загрузившись в Fixit и выполнив команду :
Fixit# gunzip -c /usr2/image.gz | dd bs=8M of=/dev/ad0
| (в момент выполнения этой команды ad0 должен быть отмонтирован)
размещено: 2008-06-27,
последнее обновление: 2008-06-27,
автор: Grishun_U_S
|
|
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
|
|
Комментарии пользователей [20 шт.]