Linux создание раздела восстановления

Обновлено: 04.07.2024

Для создания образа жесткого диск не обязательно использовать утилиты на подобии Acronis True Image или Norton Ghost, достаточно простой утилиты dd, которая входит в состав большинства Unix-подобных операционных систем (Linux, FreeBSD, Solaris и т.д.) В статье рассмотрен простой способ создания резервной копии образа жесткого диска при помощи dd. Первым делом необходимо подготовиться к резервному копированию. В данной статье введем следующие обозначения:

При необходимости нужно подставить собственные значения.

Подготовка к созданию образа жесткого диска

Первым делом необходимо загрузиться с любого доступного Live-CD диска, имеющего утилиту dd, и войти в командную строку в качестве суперпользователя. Создаем точку монтирования для проведения резервного копирования.

Монтируем жесткий диск на который необходимо сохранить образ.

Создание образа жесткого диска

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,noerror

Для сокращения размера образа жесткого диска его можно сжать любым архиватором.

dd if=/dev/sda bs=8M conv=sync,noerror | gzip -c > /mnt/backup/sda.img
Восстановление образа жесткого диска

Для восстановления образа жесткого диска необходимо проделать процедуру обратную процедуре создания этого образа.

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror

При использовании сжатия параллельно необходимо разархивировать образ.

gunzip -c /mnt/backup/sda.img | dd of=/dev/sda conv=sync,noerror bs=8M
Миграция системы на другой жесткий диск

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

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

Статистика копирования в dd

Главный минус в dd — это отсутствие наглядного представления статистики выполнения процедуры копирования. Однако этот минус можно легко обойти. Достаточно подключиться к другому терминалу.

Определить номер процесса, под которым запущена dd.

Периодически посылать данному процессу команду kill -USR1 номер_процесса_dd .

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

okteta

Некоторые вводные замечания

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

Несколько важных подсказок

Перед тем, как мы продолжим, пара советов. Во-первых, если вы подозреваете, что данные или диск повреждены, вы должны немедленно прекратить использование этого диска. Если вы только что обнаружили исчезновение важных данных и они не отображаются в файловом менеджере, это не значит, чито они уже потеряны навсегда. Место, которое они занимают, может быть просто помечено как пустое, поэтому если вы продолжите использование этого жесткого диска, система может записать на это же место другие данные. Таким образом, любая попытка использования устройства может только ухудшить ситуацию. Вы должны немедленно прекратить работу, чтобы не лишиться шансов на восстановление данных.
Далее, вы не должны паниковать, действовать нужно спокойно и осторожно. Необходимо отмонтировать устройство и отключить подкачку. В любом случае необходимо остановить любые служебные операции, такие как дефрагментация или очистка диска, копирование или перемещение данных, и любые другие действия, для которых необходимы операции чтения/записи. Но есть одна загвоздка.
Любое из описанных выше действий может ухудшить ситуацию. А может и нет. К сожалению, у меня нет универсального рецепта, так как каждый такой случай уникален. На самом деле те вещи, которые в некоторых случаях могут решить проблему, в других случаях могут привести к прямо противоположному результату.
Суммируя все вышесказанное - ничего не меняйте. Если вы не понимаете, что делать, позвоните эксперту, который мог бы вам помочь. Одно можно сказать наверняка - ни при каких обстоятельствах не нужно закрывать глаза и перезагружать машину. Перезагрузка может помочь решить софтверные логические проблемы в оперативной памяти, но очень редко она может помочь разрешить аппаратные проблемы. Напротив, при перезагрузке операционная система может беспечно предположить, что с вашими данными все в порядке, и попробовать получить доступ к поврежденному диску или разделу. Это обычно значительно снижает вероятность восстановления данных.
Второй совет немного сумасшедший, поэтому можете не обращать на него внимания, если хотите. Если ваш жесткий диск перестал работать или больше не распознается операционной системой, поместите его на 15 - 20 минут в морозильную камеру. Это может оживить его на время, достаточное для того, чтобы быстро скопировать важные данные. Во многих случаях диски перестают работать вследствие механических проблем, и резкое снижение температуры может освободить мелкие заблокированные детали, оживив диск хотя бы на некоторое время. Это чистой воды шаманство, поэтому можете не воспринимать этот совет всерьез. Тем не менее, в отчаянной ситуации все средства хороши.

