Руководства, Инструкции, Бланки

Ddrescue инструкция

Категория: Инструкции

Описание

Бэкап HDD - Записная книжка сисадмина

Способы создания резервной копии жёсткого диска и восстановление данных.

Clonezilla

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

Минусы: - невозможно создать копию без остановки системы

Создаём образ с помощью утилиты dd, которая практически гарантировано есть в системе. Я делал резервные копии таким образом для своего роутера.

  • Создание образа с помощью dd

dd if=/dev/sda bs=8096 | gzip -9cf > router.sda.gz

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

  • Восстановление системы из образа с помощью dd

Теперь команда для восстановления системы из образа, который сделали немного ранее:

gunzip -c router.sda.gz | dd of=/dev/sda bs=8096

Минусы: - команда не поймёт, что встретила ошибку на диске и просто замучает его до фатального состояния.

То же самое, что и dd, но с другим синтаксисом и понимает ошибки, пропуская их.

она же GNU ddrescue — мощная консольная утилита для восстановления данных с повреждённых носителей. Является частью проекта GNU (GNU/Linux).

apt-get install gddrescue

ddrescue [options] infile outfile [logfile]

Лог - важное дело. В случае запуска повторных проходов, читаться будут только повреждённые данные (если это возможно). То есть 2-3 прогона существенно помогают восстановить информацию. Пример:

Другие статьи

Восстановите данные с помощью инструментальных средств Linux

Библиотека сайта или "Мой Linux Documentation Project"

Восстановите данные с помощью инструментальных средств Linux

Оригинал: Get Your Data Back with Linux-Based Data Recovery Tools
Автор: Jack Wallen
Дата публикации: 12 February 2015
Перевод: Н.Ромоданов
Дата перевода: апрель 2015 г.

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

Мы не всегда живем в идеальном мире.

Иногда данные требуется восстанавливать. Когда случается подобная трагедия, то хорошо бы знать, что у вас под рукой есть инструменты, с помощью которых можно выполнить такую работу. К счастью, для восстановления данных достаточно часто используется Linux. В самом деле, есть ряд надежных инструментальных средств, которыми вы можете воспользоваться для восстановления потерянных данных. Я хочу познакомить вас с некоторыми из них, которые позволят вам выполнить восстановление данных.

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

SystemRescueCD

Давайте сначала начнем с тех инструментальных средств, которые помогут вам восстановить данные с машины, у которой возникли проблемы с файловой системой или с разделами. С такими инструментальными средствами работать, как правило, проще, поскольку у них сразу «все включено». Среди таких инструментов моим любимым является спасательный диск SystemRescueCD. Этот спасательный диск поддерживает работу с большинством известных форматов разделов, включает в себя все, что необходимо для восстановления данных (в том числе ssfdisk, Gparted, TestDisk, PhotoRec, FSArchiver, а также многое другое), а также в своем составе много других удобных в работе инструментальных средств.

Как и в случае большинства спасательных дисков, работа с системой SystemRescueCD начинается с загрузки с компакт-диска или с устройства USB, после чего можно начинать использовать инструменты, предназначенные для работы с файловой системой. В отличие от многих других аналогичных спасательных дисков, в SystemRescueCD предоставляется графическая среда, которая поможет вам при восстановлении данных (рис.1).

Рис.1: Графическая среда системы SystemRescueCD

Если вы переносите восстанавливаемые данные с одного компьютера на другой, вам потребуется подключить к системе внешний жесткий диск для того, чтобы можно было на него переносить восстановленные данные (или вы можете воспользоваться встроенной поддержкой Samba и копировать данные в каталог, расположенные в локальной сети). Даже если задача состоит в восстановлении или в приведении в порядок таблицы разделов, я в любом случае настоятельно рекомендую скопировать конфиденциальные данные - на тот случай, если таблица разделов или файловая система будут еще больше повреждены.

Есть и другие системы восстановления, которые по своим возможностям похожи на SystemRescueCD. У каждой из них есть свои плюсы и минусы, но, в конце концов, с их помощью можно выполнить необходимую работу. К числу некоторых моих любимых дистрибутивов/систем восстановления данных относятся следующие:

Отдельные инструменты восстановления данных

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

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

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

Этот инструмент отлично подходит для переноса данных с неисправного диска на внешнее устройство. Сначала его необходимо будет установить в вашей рабочей системе, подключить через USB неисправный диск и диск, на который данные будут сохраняться, а затем использовать его для извлечения необходимых данных.

Установку этого инструмента в системе Ubuntu можно выполнить с помощью следующей команды:

Структура команда Ddrescue следующая:

Давайте воспользуемся программой Ddrescue для копирования раздела с диска /dev/sdg на диск /dev/sdb. Команда (работает в системе с использованием команды sudo) будет выглядеть следующим образом:

