Как восстановить диск в линукс минт

Обновлено: 07.07.2024

В качестве примера будет использована система Ubuntu 18.04 LTS, но руководство актуально для любой системы, использующей Systemd как подсистему инициализации. Так же мы рассмотрим команды по восстановлению системы Ubuntu без ее переустановки.

Что такое режим восстановления в системах Linux?

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

Что такое аварийный режим?

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

Загрузка в режим восстановления в Ubuntu 18.04 LTS

Запустите установленную систему Ubuntu. Когда появится меню Grub, выберите первую запись и нажмите e для редактирования.


Если у вас не отобразилось меню Grub, то нужно нажать клавишу ESC сразу после исчезновения логотипа BIOS.

Найдите строку, начинающуюся со слова «linux», удалите значение «$vt_handoff» и в конце этой строки введите следующее значение (Чтобы быстрее достичь конца строки, просто нажмите CTRL + e или используйте клавишу END или стрелки LEFT / RIGHT на клавиатуре):


После того, как вы добавили вышеприведенное значение, нажмите сочетание клавиш CTRL + x или F10, чтобы загрузить систему в режим восстановления. Через несколько секунд вы попадете в режим восстановления (однопользовательский режим) в качестве пользователя root. Нажмите Enter.

Затем введите следующую команду для монтирования файловой системы root (/) в режим чтения / записи:


Загрузка в аварийный режим

Загрузка операционной системы Linux в аварийный режим аналогична описанному выше методу. Все, что вам нужно сделать, это заменить «systemd.unit= rescue.target» на «systemd.unit = emergency.target» при редактировании меню Grub.


После того, как вы добавили «systemd.unit=emergency.target», нажмите Ctrl + x или F10, чтобы продолжить загрузку в аварийный режим.

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


Переключение между режимами восстановления и аварийный режимом и наоборот

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

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


Режим восстановления Recovery mode в Linux

Еще одним режимом, которым можно воспользоваться для восстановления системы, является режим Recovery mode. Примечателен он тем, что содержит предустановленные утилиты для восстановления.

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

Затем из появившегося списка выбрать первое (верхнее) ядро с надписью (recovery mode).


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


Теперь вы знаете, что такое режим восстановления, аварийный режим и Recovery mode, а также как загрузиться в эти режимы в Ubuntu 18.04. Как я уже упоминал, приведенные здесь шаги будут работать во многих последних версиях Linux, в которых используется Systemd.

Как восстановить операционную систему Ubuntu без переустановки

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

На экране входа в систему воспользуйтесь комбинацией клавиш CTRL + ALT + F1 для переключения в виртуальную консоль tty1, возможно вам придется переключится на другую виртуальную консоль, в таком случае воспользуйтесь этой же комбинацией клавиш, но с F2 или F3 и т.д. И затем выполните следующие команды:


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

И обновить систему:

И перезагрузить систему:

Так же может помочь переустановка рабочего окружения. Для Ubuntu это будет следующая команда (не влияет на пользовательские данные):

Рекомендую периодически делать резервные копии системы и домашнего каталога пользователя, соответствующими инструментами. Например, для резервного копирования в среде Linux можно воспользоваться утилитой QT5-FSArchiver.

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

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

Немного теории

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

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

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

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

1. Safecopy

Safecopy - это довольно простой инструмент для восстановления данных, который просто копирует данные из одного места в другое. Утилита, как таковая, не восстанавливает отдельные файлы. Она просто позволяет скопировать данные из поврежденного устройства на нормальное.

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

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

sudo apt install safecopy

Здесь вы не восстановите удаленные файлы, но вы можете скопировать поврежденные данные. Например, для видео несколько повреждений не играют большой роли. Для запуска восстановления файлов в linux с раздела /dev/sda1 выполните:

sudo safecopy /dev/sda1 /home/files/

Все файлы, которые удастся скопировать будут в /home/files/.

2. TestDisk

Утилита может восстанавливать потерянные разделы, исправлять таблицу разделов GPT и MBR, делать резервные копии дисков, восстанавливать загрузочные записи, а главное восстанавливать удаленные файлы с файловых систем NTFS, FAT, exFAT и файловых систем семейства Ext. Также вы можете копировать файлы даже с удаленных разделов для тех же файловых систем.

Способ работы утилиты очень сильно отличается в зависимости от нужного действия. Здесь вас ждет псевдографический мастер, который проведет вас через все шаги. Установить testdisk можно так же само из официальных репозиториев. В Ubuntu используйте для этого команду:

sudo apt install testdisk

Поскольку тема нашей статьи - восстановление файлов linux, рассмотрим как это делается с помощью этой утилиты. Запустите программу:

На первом шаге мастера выберите Create New Log:

testdisk4

Дальше выберите диск, с которым будем работать:

testdisk3

Выберите таблицу разделов на диске:

testdisk5

Для работы с файловой системой выберите пункт Advanced:

testdisk1

Далее выберите раздел, затем команду list:

testdisk

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

testdisk2

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

3. PhotoRec

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

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

В утилиты есть несколько настроек. Вы можете указать расширения файлов, которые нужно найти, размер, дату изменения и так далее. Установить программу можно так же как и TestDisk - из официальных репозиториев.