Восстановление разделов

Потерять раздел можно по разным причинам. Например, вы могли нечаянно создать новую таблицу разделов не на том жестком диске, или неправильно настроить мультизагрузку.
Чтобы показать вам случай из реальной жизни, я исскуственно воспроизведу ситуацию с потерей раздела. Нашей тестовой системой будет Fedora 16 Verne с KDE, проблемным диском будет /dev/sdb с данными, хотя обычно неприятности случаются с системными разделами. В данном случае вы будете использовать для восстановления раздела live CD.
Мы сотрем таблицу разделов /dev/sdb, создав новую с помощью GParted. Мы проигнорируем тот факт, что она уже существует. Таким способом мы сделаем разделы невидимыми для системы. Обычному пользователю кажется, что данные потеряны навсегда.

стертый раздел

начало работы с TestDisk

Мы начнем с анализа. Пока мы не знаем ситуацию, и насколько все плохо. Так как вы, скорее всего, точно не знаете геометрию диска, используем опцию "analysis".

выбор опций TestDisk

Следующий шаг - выбор устройства, с которым мы будем работать. В нашем случае это /dev/sdb.

выбор устройства в TestDisk

Теперь выберите тип таблицы разделов. В большинстве случаев это Intel/PC.

выбор типа таблицы разделов в TestDisk

И начинаем анализировать:

анализ устройства в TestDisk

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

результат работы TestDisk

Теперь нам необходимо записать информацию о разделе на диск. Также можно изменить характеристики раздела, такие как тип или флаги.

запись новой таблицы разделов в TestDisk

И это сработало! Теперь мы снова в деле. Это значит, что у нас теперь нормальная таблица разделов и нашы разделы можно использовать, однако это не значит, что некоторые данные не были стерты или перезаписаны. Далее мы рассмотрим восстановление данных. Пока все выглядит хорошо.

новая таблица разделов

Печальный пример

попытка монтирования

И правда, проверив диск с помощью fdisk, мы видим:

проверка с fdisk

Мы снова пробуем TestDisk. Теперь мы знаем, что у раздела нет конечной метки. Это плохая новость, но, может быть, нам в итоге удастся восстановить данные. Вы заметите, что в нижнем левом углу TestDisk предлагает поискать разделы.

запуск TestDisk

Мы сделаем это - и потерпим неудачу. Теперь мы попробуем провести более глубокий поиск.

глубокий поиск

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

добавление раздела вручную

В нашем случае это к сожалению не сработало. Не повезло.

Восстановление файлов (и образов)

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

PhotoRec

PhotoRec

В моем случае были обнаружены все типы файлов, включая текст, изображения, архивы, файлы баз данных, и другие. Более того, PhotoRec нашел файлы образов, которые, вероятно использовались при установке Fedora. Во всяком случае я понятия не имею, откуда они взялись.
В целом PhotoRec выглядит достаточно эффективным. Просто для проверки я произвел низкоуровневое форматирование примерно 80% моего второго жесткого диска, создал новую таблицу разделов, новый раздел, и отформатировал его в файловую систему Ext4, а затем повторно запустил восстановление. Действительно, программа не смогла найти большинство уничтоженных таким образом данных, но все равно сумела обнаружить внушительный набор файлов. Поэтому, если вы думали, что простого форматирования достаточно для скрытия данных, это не так.

Recoverjpeg