Указанная выше команда скопирует все с неисправного устройства на целое. Данные восстановлены!

На самом деле это инструментальное средство восстановления данных не пытается копировать данные. Вместо этого делается попытка исправить проблемы на уровне разделов, из-за которых вы не можете получить доступ или не можете восстановить данные. Testdisk может:

  • Восстановить потерянные разделы
  • Сделать диски снова загружаемыми
  • Исправить таблицу разделов
  • Восстановить главную загрузочную запись
  • Восстановить загрузочные сектора
  • Восстановить таблицы файловых систем
  • Восстановить файлы, удаленные в файловых системах NTFS, FAT, exFAT и ext2
  • Копировать файлы из удаленных файловых систем NTFS, FAT, exFAT и ext2/3/4

Testdisk является инструментальным средством ncurses, работающим в терминале (рис.2).

Рис.2: Работа приложения testdisk с внешним диском.

Чтобы в системе Ubuntu установить приложение Testdisk, выполните следующую команду:

С помощью команды sudo testdisk запустите этот инструмент и воспользуйтесь простым мастером для начала работы с подключенных внешним диском.

Если вам нужно восстановить потерянные файлы, фотографии, видео и т. д. то приложение Photorec является именно тем, что вам необходимо. Этот инструмент является частью приложения Testdisk, поэтому после того, вы установите TestDisk, также можно будет использовать приложение Photorec. Этот инструмент полностью игнорирует файловую систему и ищет непосредственно исходные данные. Это означает, что даже если ваша файловая система повреждена, есть шанс восстановить данные.

Чтобы запустить приложение Photorec, выполните следующую команду:

Интерфейс Photorec аналогичен интерфейсу приложения Testdisk. По мере работы Photorec интерфейс будет отображать восстанавливаемые файлов в режиме реального времени (рис.3).

Рис.3: Photorec в действии

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

Если вам нужны инструменты, которые помогут вам восстанавливать данные в системе Linux, то таких инструментов достаточно много. В данной статье рассматриваются те из них, которыми обычно пользуются администраторы — от полностью укомплектованных дисков восстановления и до отдельных инструментов. Есть много других средств, которые смогут помочь вам восстановить данные.

Подробную информацию о подобных средствах можно найти на форуме System Management Forum. где вы можете поговорить с вашими коллегами и узнать еще больше сведений о восстановлении данных.

Эта статья еще не оценивалась

Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь .
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют

Копируем битые диски в Убунту

Копируем «битые» диски в Убунту

В последнее время ситуация с носителями, типа CD/DVD дисков, уже не так актуальна как 2-4 года назад, в наше время уже во всю популярны флешки и внешние жесткие диски, но бывают еще случаи, когда нужно скопировать диск, а он либо царапаный, либо записан не корректно и программа для записи выплевывает его. Что в таких случаях может нам предложить любимая Ubuntu ?

На первый взгляд ситуация не радужная, но после некоторых проб и экспериментов могу сказать, что не все уж так плохо. Кто, как я, привык к графическому интерфейсу, может воспользоваться программой DVDisaster . Если мало, то можно запустить через Wine, к примеру ISOBuster, который можно скачать с торрент-трекеров, либо воспользоваться весьма неплохой бесплатной программой Non-Stop Copy.

Но мне оказалось и этого мало, и я захотел попробовать истинно линуксные программы. После моей беды с потерянными файлами, я начал уже без особой опаски относиться к Терминалу. Хотя я до сих пор не могу понять, как можно скажем кодировать видео из одного формата в другой, при этом создавать меню для DVD с фоном и фоновой музыкой и все это делать в консоли. Это ж сколько нужно команд вбить в Терминале, сколько всяких путей прописать, названий файлов и т.д. По мне такие вещи удобней делать исключительно с GUI интерфейсом, но опять таки, это сугубо мое мнение. Но вот что касается восстановления файлов, создания образов, копирования нечитаемых DVD дисков, то тут Терминал может оказаться как нельзя кстати и не такой уж он и страшный. Итак идем дальше.

Программа dd. Очень старая и очень популярная среди линуксоидов программа. При помощии dd создают образы жестких дисков, флешек и других накопителей, создают образ системы и т.д. Она поблочно копирует файлы из одного места в другое. Чтобы скопировать «битый» DVD при помощи этой программы, выполним следующее:

dd if=/dev/cdrom of=image.iso conv=noerror

dev/cdrom — это ваш DVD привод

image.iso — образ копируемого DVD/CD диска

conv=noerror — параметр, который указывает, что нужно копировать, игнорируя ошибки

Это простейший пример, который показывает как можно использовать программу dd. При желании можно найти массу информации о данной программе: настройки, параметры и прочее.

