Как клонировать жесткий диск в образ, который я могу открыть позже?

14

Мне нужно создать (желательно) монтируемый образ жесткого диска 80 ГБ и сохранить его на другом жестком диске. Есть ли способ, которым я могу сделать это без потери данных?

Спасибо за ответы, которые я получил до сих пор. Данная система не может быть использована в данный момент из-за проблемы с кнопкой питания :( [тьфу!], Но информация действительно будет полезна =)! Спасибо всем, кто ответил до сих пор, если кто-то еще захочет дать мне несколько советов, я оставлю это открытым на некоторое время, так как я все еще не смог клонировать диск.

RolandiXor
источник
чтобы переопределить неисправную кнопку питания, просто закоротите контакты, которые соединяют 2 провода кнопки питания с помощью отвертки или чего-то еще, но только эти два не касаются больше, чем эти два одновременно!
Марк-андре Бенуа

Ответы:

8

Используйте dd(замените sda1 на раздел, который вы хотите сохранить):

sudo dd if=/dev/sda1 of=/home/user/backup.img

Это сделает монтируемое изображение раздела. Просто помните, что это может занять некоторое время, и изображение будет иметь размер раздела, а не файлы на нем. В вашем случае это будет 80 ГБ. Если вы сжимаете изображение, оно должно быть размером с используемое пространство вашего жесткого диска.

Обратитесь к DriveImaging: Создание образов дисков с использованием dd для более полного объяснения.

sBlatt
источник
Это клонирует раздел / dev / sda1, а не жесткий диск / dev / sda. В целях спасения и восстановления может быть лучше скопировать весь жесткий диск, а не только раздел
fabricator4
3

Мой предпочтительный метод - использовать живой CD CloneZilla. Загрузите .iso, запишите его на диск с помощью Brasero, вставьте его в компьютер, который вы хотите создать образ, перезагрузите, подключите целевой диск и следуйте инструкциям. Будьте осторожны при использовании dd, это инструмент очень низкого уровня, и ошибки могут легко уничтожить данные. Если вы хотите сделать побайтную копию изображения, выберите опцию «разделение на разделы» в CloneZilla.

Ник Паскуччи
источник
+1. Clonezilla - хороший инструмент для этой цели. Вы также можете клонировать ISO-файл Clonezilla на USB-накопитель и выполнить загрузку с USB. Смотрите также эту ссылку для более подробной информации.
sudodus
3

Remastersys - это программа, которая может создавать резервные копии всего вашего жесткого диска, а затем сохранять его, например, на LiveCD. Вы также можете использовать его для создания собственного дистрибутива Ubuntu. У этого есть CLI и GUI, так что выбирайте. В графическом интерфейсе выберите первый вариант, Резервное копирование .

Remastersys

Чтобы установить его, откройте Центр программного обеспечения, затем «Правка» -> «Источники программного обеспечения» -> «Другое программное обеспечение» (вкладка) и нажмите «Добавить» и «Вставить».

deb http://www.geekconnection.org/remastersys/repository karmic/

Теперь закройте окно источников программного обеспечения и дождитесь обновления репозиториев и установите remastersys.

Lyrositor
источник
Упс .. Похоже, что это повторение должно быть "кармическим"
Peter.O
Привет, Лироситор. Можете ли вы обновить его, чтобы использовать relinux вместо remastersys?
RolandiXor
3

отображение через LAN

на резервном компьютере запустите:

nc -l -p 12345 | dd of=mybackup.img

на исходном компьютере запустить:

dd if=/dev/sda | nc server2 12345
реактивный самолет
источник
довольно интересный способ сделать это ^^! В настоящее время я пытаюсь заставить систему снова включиться (тупая кнопка питания) !!!!!!!!!
RolandiXor
0

Самый простой способ - использовать dd, но общая претензия заключается в том, что dd не дает индикатор выполнения при копировании большого диска. Вы можете использовать просмотрщик каналов (pv) в сочетании с dd, чтобы показать индикатор выполнения и ETA до завершения. Установите PV с

sudo apt-get install pv

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

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

sudo fdisk -l

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

В самой простой для команды для копирования диска в файл rescue.dd в текущем каталоге это:

sudo dd if=/dev/sdx of=rescue.dd

где / dev / sdx нужно будет заменить на фактическое имя устройства, которое вы копируете. Вам может потребоваться изменить владельца файла rescue.dd, поскольку он будет принадлежать пользователю root.

Чтобы получить удобный индикатор выполнения и ETA до завершения, передайте команду dd через pv:

sudo dd if=/dev/sdX | pv -s 99999m -bpae | dd of=rescue.dd 

где / dev / sdX - имя устройства, которое вы хотите скопировать, а 99999 - размер устройства в миБ (не мегабайт). Ваш пользователь будет владельцем файла rescue.dd, так как второй вызов dd, который записывает выходной файл, принадлежит вашему пользователю, а не root. Данные будут отображать среднюю скорость передачи данных, индикатор выполнения,% выполненных и ETA до завершения.

fabricator4
источник
Я имел успех, используя только PV, например: sudo pv / dev / sdb | xz -9> sdcard.img
Fordi
0

Если вы хотите видеть прогресс, а также не обращаете внимания на командную строку, PV - ваш друг. Я пробую Ubuntu MATE на своем Raspberry Pi 2, и я хотел сделать резервную копию моей SD-карты и написать новую, но я ненавижу запускать большой ввод-вывод, не зная, что происходит. Вот что сработало быстрее всего:

$ sudo su
# pv /dev/sdb | xz > my-pi.img.xz
# pv ubuntu-mate-15.04-desktop-armhf-raspberry-pi-2.img.bz2 | bzip2 -d > /dev/sdb

Восстановление было так же просто

# pv my-pi.img.xz | xz -d > /dev/sdb

Во всех случаях происходит pvзахват входного файла / устройства и рассылка спама в stdout, в то же время предоставление отчета о ходе выполнения stderr. Затем xz или bzip2 извлекает стандартный поток из канала (стандартный вывод предыдущей команды) и действует как фильтр. Перенаправление вывода выводит файл на устройство или файл изображения.

Я вообще не знаю, что он работает с блоками, но я подозреваю, что Linux выполняет всю мою буферизацию для меня и читает / записывает данные по блокам на аппаратном уровне.

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

Fordi
источник
Я только что проверил, и это работает. Просто чтобы добавить немного, вы можете заменить xzс pixz, который использует все ваши ядер, чтобы ускорить процесс. apt-get install pixz
Леандро N