Еще одна полезная утилита для восстановления изображений, а именно JPEG - это recoverjpeg. Она создана для спасения файлов с SD-карт и чипов памяти цифровых фотокамер. Как и PhotoRec, я пробовал ее на исправных разделах, чтобы посмотреть, смогу ли я обнаружить какие-нибудь неизвестные и странные файлы, и мне это действительно удалось. Снова, наверное, остатки от инсталляции Fedora.
Этой небольшой утилиты нет в репозиториях YUM, но вы можете скачать исходный код и скомпилировать его самостоятельно. Для этого вам понадобится пакет gcc-c++.

Recoverjpeg

Восстановление изображений

Восстановленное изображение

Восстановление изображений вручную

Поврежденное изображение

Итак, мы видим, что наше изображение повреждено. GIMP не может открыть его. Но здесь ключ к решению. Мы считаем, что это файл изображения, но он начинается с символов FF 00, которые не могут быть первыми двумя байтами файла JPG/JPEG.
Далее нам необходимо проверить файл с помощью шестнадцатеричного редактора. Мы опускаемся на уровень байтов и попробуем выяснить, что не так со структурой нашего изображения. Это достаточно сложно, но другого выхода нет. Теперь нам нужен шестнадцатеричный редактор. В KDE это Okteta, но вы можете использовать любой другой, включая vi.

Okteta

Заголовок испорчен, хотя в теории его нельзя действительно назвать заголовком, но он служит тем же целям. Изучив литературу, мы узнаем, что первые два байта любого изображения в формате JPG/JPEG - это маркер SOI, в шестнадцатеричной записи это всегда будет FF D8.

редактирование изображения Okteta

Итак, теперь мы изменим вторую последовательность из двух байтов 00 на D8, как должно быть в JPG-файле. Созраним изменения и протестируем результат. Все получилось.

Восстановленное изображение

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

Хороший совет

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

Дополнительные материалы по теме:

Заключение

Должен признать, что данное руководство не из самых простых. Некоторые описанные здесь приемы требуют определенных знаний, и обычному пользователю работать в таком ключе будет некомфортно. Восстановление данных требует определенных навыков, и даже в этом случае успех не гарантирован. Единственный мой личный опыт относится к 2009 году, когда я пытался восстановить файлы после неудачной переустановки системы поверх существующих и ценных данных. Все это закончилось не очень удачно. Резервные копии предпочтительнее.
Тем не менее, кое что полезное вы сегодня узнали. Теперь вы знакомы с различными инструментами командной строки, вы умеете использовать TestDisk, PhotoRec, recoverjpeg, и, может быть, другие утилиты, описанные в приведенных выше источниках. На самом деле я еще не успел нопробовать некоторые программы, поэтому нас возможно ждет продолжение.
Если же все три описанных здесь утилиты вам не помогут, вряд ли поможет что-то еще. Кроме того, использование большого количества инструментов одновременно может привести к путанице и еще большим повреждениям данных. Поэтому первым выбором должны быть TestDisk и PhotoRec. Кроме того, они вероятно являются лучшими. Recoverjpeg - тоже неплохой выбор. Освоив их, вы без затруднений сможете работать и с другими подобными инструментами.

На прошлом занятии мы ознакомились с функциями Терминала. Перед тем как перейти к более сложным занятиям, мы остановимся на одном очень важном моменте, создании резервной копии системы.

Есть различные утилиты (как графические, так и консольные) для создания резервных копий. Мы остановимся и подробно рассмотрим программу QT5-FSArchiver (в графическом интерфейсе консольной утилиты FSArchive) в составе отличной сборки LiveCD Backup/Restore на базе *Ubuntu.

Сборка доступна в различных графических интерфейсах с одинаковыми наборами предустановленных инструментов (установкой некоторых из них займёмся в ближайшие дни).

И так, скачиваем сборку с Tux Comss LiveCD (на базе elementary OS Juno), создаем загрузочную флешку (например с помощью UNetBootin или с помощью любой другой привычной программы). Далее загружаемся с флешки, перед нами появляется стандартное окно запуска/установки Ubuntu, выбираем Запуск.

