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

Обновлено: 02.07.2024

Ситуация следующая. Есть винт на 160Гб. На нем 2 раздела — 40Гб и 120Гб. С целью установки убунты как второй системы была произведена разбивка 120Гб -> 100+10+2+8.

Далее, с целью отката изменений, были объединены диски (10, 2 и 8) обратно в один 20Гб и отформатирован в NTFS. В нагрузку к этому, были проведены операции с MBR, результатом которой явилась ее смерть.

Итоги

Дураку понятно, что это начало веселой ночи.
Далее, под катом, решения вопроса.

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

1.1. Parted magic

Данный LiveCD\USB дистрибутив, размером в 100Мб несет в себе огромную кучу софта, для работы с дисками. От разбивки, до восстановления.
Из них всех, нам нужны будут gpart, testdisk, fdisk и ms-sys.

1.2. Gpart

gpart — это утилита, сканирующая по-секторно диск на наличие разделов, которые присутствуют на носителе, но отсутствуют в таблице. В своей работе, она игнорирует уже существующую таблицу (если присутствует). Программа разаботана немецким программистом Michail Brzitwa и больше им не поддерживается. Вялотекущая разработка ведется командами Fedora и Debian. Текущая версия — 0.1h.

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

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

gpart -if /dev/sda

-i — интерактивный режим. На каждую найденную партицию будет задан вопрос, сохранять ее, либо пропустить.
-f — полный скан диска.

После, довольно продолжительного времени, будет создан отчет с возможными разделами. Его-то и нужно обязательно максимально внимательно просмотреть перед записью.
Пример отчета (не мой):

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

1.3. testdisk

Note: подробнее эта утилита описана в этом посте, здесь не буду повторяться.

Эта утилита аналогична предыдущей, но имеет ряд плюсов:
1. более свежая и активно поддерживается;
2. субъективно, работает намного быстрее;
3. функциональнее;
4. есть простой консольный интерфейс на базе ncurses.

Поехали!
1. в первом окне выбираем Create a new log file;
2. выбираем нужный диск (/dev/sda) -> Proceed;
3. отмечаем тип разделов как Intel;
4. выбираем Analyse current partition structure and search for lost partitions;
5. если найденные разделы верны, жмем Backup и переходим к пункту 6, есть возможность быстро пересканировать диск, если где-то ошибка (Quick search);
6. здесь уже виден зеленый список с разделами. Если ок, то записываем, иначе запускаем Deep search.;

В моем случае, результат был аналогичен результату gpart, что есть некорректен.
Запустив Deep search, выждав около 40 минут я получил ответ, от которого на душе так нехило отлегло.
Было найдено несколько партиций, которые накладывались одна на другую (это были изначальная (до манипуляций) 120Гб и новая, на 100Гб). Отметив ненужную, как удаленную, я записал таблицу на диск и перезагрузился. К счастью, все обошлось и компьютер вернулся к состоянию, который был изначально, а я мог с чистой совестью лечь спать.

3. Восстановление MBR

Для этой задачи, у нас в арсенале есть тулза ms-sys.
Сперва узнаем, что с нашей MBR.

ms-sys /dev/sda
/dev/sda has an x86 boot sector
it is unknown boot sector

Теперь видно, что на данном диске нет загрузочного сектора.
Утилита может работать с MBR различных операционных систем. Список можно получить, запустив программу без агрументов. В моем случае, необходим был от Windows 7.
Записываем MBR на диск:

ms-sys -7 /dev/sda
Windows 7 master boot record successfully written to /dev/sda

Проверяем:

ms-sys /dev/sda
it is Microsof 7 master boot record, like the one this
program creates with the switch -7 on a hard disk device.

Вот и все, нужная MBR установлена и можно перезагружаться.


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

Для начала.


Уничтожим таблицу разделов на жестком диске, удалив разделы в GParted.


Установка утилит.

Все утилиты, которые мы будем использовать, из Ubuntu репозитория Universe.


Нажмите Закрыть, в результате чего система попросит вас обновить список пакетов. После обновления списка зайдите в Менеджер управления пакетами Synaptic (Администрирование -> Менеджер пакетов Synaptic) и отметьте для установки следующие пакеты: testdisk, foremost и scalpel.

Testdisk включает в себя TestDisk, который может восстанавливать потерянные разделы и boot-сектора, и PhotoRec, который может восстановить большое количество типов файлов, с разделов с различными файловыми системами.


Foremost изначально разработанный ВВС США Управления специальных расследований, восстанавливает файлы на основе их заголовков и других внутренних структур. Прежде всего работает на жестких дисках или файлах образов дисков, созданных с помощью различных утилит.


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


Восстановление разделов на жестком диске.

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


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


