Создание резервной копии диска при помощи Linux
Создать копию всего диска ≈ прекрасный способ сохранить не только ваши данные, но и саму систему. Цены на переносные USB жесткие диски постоянно снижаются, и весьма полезно иметь парочку для подобных работ. Если ваш основной винчестер испортится, вы сможете заменить его на запасной с копией системы и продолжить работу буквально через несколько минут. Дело только за изготовлением такой копии. Это можно сделать множеством способов, в этой статье мы опишем 3 из них.
Основная проблема при снятии точной копии диска заключается в необходимости загрузиться с другого носителя, чтобы копия была полноценной. Можно загрузиться с LiveCD, либо с загрузочной флешки. Вероятно, у вас где-нибудь хранится установочный диск вашего дистрибутива, можно воспользоваться им. В рамках данной статьи мы будем говорить о дистрибутиве Ubuntu 10.4. Второй способ снять копию жесткого диска ≈ использовать специальный клонирующий дистрибутив Clonezilla. Этот способ хорош для тех, кто еще плохо знает Linux и совсем неуверенно себя чувствует в командной строке. Третий способ позволяет снять копию вашего винчестера из любого дистрибутива Linux при помощи одной простой команды в терминале.
Способ первый: Загрузочный USB носитель с Ubuntu
Сделать загрузочный USB носитель совсем не сложно. Вам понадобится только ISO файл с дистрибутивом Ubuntu. Если его в вас нет, то нужно скачать его с сайта Ubuntu . На этой же странице есть инструкции по созданию загрузочного USB диска в Mac OS X, Ubuntu и Windows.
Как только диск создан, с него можно загружаться. Возможно, вам придется подключить загрузку с USB в BIOS вашего компьютера. На многих новых машинах, нажатием при старте клавиши F12 вызывается загрузочное меню, где указаны все типы загрузочных носителей.
Когда Ubuntu загрузится, можно приступать к созданию копии жесткого диска. Для этого воспользуемся программой GParted, умеющей создавать копии разделов и дисков.
Найти эту программу можно так: Система —> Администрирование —> Partition Editor (или нечто подобное). А можно нажать одновременно клавиши ALT и F2 и появившемся окне набрать «gksu gparted» (без кавычек).
Там же есть и программа Disk Utility, которая содержит множество утилит для работы со всеми дисками в вашей системе. С ее помощью можно примонтировать или отмонтировать диски, отформатировать их. Последнее, кстати, совсем нелишне проделать с тем диском, на котором вы будете создавать резервную копию, особенно если на нем раньше была Windows.
Сам процесс создания копии подробно описан на сайте GParted или на форуме Ubuntu . Существует также специальный GParted Live CD , который может заменить Ubuntu.
Процесс изготовления копии жесткого диска на съемный USB диск займет немало времени, в зависимости от объема диска; в нашем случае около четырех часов. Значительно ускорить этот процесс может адаптер с eSATA коннектором, типа Thermaltake BlackX ST0005U . Такую штуку полезно иметь всем, кто часто создает резервные копии дисков.
Способ второй: Clonezilla
Clonezilla ≈ это дистрибутив Linux специально созданный для клонирования дисков. Бывает двух видов: Live и SE. Live работает так же как уже описанный Ubuntu Live USB (CD). Вы загружаете компьютер с этого Live USB (CD)
и производите копирование любого диска на любой диск из числа подключенных к системе. Для этой цели дистрибутив содержит множество программ, объединенных одной простой системой меню, помогающей вам проделать нужную операцию. По умолчанию, программой копирования разделов является Partclone .
Clonezilla SE (Server Edition) предназначена для клонирования дисков через сети.
Последняя версия Clonezilla 1.2.5.17 выходит в Debian и Ubuntu вариантах. Доступна теперь и AMD64 версия, имеющая 64-битные версии всех программ и возможность копировать большие разделы. Все приложения обновлены до версии ядра Linux 2.6.32-12. Самое сложное при использовании Clonezilla ≈ не перепутать, какой из дисков является мастером, а какой копией. Clonezilla также обеспечивает копирование Главного Загрузочного Сектора (MBR), чего не делает GParted из Ubuntu Live CD. В последнем случае приходится делать это вручную через командную строку.
Способ третий: Команда dd
Выглядит это в самом общем виде вот так:
В данном примере /dev/sda ≈ это диск, с которого снимается копия, а /dev/sdb ≈ диск на который копируется. Имейте в виду, что dd делает побайтовую копию всего диска, в том числе и загрузочного сектора (MBR). Команда dd позволяет также скопировать диск не на другой диск, а просто в файл, который впоследствии можно поместить на хранение куда угодно, можно записать на DVD, а в случае нужды при помощи той же команды копировать обратно на место:
# dd if=/dev/sda of=имя_файла_резервной_копии (например, backup.sda)
Скорость при копировании при помощи команды dd в приведенном варианте будет невелика, примерно такая же, как при помощи программы GParted. Дело в том, что по умолчанию dd работает блоками по 512 байт. Но можно в несколько раз повысить эту скорость, применив другой размер блока, скажем 100Мб:
# dd if=/dev/sda of=/dev/sdb bs=100M
Советую вам прочесть либо ман dd, либо статью про эту команду.
Не важно, каким из трех способов вы воспользуетесь; важно, что у вас будет резервная копия всей системы. Компьютеры время от времени ломаются, и время их поломки всегда самое неудачное. Так что не ленитесь создать клон своего винчестера.
Резервное копирование жестких дисков линукс
Библиотека сайта rus-linux.net
sda . Для этой цели я использую команду grep sda /var/log/syslog . Вывод этой команды (Рисунок 1) должен содержать информацию о том, что файл устройства /dev/sda соответствует клонируемому диску.
Рисунок 1: Велика вероятность того, что файл устройства, соответствующий клонируемом жесткому диску, носит имя sda.
Далее вам придется выяснить путь к корневой директории подключенного внешнего накопителя. Для этого нужно воспользоваться командой mount . В результате будет выведен значительный объем данных, при рассмотрении которых несложно определить путь к директории, ассоциированной с вашим целевым устройством (внешним накопителем). Наиболее вероятно, что данному устройству будет соответствовать файл устройства /dev/sdb .
Клонирование диска
Для простоты предположим, что исходному жесткому диску соответствует файл устройства /dev/sda , а разделу целевого накопителя — файл устройства /dev/sdb1 . Вы можете скопировать с исходного устройства как содержимое его отдельного раздела (к примеру, /dev/sda1 ), так и все его содержимое. Для клонирования данных с устройства sda на устройство sdb1 мы можем выполнить следующую команду:
sudo dd if=/dev/sda of=/dev/sdb1 bs=64K conv=noerror,sync
В данном случае были использованы следующие аргументы:
- bs : устанавливает размер копируемого блока данных (по умолчанию используется значение 512 байт, которое не подходит для жестких дисков большого объема)
- noerror : сообщает утилите dd о необходимости продолжать работу, игнорируя все ошибки чтения
- sync : сообщает утилите dd о необходимости заполнения блоков нулями в случае возникновения ошибок чтения
После исполнения команды вы можете отойти от компьютера, так как для завершения процесса клонирования жесткого диска потребуется достаточно много времени. В процессе работы утилиты не будет выводиться никакой информации; при этом вы также не увидите нового приветствия командной оболочки. Если вы предпочитаете видеть информацию о ходе процесса копирования данных, вы можете передать утилите аргумент status=progress аналогичным образом:
sudo dd if=/dev/sda of=/dev/sdb1 bs=64K conv=noerror,sync status=progress
В результате вы будете получать информацию об объеме скопированных данных в реальном времени.
Кроме того, вы можете скопировать содержимое жесткого диска в обычный файл образа диска. Этот подход немного упростит процесс восстановления содержимого жесткого диска и позволит значительно сэкономить место на целевом накопителе. Для создания файла образа диска утилита dd может использоваться следующим образом:
sudo dd if=/dev/sda conv=sync,noerror bs=64K | gzip -c > /ПУТЬ/К/КОРНЕВОЙ/ДИРЕКТОРИИ/НАКОПИТЕЛЯ/backup_image.img.gz
Здесь /ПУТЬ/К/КОРНЕВОЙ/ДИРЕКТОРИИ/НАКОПИТЕЛЯ/ является реальным путем к корневой директории целевого накопителя (в моем случае это /media/elementary/TOSHIBA/ ), а не к соответствующему ему файлу устройства.
Я предпочитаю клонировать жесткие диски в файлы образов, а не просто создавать их побайтовые копии на на других дисках. Одним из преимуществ такого подхода является возможность перемещения файла образа практически на любой из доступных накопителей. Если же вы планируете лишь клонировать жесткий диск с целью его последующей замены, вам, разумеется, не придется заниматься созданием файла образа этого диска. Однако, в том случае, если вы хотите создать резервную копию диска в формате файла образа, которая может использоваться впоследствии, в том числе, для создания множества копий диска или вы хотите впоследствии перемешать файл образа диска (по какой-либо причине), последняя команда будет более предпочтительным решением. Еще одним ее достоинством является возможность сжатия файла образа, ведь из-за того, что неиспользуемое пространство диска отлично сжимается, вы получите результирующий файл гораздо меньшего размера.
Восстановление данных из файла резервной копии
А теперь я продемонстрирую методику использования утилиты dd для работы с файлом образов дисков. Как и в случае процесса копирования данных в файл образа диска, данная операция должна выполняться в рамках загруженной Live-системы. Я буду предполагать, что вы установили целевой жесткий диск в ваш компьютер, подключили нему внешний накопитель (с файлом образа диска) и загрузили Live-систему.
После завершения работы утилиты dd вы должны были получить файл образа диска с именем backup_image.img.gz на внешнем накопителе. Для восстановления данных из этого файла на новом жестком диске (мы будем восстанавливать данные на новом диске, представленном файлом устройства с именем sda , объем которого совпадает с объемом оригинального жесткого диска), нам для начала понадобятся привилегии суперпользователя. Если вы используете дистрибутив, основанный на Ubuntu, вам придется сначала выполнить команду sudo su , ввести свой пароль, нажать клавишу Enter , после чего выполнить аналогичную команду для восстановления содержимого жесткого диска из файла образа:
gunzip -c /ПУТЬ/К/КОРНЕВОЙ/ДИРЕКТОРИИ/НАКОПИТЕЛЯ/backup_image.img.gz | dd of=/dev/sda
Здесь /ПУТЬ/К/КОРНЕВОЙ/ДИРЕКТОРИИ/НАКОПИТЕЛЯ/ является путем к директории внешнего накопителя с файлом backup_image.img.gz .
Примечание: если вы используете дистрибутив, в котором утилита sudo не используется по умолчанию (такой, как Fedora или openSUSE), вы сможете получить привилегии суперпользователя с помощью команды su . После исполнения этой команды следует ввести пароль администратора и нажать клавишу Enter . После этого вы сможете выполнить приведенную выше команду для восстановления содержимого жесткого диска.
И снова вы можете отойти от компьютера, так как процесс восстановления содержимого жесткого диска займет достаточно много времени. После его окончания вы должны получить точную копию оригинального жесткого диска, пригодную для загрузки системы. Теперь вы можете перезагрузить систему, удалить накопитель или диск с Live-системой и загрузить систему с клонированного диска.
Поздравляю!
Теперь вы имеете представление о том, как использовать утилиту dd для клонирования жестких дисков. При этом dd может использоваться и для других целей. Для раскрытия потенциала данной утилиты вам придется ознакомиться с ее страницей руководства, которая открывается с помощью команды man dd .