IT аутсорсинг » Абонентское обслуживание » IT-сопровождение компаний » Восстановление данных » Восстановление файлов и разделов в Linux

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

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

Компания AIS — специалист в области обслуживания IT компаний в Петербурге предлагает услуги по восстановлению данных в среде операционных систем Linux на рабочих станциях и серверах. Также Вы можете воспользоваться услугами по обслуживанию рабочих компьютеров и серверов в полном объёме на условиях разового и договорного обслуживания. А в этой статье мы рассмотрим некоторые возможности и примеры по восстановлению файлов в Linux после удаления и в других подобных случаях. Так что в простых ситуациях Вы сможете самостоятельно восстановить утерянные файлы.

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

Всего бывает несколько случаев, при которых может потребоваться восстановление данных в Linux:

  • Ошибочные действия пользователей;
  • Логические ошибки;
  • Механические повреждения носителя;
  • Электрические проблемы.

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

Восстановление удалённых файлов в Linux

Предположим такую ситуацию, что у нас есть некая флешка с файлами отчётов по проделанной работе с клиентами в форматах: xls, xlsx, ods. По какой-то причине файлы оказались удалены с флешки, при этом раздел файловой системы остался целым. Что тогда делать?

Восстановление данных с флешки в Linux

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

Дано для примера:

  • Я записал на чистую флешку (4 Gb в FAT) 17 файлов отчётов;
  • Стёр все файлы;
  • И записал на их место один документ в формате odt (как бы случайно. Этого делать не стоит.)

Удастся ли восстановить все 17 файлов отчётов в такой ситуации?

Восстановление файлов с флешки в Linux

Программа восстановления данных для Linux — foremost после удаления

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

В Linux Ubuntu программу foremost можно скачать из официального репозитория, набрав в терминале:

sudo apt-get foremost

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

Следующее, что следует сделать — создать образ флешкарты.

Это чтобы не нанести ещё больший вред файловой системе на флешке, если возникнут какие-то сложности. Всегда работайте с копиями! У меня в настольной системе флешка монтируется автоматически. Но если можно избежать монтирования, лучше не монтировать флешку в систему. Это тоже увеличит шансы на восстановление.

Я узнал путь к флешке через панель Unity, набрав в поиске → Диски

Обычно флешки располагаются по адресу /dev/sdb

Чтобы создать копию флешки потребуется ввести в терминале команду:

sudo dd if=/dev/sdb of=mypendrive.img

Образ записываем в домашнюю папку (на любой другой диск кроме флешки).

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

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

Вместо root мы прописываем следующую информацию:

sudo chown user.group mypendrive.img

где user — имя пользователя, а group — группа.

Для образа созданного через программу управления дисками Ubuntu пользователя менять не потребуется.

Создадим директорию, в которую будем восстанавливать файлы в домашнем каталоге:

mkdir ~/recovery

Попробуем восстановить удалённые файлы отчётов с помощью программы foremost:

foremost -a -t all -i mypendrive.img -o recovery

Здесь мы указываем:

  • -a восстановить даже повреждённые файлы;
  • -t all все типы файлов;
  • -i mypendrive.img файл образа;
  • -o recovery директорию, в которую мы хотим поместить восстановленные файлы.

На самом деле есть более быстрые и удобные способы восстановления, но на практике они оказались недостижимы, потому что:

  1. Foremost поддерживает скудное количество определяемых форматов;
  2. Все файлы по какой-то причине оказались повреждены.

Результат поражает воображение!

Удалось восстановить все 17 файлов, однако при этом:

  • xlsx оказались в подкатологе recovery/xlsx;
  • xls — в подкаталоге recovery/ole;
  • ods — в подкаталоге recovery/zip.

Пришлось немного покопаться с форматами, давая правильные расширения файлам в папке ole.

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

Наконец, пришлось дать человеческие имена каждому файлу и в итоге восстановить все файлы в 100% объёме.

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

Таким образом мы восстановили файлы с образа флешки FAT в Linux. Точно таким же путём можно восстановить файлы непосредственно с устройства и в NTFS, ext4 и в других файловых систем через Linux.

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

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

Рассмотрим другой вариант. Допустим с нашей флешки или другого устройства случайно пропал логический раздел по вине пользователя или по причине какой-то ошибки.

Для примера:

  • Разобъём ту же флешку на три примерно равных раздела в ext3, ntfs и fat;
  • Записал на каждый раздел по пустому файлу;
  • А потом взял и удалил раздел ext3.

Что необходимо сделать, чтобы восстановить первый раздел вместе с файлом?

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

Программа восстановления данных разделов для Linux — testdisk

Мы качаем и устанавливаем программу:

sudo apt-get install testdisk

или иным подходящим образом.

Размонтируем нашу флешку.

Если предположить, что мы работаем с единственным hdd жёстким диском, а не с флешкой, то можно загрузиться с liveCD Ubuntu и размонтировать все разделы диска. Swap нужно размонтировать таким образом:

sudo swapoff -a

Запускаем testdisk от имени суперпользователя:

sudo testdisk

Лог файл можно не записывать.

Выбираем устройство с пропавшим разделом.

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

В большинстве случаев это — intel/PC

Мы увидим сразу разделы, которые на существуют в таблице файловых систем.

Проведём анализ устройства на предмет других файловых систем.

И вот он наш раздел Linux ext4.

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

Программа восстановления данных разделов для Linux — parted

Программа parted поставляется в базовом наборе софта Ubuntu. Так что качать нам ничего не нужно.

Запускаем программу parted

При этом указываем путь к размонтированному устройству хранения данных:

sudo parted /dev/sdb

Пишем:

rescue

Вводим начало и конец раздела в количестве блоков (можно примерно)

1 блок равен 512 кб по умолчанию.

Искомый раздел был расположен вначале, поэтому в начале — пишем: 0

Если у нас флешка на 4 Гб (примерно 4 000 000 000 байт), а раздел занимает треть флешки, что равняется 1 333 333 333 байт, то конечный блок должен находиться где-то в районе 2 604 166, округлим до 3 000 000

Enter и программа parted быстро находит удалённый раздел, который тут же предлагает восстановить.

Yes! Готово! Файлы на месте!

Что касается других способов восстановления данных, например восстановления MBR, то тут нужно рассматривать конкретные варианты, в зависимости от того, какие операционные системы были установлены на машине, grub или загрузочная запись Windows MBR отвечала за запуск операционных систем и вообще в каких целях требуется восстановление. Этот вариант мы рассматривать не будем, потому что это заняло бы слишком много места в рамках данной короткой статьи.

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

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

Звоните в СПб: +7 (812) 677-79-20