Загрузились с загрузочной флешки. Запускаем с рабочего стола программу QT5-FSArchiver (открывшийся терминал можно закрыть). Программа имеет различные настройки (кстати FSArchiver не записывает свободные блоки, а только непосредственно данные, таким образом уменьшая объем резервной копии), рекомендую их оставить по умолчанию. Добавлю, что опция "Архив за раскол" отвечает за разбивку архива на файлы выбранного объема. Повторюсь, настройки оставил по умолчанию. Для резервного копирования я выбрал копирование двух разделов, корневого и раздела пользовательских настроек /home. Данные разделы легко определить по типу файловой системы (скорее всего при установке выбрали тип файловой системы - Ext4) и по их объему.

В окне "Найденные разделы" указываем раздел, который хотим скопировать. В окне "Дерево каталогов" указываем место сохранения резервной копии (другой локальный диск), я выбрал диск ntfs (вспоминаем, что разделы монтированы в каталоге media). В окне "Имя образа " указываем название образа, рекомендую в нем же указать и имя раздела (в моем случае имя раздела - sdb2). Далее нажимаем на опцию "Сохранить раздел".

Сохранение раздела

После окончания создания резервной копии, точно так же создаем резервную копию следующего раздела с типом файловой системы Ext4.

Кроме этого можно создать и резервную копию главной загрузочной области - MBR. Для создания копии MBR, открываем опцию "Действия" в главном окне программы QT5-FSArchiver и выбираем опцию "Save MBR-GPT, указываем место сохранения копии (можно указать ту же папку с ранее сделанными резервными копиями).

Указываем место сохранения копии

Восстановление разделов из резервной копии

Для восстановления разделов из резервных копий, в главном окне программы выбираем опцию "Восстановление раздела", в окне "Найденные разделы" указываем раздел в который будет выполнено восстановление. В окне "Файл образа" указываем ранее созданную резервную копию и нажимаем "Восстановить раздел".

Восстановление разделов

Для того что бы восстановить копию MBR, открываем окно "Действие" и выбираем опцию "Restore MBR/GPT" и указываем место ранее сохранённой копии.

Ну вот и все, теперь мы умеет делать резервные копии разделов и с них восстанавливать разделы.

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

Исходя из Windows, я ожидаю, что есть некоторая утилита "образ диска", которую я могу запустить, чтобы сделать снимок моей установки Linux (и загрузочного раздела!!), прежде чем я вмешиваюсь в работу. Затем, после того, как я настроил свою машину на foobar, я каким-то образом восстановил свою машину до этого рабочего снимка.

Что представляет собой аналог Linux для образов дисков Windows, таких как Acronis True Image или Norton Ghost?

Учебник для Clonezilla можно найти здесь.

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

Все ссылки на файловую систему и жесткие диски расположены локально на виртуальной /dev/ файловая система. Есть множество "узлов" в /dev/ это интерфейсы практически для всех устройств на вашем компьютере. Например, /dev/hda или же /dev/sda будет относиться к первому жесткому диску в вашей системе (hda vs sda зависит от жесткого диска), и /dev/hda1 будет ссылаться на первый раздел на вашем жестком диске.

Самый простой способ создать необработанный образ ваших разделов - использовать dd для выгрузки всего раздела в один файл (помните, что ОС обращается к разделам /dev/sda1 через файловый интерфейс). Убедитесь, что вы находитесь в большем разделе или на дополнительном диске и выполните следующую команду
dd if=/dev/hda1 of=./part1.image сделать резервную копию (повторить для разных разделов)
dd if=./part1.image of=/dev/hda1 восстановить

Вы можете использовать ту же команду для резервного копирования всего жесткого диска (заменить hda1 с hda ). Затем вы можете использовать любую программу сжатия (gunzip, zip, bzip), чтобы сжать файл для хранения. Вы можете использовать эту же технику для создания копий целых разделов для создания клонов вашего компьютера.