Далее идет тяжелая артиллерия. Опытные пользователи говорят, что «битые» диски лучше всего копировать программами gddrescue (в Терминале пишем ddrescue ) и dd_rescue. Несмотря на схожесть названий, это совершенно разные программы. Установить эти программы можно из Центра приложений Убунту. И добавлю от себя — gddrescue лучше чем dd_rescue. Итак идем далее.

Установим ddrescue. Установить можно из Центра приложений, либо командой:

sudo apt-get install gddrescue

  • gddrescue копирует информацию из одного источника (винчестер, CD-ROM и т.д.) в другой, пытаясь восстановить данные если есть ошибки чтения.
  • gddrescue не затирает выходной файл, если это не запрошено, поэтому при каждом запуске для одного и того же выходного файла делаются попытки заполнить пробелы.
  • gddrescue работает абсолютно в автоматическом режиме.
  • Если ведется журнал работы, то информация восстанавливается еще эффективее, потому что считываются лишь нужные блоки. Более того, восстановление можно прекратить когда угодно вам, а потом продолжить.
  • Журнал все время сохраняется на диск. Поэтому, если копирование прервано, то его можно продолжить с минимальным повторным копированием.

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

Схема использования: ddrescue [options] infile outfile [logfile]

-h. --help показать справку
-V. --version показать номер версии
-b. --block-size=bytes аппаратный размер блока на исходном устройстве [512]
-B. --binary-prefixes использовать степени двойки в числах [по умолчанию SI]
-c. --cluster-size=blocks число аппаратных блоков для разового копирования [128]
-C. --complete-only не считывать данные дальше, чем указано в лог-файле
-e. --max-errors=n максимально разрешенное количество областей с ошибками
-i. --input-position=pos начальная позиция в исходном файле [0]
-n. --no-split не стараться дробить области с ошибками
-o. --output-position=pos начальная позиция в целевом файле [ipos]
-q. --quiet минимум подробностей
-r. --max-retries=n выйти после этого числа повторов чтения(-1=до бесконечн.)[0]
-s. --max-size=bytes максимальный объём данных для копирования
-t. --truncate очистить целевой файл перед записью
-v. --verbose максимум подробностей

Полный список параметров можно посмотреть при помощи команды:

ddrescue -v /dev/cdrom Recovered.iso ddrescue.log

В данном примере будет копироваться диск в приводе, с созданием образа Recovered.iso и лога ddrescue.log с применением параметра -v (максимум подробностей)

Далее идет программа dd_rescue. Установить также можно через Центр приложений Убунту, либо в Терминале:

Схема использования: dd_rescue [options] infile outfile

-s ipos начальная позиция в исходном файле (default=0),
-S opos начальная позиция в целевом файле (def=ipos),
-b softbs размер блока для копирования (def=65536),
-B hardbs размер блока во время возникновении ошибок копирования (def=512),
-e maxerr окончание работы после установленного количества ошибок (def=0=infinite),
-m maxxfer максимальный объём копируемых данных (def=0=inf),
-y syncfrq частота запросов fsync к целевому файлу (def=512*softbs),
-l logfile имя файла для регистрации ошибок и вывода сводки (def=»»),
-o bbfile имя файла для регистрации номеров сбойных блоков (def=»»),
-r копирование данных в обратном направлении (def=forward),
-t очищать целевой файл перед записью (def=no),
-d/D использовать O_DIRECT для ввода/вывода (def=no),
-w окончание работы во время возникновения ошибок (def=no),
-a запись файла с пустотами (def=no),
-A всегда записывать блоки, заполняя нулями сбойные (def=no),
-i интерактивный режим: спрашивать перед перезаписью данных (def=no),
-f принудительный режим: пропустить ряд проверок (def=no),
-p сохранять права доступа и владельца файла (def=no),
-q минимум подробностей,
-v максимум подробностей,
-V вывести номер версии и выйти,
-h вывести данную справку и выйти.

dd_rescue -v /dev/cdrom Recovered.iso

Установить recoverdm можно как и все предыдущие, в данном обзоре, программы из Центра приложений, либо командой:

sudo apt-get install recoverdm

Схема использования: recoverdm -t type -i file/devicein -o fileout [-l list] [-n retries] [-s speed]

-t тип данных
-i откуда копируем
-o восстановленный файл
-l этот файл будет содержать смещение из плохих(!) блоков
-n количество попыток чтения прежде чем перейдет к следующему сектору
-s скорость чтения приводов CD/DVD (по умолчанию 1х)
-r количество повторов при чтении с RAW

recoverdm -i /dev/cdrom -o Recovered.iso

А если вы беспокоитесь о стабильной работе операционной системы, то советую настроить резервное копирование при помощи утилиты Remastersys Backup .

Ну вот в принципе и заканчивается данный обзор. Могу лишь написать, что по умолчанию программа recoverdm очень медленно копировала битый диск, в отличии от gddrescue и ddrescue. Я остановил свой на выбор именно на них.

Gddrescue: средство восстановления данных с поврежденных носителей

gddrescue: средство восстановления данных с поврежденных носителей Мне нужно было восстановить данные со сбойного винчестера, и я спросил в IRC, есть ли хорошие средства для Ubuntu. Кто-то назвал GNU ddrescue (в Debian и Ubuntu — пакет gddrescue), разработанный для восстановления данных из любого файла или блочного устройства. Не путайте это с dd_rescue (соответствующий пакет — ddrescue), GNU ddrescue лучше. На сайте GNU перечислены основные возможности программы:
  • gddrescue копирует данные с одного файла или блочного устройства (винчестера, CD-ROM и так далее) в другой, пытаясь восстановить данные в случае ошибок чтения. —
  • gddrescue не затирает выходной файл, если это не запрошено, поэтому при каждом запуске для одного и того же выходного файла делаются попытки заполнить пробелы. —
  • gddrescue разрабатывался, чтобы работать в полностью автоматическом режиме. —
  • Если используется журнал работы, то данные восстанавливаются более эффективно — считываются лишь требуемые блоки. Кроме того, восстановление можно прервать в любой момент времени, а потом продолжить. —
  • Журнал периодически сохраняется на диск. Так что, если работа прервана, можно будет продолжить с минимальным повторным копированием. —
  • Если у вас есть две и более поврежденных копии файла или диска, то запуск ddrescue для всех копий и одного выходного файла скорее всего даст полную версию без ошибок. Вероятность того, что поврежденные области совпадают у разных входных файлов, очень мала. Если используется журнал, то из из второй и последующих копий будут считываться только требуемые блоки. —
  • Для восстановления различных участков одного файла можно использовать один и тот же журнал.
Алгоритм работы GNU ddrescue таков:
  1. Если нужно, считывается журнал, где описано состояние предыдущего прерванного сеанса работы, либо прежних попыток восстановления различных участков файла.
  2. До указанного места, либо до прерывания пользователем считываются неповрежденные участки входного файла.
  3. Делается попытка прочитать поврежденные участки. Поврежденные участки разбиваются на более маленькие, из них считываются уцелевшие фрагменты; и так пока не будет достигнут физический размер блока устройства, либо работу не прервет пользователь.
  4. Поврежденные блоки считываются в указанное число попыток, либо до прерывания работы.
  5. Если нужно для последующего вызова, записывается журнал работы.
Для использования требуется установить пакет gddrescue, но запускать нужно ddrescue. Эта путаница связана с тем, что соответствующее название пакета уже использовалось dd_rescue. Синтаксис команды прост, и к программе прилагается хорошая документация man и info. Вот пример работы с компакт-диском (ошибок не найдено). Полезные ссылки Схожие проекты Live CD с программами для восстановления данных

gddrescue есть в Debian, начиная с Etch, и в Ubuntu, начиная с Edgy. Проект разрабатывает Антонио Диаз Диаз с 2004 года.

Ddrescue (GNU ddrescue)

Ddrescue (GNU ddrescue)

Ddrescue(GNU ddrescue) — мощная консольная утилита для восстановления данных с повреждённых носителей. Является частью проекта GNU(GNU/Linux) .

Ddrescue копирует данные из файла или блочного устройства (разделов жёстких дисков, USB Flash, CD/DVD и пр. ) в файл или блочное устройство. В случае ошибок чтения ddrescue пытается восстановить данные, не затирая выходной файл при копировании (если это не запрошено). поэтому при повторном запуске для одного и того же выходного файла делаются попытки заполнить пробел.

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

Если при восстановлении использовать журнал, то из второй и последующих копий будут считываться только недостающие блоки. Для восстановления различных участков одного файла Ddrescue может использовать один и тот же журнал. Ddrescue считывая журнал предыдущего сеанса работы (прежних попыток восстановления). в первую очередь делает попытки заново прочесть повреждённые участки. При неудаче, повреждённые участки разбиваются на более мелкие и считываются уцелевшие фрагменты, это продолжается до получения полного физического размера блока (число попыток чтения и размер блоков можно задать). безошибочного считывания максимума информации, либо до завершения сеанса работы пользователем.

Пакет Ddrescue в некоторых дистрибутивах Linux(например Debian и Ubuntu) имеет название gddrescue(от GNU ddrescue). в связи с путаницей в названиях пакетов (уже использовался для dd_rescue. функционально аналогичной утилиты, но с другим алгоритмом работы) .

Лицензия: GNU GPL