Например, в Ubuntu выполните:

sudo apt install photorec

Что касается использования, то тут похожий на testdisk интерактивный интерфейс. Запустите утилиту командой:

Выберите диск, с которым нужно работать:

photorec

photorec1

Выберите файловую систему:

photorec2

Выберите способ сканирования (неразмеченное пространство/весь раздел) Затем выберите папку для сохранения результата:

photorec3

Дождитесь завершения процесса:

photorec4

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

Выводы

А какие ваши любимые утилиты для восстановления данных? Какими вы пользуетесь? Напишите в комментариях!

На десерт видео от Discovery о том, как работает жесткий диск:

В моем домашнем NAS внезапно отказал один из дисков. Это был единственный диск не в raid, данные на котором вроде как не важные (торренты, софт и т.д., все, что можно заново выкачать из инетрнета), поэтому диск не дублировался. Ничего критичного не произошло, но мне все равно стало жалко данные, поэтому я заменил диск, а этот отложил в сторонку, чтобы попытаться восстановить информацию. У меня это получилось, поэтому решил задокументировать результат, чтобы самому не забыть и с вами поделиться.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на . Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Введение

Симптомы поломки были следующие. Заметил, что пропал сетевой диск. Зашел на сервер и увидел, что диск не инициализирован. Таблица разделов пустая. При этом, диск работал нормально и SMART ошибок не показывал. Я сразу заподозрил, что проблема именно с таблицей разделов. Данные должны быть на месте.

Дополнительная важная информация - диск был в составе mdadm массива, состоящим из одного диска. LVM не использовался.

Я подключил сбойный диск в обычный системник. Сделал загрузочную флешку с Ubuntu Live CD и загрузился с нее. Настроил там сеть, стандартные репозитории.

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

Я давно знаю утилиту testdisk. С ее помощью мне уже удавалось восстанавливать данные в linux. Она есть в репозиториях ubuntu, так что я ее установил. Далее все было просто. К сожалению, скриншотов нет, так как делал все на отдельном системнике. Расскажу на словах, что сделал:

  1. Запустил утилиту. Она вывела список всех подключенных дисков. В моем случае диск был /dev/sda.
  2. Выбрал нужный диск, указал в выборе partition table types первый вариант - Intel.
  3. Запустил сканирование. Утилита нашла разделы, которые там были ранее. Я прикинул, вроде бы то, что и должно быть.
  4. Записал таблицу разделов на диск.

Далее через fdisk я увидел разделы диска sda, в том числе тот, что меня интересовал - Linux raid autodetect.

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

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

Восстановление mdadm массива

Установил в live систему mdadm:

Первым делом проверил суперблоки на восстановленном разделе:

Информация о mdadm массиве

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

mdadm: failed to add /dev/sda2 to /dev/md3: Invalid argument

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

md: sda2 does not have a valid v1.2 superblock, not importing!

Решение этой ошибки достаточно быстро нагуглилось.

mdadm --assemble --verbose /dev/md2 /dev/sda2 --update=devicesize

После этого массив нормально стартовал и cat /proc/mdstat показывал его состояние. Тут я думал, что мои мучения окончены и я сейчас получу свои данные. Но это тоже было еще не все.

Восстановление таблицы разделов на mdadm

Просто подмонтировать запущенный mdadm массив к системе не получилось.

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

К счастью, она нашла единственный раздел на диске и восстановила его. Таким образом у меня получилось устройство /dev/md2p1. Дальше я успешно смонтировал этот раздел в /mnt и получил доступ к данным. Они все были на месте.

В заключении я к этой же системе подмонтировал сетевой диск через cifs и начал копировать данные.

Заключение

Непонятной осталась причина сбоя, и это хуже всего. На вид все в порядке, но я теряю доступ к данным. Любой другой пользователь, не разбирающийся в linux, просто потерял бы данные, либо пришлось обращаться в специализированные фирмы по восстановлению информации, а это стоит дорого. И еще, как я понял, я точно так же мог потерять доступ и к массиву из нескольких дисков. К слову, потерпевший NAS это Synology, где под капотом обычный linux и mdadm, поэтому я понимал, как надо действовать. На этом же устройстве есть несколько массивов на много Tb и если бы кто-то из них сглючил, то было бы плохо.

Несколько моих статей по восстановлению загрузки linux после различных сбоев:

Как в Linux восстановить удаленные файлы [гид для новичков]

Статья расскажет о том, как в Linux с помощью инструмента командной строки Test Tool восстановить удаленные файлы. Это легкий в использовании инструмент, который практически любой сможет использовать в целях восстановления утерянных файлов в Ubuntu или иных дистрибутивах Linux.

Вы когда-нибудь были в ужасе? В ужасе от понимания того, что файлы стерты и даже из корзины. Зачастую за ужасом приходит следующая фаза — отрицание. Ее запускает мысль: “Я знаю, что где-то лежит копия”.

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

“Не беспокоится? — возразите вы, — Я только что стер единственную копию резюме!”

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

“Да, хорошо, — скажете вы, — мне легче от мысли, что резюме ‘существует’ в неком абстрактном месте. Но теперь меня беспокоит, что его нельзя открыть, отредактировать или распечатать. То есть все равно его будто нет. Очень помогло бы найти способ ‘разудалить’ файл. Ну и чтобы этот способ не требовал наличие исследовательской IT лаборатории”.

Правда, не беспокойтесь — лаборатории не понадобится. Боле того, если вы не боитесь примитивных графических интерфейсов, то это еще и весьма несложно провернуть. Я продемонстрирую вам, как использовать Test Disk для восстановления файлов.


Давайте приведу простой пример: я подключил флешку, загрузил на нее файлы и что-то удалил. Теперь, в моей системе есть возможность удаления файлов прямо с флешки, в обход корзины. Для этого надо на файле нажать правой кнопкой мыши и выбрать “delete”. Будет выведено предупреждение. После нажатия на кнопку “yes” все файлы будут удалены безвозвратно. По крайней мере так кажется.

Но теперь у меня нет этого ужасного чувства. И нет, это не потому что все по сценарию. Я знаю, что мне нужно всего лишь открыть терминал и написать “testdisk” и нажать “enter. И тут наступает один из этих “Linux моментов”. Если у вас нет данного инструмента, то он напишет, как его установить! Просто введите “sudo apt install testdisk”, нажмите “enter” и через 10 секунд он у вас.

Если вы предпочитаете видео, то можете посмотреть ролик с тем же руководством на YouTube канале FOSS:

Для начала установите инструмент TestDisk. Он есть в официальных репозиториях большинства Linux дистрибутивов. На Ubuntu и Linux дистрибутивах на базе Ubuntu вроде Linux Mint, elementary OS и т.п. для установки TestDisk вы можете использовать следующую команду:

sudo apt install testdisk

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

Несмотря на то, что в данном руководстве мы будем говорить о командах в Ubuntu, инструмент не ограничен данным дистрибутивом. Команды, указанные в данной статье, подойдут и в других дистрибутивах.

Запустите в терминале TestDisk с помощью данной команды:

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


Выберите 'Create a new log file'

Экран с дополнительными командами их подскажет. Также стоит отметить, что TestDisk 7.0 выделяет следующий логический шаг, но практически всегда правильно читать, что написано на экране, так как инструмент не умеет читать мысли. В любом случае, если TestDisk просто позволения создать log file, соглашайтесь — это полезно.

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


Иногда нужны права sudo

Выберите “sudo” и введите пароль. Нажмите “enter” и “enter” снова на следующем экране для того, чтобы создать log file.

В этот раз TestDisk отобразит все диски. С помощью стрелочек выберите нужный диск и нажмите “enter”:


Необходимо выбрать носитель, на котором мы ищем файлы

TestDisk снова выбрал верный вариант. Логично, так как простое устройство для хранения данных редко бывает разбитым. Снова жмем “enter”:


А вот теперь пора подумать. Если вы прочли первый экран (а я в этом не уверен), то наверняка поняли, что это не просто программа для восстановления удаленных файлов. Это мощная дисковая утилита. Но, если мы помним, чего делаем, то выбор не составит труда: мы не пытаемся починить диск, мы пытаемся его восстановить. Выбираем “Advanced” и жмем “enetr”:


Выбираем 'Advanced'

Снизу страницы находим “Undelete” и готовимся увидеть привидение!


Выбираем 'Undelete'

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


И снова, не забываем, что TestDisk многофункциональное средство. Большинство вариантов отвечает за работу с группами файлов. Нам же просто надо их вернуть! Жмем “c”.


Для копирования нажмите 'c' и так вы восстановите файлы

Счет 1-0 в нашу пользу. После нажатия на “c” появились варианты мест для сохранения. По дефолту файлы сохранятся в домашнюю директорию. По сути, это опять отличный вариант, так как навигация в TestDisk местами замороченная.

Во-первых, если вы не понимаете где оказались, для возврата жмите на “q”. Так вы не закроете программу и не потеряете прогресс. “q” ведет себя как кнопка “назад” в классических приложениях с графическим интерфейсом — будете постоянно жать “q”, в какой-то момент окажетесь на стартовом экране.

Во-вторых, чем меньше отвлекающих моментов, тем проще найти то, что ищешь. Иными словами, отключите все не нужные в процессе восстановления хранилища. В минималистичных окружениях простота — друг.

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

Что если диск отформатирован в LVM? Это мой случай. Подключенный LVM диск совсем не похож на обычную Linux ОП. Обычные файлы не появляются, а что-то вычленить не выходит. Это, на ряду с иными причинами, происходит из-за того что большинство файловых менеджеров Linux больше не умеют работать с файловыми системами ext.2

Так или иначе, после печального начала, у меня получилось найти и восстановить утраченные файлы. Отмечу, что в вышеописанном случае шаги будут немного другими. Вам возможно понадобиться использовать функцию “Analyze”. Она приведет диск к нужному состоянию и вам останется только потыкаться в поисках домашней директории. А еще файлы не будут отмеченными красным, ведь их не удаляли. Как только вы их найдете процедура копирования будет такой же.

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

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