Далее testdisk попросит вас уточнить тип таблицы раздела, который он будет пытаться восстановить. В большинстве случаев вам придется выбирать тип Intel, поскольку он соответствует файловым системам Ext2/3/4, NTFS, FAT32. После чего жмем Enter.


Выберите Analyse и жмем Enter.


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


Также он нашел те два раздела, которые мы только что удалили с помощью GParted (что описано в пункте Для начала). Мы в состоянии изменить их атрибуты, или добавить несколько разделов, но мы просто восстановим их, нажав Enter.


Если testdisk не нашел все разделы, вы можете попробовать выполнить глубокий поиск, выбрав соответствующую опцию клавишами с левой или правой стрелками. У нас были только эти два раздела, поэтому мы будем восстанавливать их, выбрав Write и нажимаем Enter.


Testdisk информирует нас что необходима перезагрузка.


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

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


Восстановление файлов определенных типов.

Для следующего примера мы удалили 10 картинок из каждого раздела и переформатировали их.

PhotoRec

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

Для запуска восстановления запустите Терминал и наберите в нем команду:

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


Также, как testdisk, PhotoRec попросит вас уточнить тип таблицы раздела, который он будет пытаться восстановить. В большинстве случаев вам придется выбирать тип Intel, поскольку он соответствует файловым системам Ext2/3/4, NTFS, FAT32. После чего жмем Enter.


Мы получили весь список разделов на выбранном жестком диске. Если вы хотите восстановить все файлы на этих разделах, то выберите Search и нажмите Enter.

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





Примечание: Не восстанавливайте файлы на жесткий диск с которого вы их восстанавливаете.


PhotoRec в состоянии восстановить 20 фотографий из разделов на нашем жестком диске!


Посмотрим на содержимое папки recup_dir.1, появление которой подтверждает, что PhotoRec восстановил все наши картинки, и сохранил их с ихними именами.


Foremost

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

Для того чтобы просмотреть весь список опций, которые имеет foremost, запустите Терминал и введите в нем следующую команду:

В нашем случаи мы будем использовать следующие командные опции:

Теперь наша команда будет иметь следующий вид:

sudo foremost –t jpeg,png,gif –o foremost –v –i /dev/sda

В вашем случаи эта команда будет иметь другой вид, в зависимости от того что вы ищите и где.


Foremost в состоянии восстановить 17 из 20 файлов, находящихся на жестком диске.


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


Это может быть частично из-за того, что восстанавливали с раздела на котором была файловая система ext2. Foremost рекомендует использовать опцию -d при восстановлении с Linux разделов с файловой системой ext2.

Теперь еще раз запустим foremost, но с добавлением опции -d в командной строке:

sudo foremost –t jpeg,png,gif –d –o foremost –v –i /dev/sda


В этом случаи foremost восстановил все 20 файлов.


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


Scalpel

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

sudo gedit /etc/scalpel/scalpel.conf



Сохраните файл и закройте его. Вернитесь в окно терминала.

Наша команда выглядит так:

sudo scalpel /dev/sda –o scalpel


Scalpel восстановил 18 из 20 файлов.


Если просмотреть восстановленные фалы, то можно сказать, что они были относительно нормально восстановлены, так как видны некоторые проблемы (на рисунке 00000012.jpg).


Заключение.

В нашем небольшом эксперименте нам удалось с помощью TestDisk восстановить два раздела на диске, с помощью PhotoRec мы восстановили все удаленные 20 картинок. Говоря о Scalpel, то можно сказать, что более тонкая настройка его с командной строки могла бы позволить нам восстановить все 20 картинок.

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

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 - тоже неплохой выбор. Освоив их, вы без затруднений сможете работать и с другими подобными инструментами.

Grub - это загрузчик, используемый для запуска системы в большинстве дистрибутивов Linux, в том числе и в Linux Mint. Повреждение загрузчика может быть вызвано различными причинами, например, установкой Windows, другого дистрибутива Linux или переразметкой диска, изменением размера и положения разделов на диске и так далее.

Восстановление Grub2 с помощью LiveCD

В этой статье мы рассмотрим, как выполняется восстановление Grub2 обоими способами. Начнем с более простого способа - с помощью LiveCD. Хотя и статья ориентирована на Linux Mint, но на самом деле подойдет абсолютно для любого дистрибутива, потому что во всех дистрибутивах загрузчик один и тот же, и команды такие же, только версии могут немного отличаться.

Начнем с того, что вам нужна LiveCD система, той же разрядности, что и ваша система Linux Mint, на которую был установлен Grub. Причем, неважно будет там графический интерфейс или нет. Обычно все необходимые инструменты поддерживаются всеми дистрибутивами. А нужны нам только утилиты fdisk, mount и chroot. Чтобы восстановить загрузчик grub2 просто следуйте описанным ниже шагам.

Шаг 1. Загрузка LiveCD

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


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

Шаг 2. Определение разделов

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

В выводе программы вы видите - разделы всех подключённых к компьютеру дисков, их размер, а также файловую систему. По этим данным вам и предстоит понять, какой раздел используется в качестве корня в вашей системе. Если вы делали разметку вручную, вам не составит труда понять где то, что нужно. Например, у меня корень - /dev/nvme0n1p5 - размером 37 гигабайт, а для загрузчика отдельный раздел не выделялся. Но обычно он тоже имеет файловую систему ext4 ил ext2, а размер до 500 мегабайт. В случае с обычным SSD или HDD диском имя раздела будет начинаться с /dev/sd*. Например: /dev/sda или /dev/sdb и так далее

Шаг 3. Монтирование файловой системы

Теперь вам предстоит смонтировать вашу корневую файловую систему в каталог /mnt:

mount /dev/nvme0n1p5 /mnt

Кроме того нужно смонтировать раздел boot. Например, если бы он у меня находился по адресу /dev/nvme0n1p1:

mount /dev/nvme0n1p1 /mnt/boot

Шаг 4. Подготовка к входу в систему

Чтобы восстановить загрузчик Linux мы будем использовать вашу основную систему Linux, запущенную на ядре от LiveCD. Такую возможность предоставляет команда chroot. Но перед тем, как ее использовать нужно вручную подключить к вашей корневой ФС, смонтированной в /mnt все необходимые файловые системы взаимодействия с ядром - /dev, /sys, /proc:

sudo mount --bind /dev /mnt/dev

sudo mount --bind /sys /mnt/sys

sudo mount --bind /proc /mnt/proc

Для входа в окружение вашей системы используйте команду:

chroot /mnt /bin/bash

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

Затем выполните эти команды для загрузки и обновления переменных профиля:

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

Шаг 6. Восстановление Grub2

Теперь восстановление Grub в Linux Mint. Просто выполните следующие команды. Первая, для переустановки загрузчика на жесткий диск:

sudo grub2-install /dev/sd*

Здесь /dev/sd* - имя вашего жесткого диска.

Теперь создадим новый конфигурационный файл:

sudo grub2-mkconfig -o /boot/grub/grub.cfg

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

Еще можно использовать команду:

Но она работает только в Ubuntu и основанных на ней дистрибутивах.

Шаг 7. Готово

Выйдите из окружения chroot командой:

И перезагрузите компьютер:

Теперь все работает.

Восстановление Grub2 без LiveCD

Все что вам потребуется - это знать на каком устройстве расположена система и само ядро Linux. Синтаксис и команды очень похожи на обычные команды bash, но немного отличаются по назначению. В начальном режиме восстановления доступны только несколько команд это ls, insmod, set и unset.

Чтобы посмотреть список подключенных к компьютеру дисков просто выполните:

(hd2,msdos1, hd2,msdos2, hd2,msdos3, hd2,msdos4)

Важно отметить, что в grub диски и разделы именуются немного по другому. Здесь каждый жесткий диск имеет название hd и номер диска, например, hd0 или hd1. Разделы именуются начиная с единицы.

Вы можете работать только с одним разделом в определенный момент. Чтобы установить раздел, с которым нужно работать, нужно указать его в переменной root. Для установки переменных окружения используется команда set. Например, у если у меня файлы загрузчика grub находятся на /dev/sdc2, то получится hd2,2:

Загрузим нормальную оболочку grub:

insmod ext2
insmod normal
normal

После этого можно найти и запустить ядро. Для этого используйте команду linux. Обычно ядро находится папке /boot:

И наконец загружаемся:

Теперь, когда система загрузится, вам останется только открыть терминал, и выполнить следующие команды, чтобы завершить восстановление загрузчика linux mint:

sudo grub2-install /dev/sd*

sudo grub2-mkconfig -o /boot/grub/grub.cfg

Где sd* - имя вашего диска, на котором установлена система. Обратите внимание, что нужно именно имя диска, а не раздела, никакие цифры добавлять не надо. Вот и все.

Восстановление в Boot Repair

Наверное самый простой способ восстановить загрузчик Grub - это использовать утилиту Boot Repair. Для её запуска вам понадобится LiveCD с Ubuntu или другим дистрибутивом. Сначала загрузитесь в Live среду, как описано в первом методе, затем добавьте PPA к системе:

sudo add-apt-repository -y ppa:yannubuntu/boot-repair

После этого установите утилиту:

sudo apt install boot-repair

Для запуска выполните:

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

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

После этого компьютер можно перезагружать и всё будет работать.

Выводы

Теперь восстановление загрузчика linux mint не вызовет у вас проблем в любых обстоятельствах, независимо от того, есть ли у вас диск с другим дистрибутивом или нет. Если остались вопросы, напишите в комментариях!

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