Однако существует одно ограничение: при восстановлении резервной копии размер раздела должен быть того же (или большего) размера, что и у раздела, с которого вы извлекли образ, так что это ограничивает ваши возможности в случае восстановления. Однако вы всегда можете расширить раздел после восстановления резервной копии, используя gparted или же parted , Картина становится еще более мутной, когда вы пытаетесь восстановить целые копии диска, однако, если вы восстанавливаете резервную копию на том же жестком диске, вам не нужно беспокоиться об этом вообще.

Однако, если вам нужна более дружественная утилита ala norton ghost, тогда это предложение может быть не для вас.

У нас есть графический интерфейс в Ubuntu, который называется "Диски" ( gnome-disks ) и приходит по умолчанию в более поздней версии Ubuntu.

Запуск / поиск как "Диски" или запуск от имени gnome-disks ,

Live Ubuntu (или производные) в режиме реального времени USB-флешка.

Подготовить раздел:


Кроме того, следует обратить внимание на то, что резервное копирование и восстановление загрузочных разделов являются рискованными процедурами и что резервное копирование ценных / конфиденциальных данных должно сначала выполняться другим способом (путем копирования данных вместо всего раздел и т. д.). - По моему опыту, это работает с системными разделами Ubuntu, но не с Windows.

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

Сохранить раздел:

введите описание изображения здесь

Восстановите раздел:

Следующий ответ: Как правильно восстановить системный раздел (iso-образ) с помощью "Дисков". Смотри вопрос там. Основная идея заключается в том, что образ (iso) должен быть восстановлен на существующий пустой раздел, который:

больше сохраненного изображения

Подготовьте восстановленный раздел к использованию:

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

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

Утилиты резервного копирования "dump" и "restore" в репозиториях Ubuntu предоставляют вам возможность создавать резервные копии и восстанавливать "состояние системы" всей системы.

Утилиты "dump" и "restore" могут быть установлены из репозиториев с помощью:

Ниже приведены ссылки на страницы руководства:
⠀ дамп
Tore Восстановить

В вашем случае вы можете сделать резервную копию системы на портативный диск:

Для восстановления вам необходимо:

Загрузитесь с вашего живого CD/DVD/USB Ubuntu.

Установите утилиту дампа.

Смонтируйте свой жесткий диск.

Восстановить (т.е. restore -r -f my_file /my_mount ).

Примечание. Если вы восстанавливаете диск на новый диск, вам необходимо установить загрузчик (GRUB).

Ниже приведены шаги из Ubuntu Wiki.

Резервное копирование с дд
В следующем примере будет создан образ диска /dev/sda , изображение будет скопировано на внешний диск и сжато. Например, можно использовать bzip2 для максимального сжатия:

Восстановление образа диска
Чтобы восстановить образ диска, нужно загрузить его в живую среду. Восстановление довольно просто, и на самом деле просто включает в себя изменение значений if и. Это скажет dd перезаписать диск данными, которые хранятся в файле. Убедитесь, что файл образа не сохранен на диске, который вы восстанавливаете. Если вы сделаете это, в конечном итоге во время операции dd перезапишет файл образа, повредив его и ваш диск.

Чтобы восстановить диск выше:

При восстановлении всего диска система не будет автоматически создавать устройства ( /dev/sda1 , /dev/sda2 , так далее.). Перезагрузитесь, чтобы обеспечить автоматическое обнаружение.

Если вы восстановили Ubuntu на новый диск, а UUID (см. Раздел "Использование UUID") изменились, то вы должны изменить загрузчик и точки монтирования. Каждый захочет отредактировать следующее через терминал:

Чтобы узнать новые UUID для ваших дисков, используйте следующую команду:

Из этого списка вы можете сопоставить информацию с информацией из fdisk, чтобы узнать, какой диск какой. Затем просто обновите UUID в файлах GRUB и fstab.

Читайте также: