Grub2 запускается в командной строке после перезагрузки и не может найти /boot или /grub.

Вопрос или проблема

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

У меня была предустановлена Windows 10, и я установил двойную загрузку с Ubuntu 18.04. Мне нужно было увеличить пространство на диске C в Windows 10. Поэтому я следовал процессу, указанному по следующей ссылке:
https://www.diskpart.com/articles/increase-c-drive-space-5740.html

В конце требовалась перезагрузка моего ноутбука. После перезагрузки отобразился экран GRUB. Это кажется обычной проблемой. На самом деле я нашел много ответов на unix.stackexchange.com и askubuntu.com. Я следовал процессу, но застрял на полпути.

GRUB запускается в командной строке после перезагрузки

Как указано в ответах и во многих других, мне нужно было найти grub/ или boot/, но я не смог этого сделать. Также я не смог найти vmlinuz-4.4.0-38-generic или initrd.img-4.4.0-38-generic с соответствующей версией, следуя процессу.

Я также следовал https://www.linux.com/training-tutorials/how-rescue-non-booting-grub-2-linux/, который также предоставляет хорошую информацию.

Кажется, моя система находится в (hd0,gpt1).

Структура директории, показанная мне в GRUB, как ниже

(hd0,gpt1)/efi
Boot/ Microsoft/ ubutnu/

Boot/
bootx64.efi fbx64.efi

ubuntu/
grubx64.efi grub.cfg shimx64.efi mmx64.efi bootx64.csv

Таким образом, я не вижу grub/ или boot/, как требуется в большинстве ответов, вместо этого я вижу что-то другое.

Редактирование1: вывод команды cat (hd0,gpt1)/efi/ubuntu/grub.cfg и ls (hd0, показаны ниже
введите описание изображения здесь

Редактирование2: Спасибо telcoM. Я подготовил установочный USB с Ubuntu и использую функцию “Попробовать Ubuntu”. Я также установил testdisk. Но он показывает мне только один раздел жесткого диска, который соответствует моему USB на 32 ГБ.
введите описание изображения здесь

К сожалению, похоже, что вы могли уничтожить корневую файловую систему Ubuntu, используя AOMEI Partition Assistant. Возможно, он не смог идентифицировать разделы Linux и показал их как неизвестные/пустые разделы без буквы диска.

Тот факт, что мини grub.cfg в стиле Debian на ESP содержит настройку префикса:

set prefix=($root)'/boot/grub'

указывает, что /boot не была отдельной файловой системой; если бы это было так, префикс был бы установлен на $(root)'/grub' вместо этого.

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

Ваши существующие разделы, по-видимому, следующие:

  • (hd0,gpt1) – это системный раздел EFI, который используется для загрузки GRUB.
  • (hd0,gpt2) – по размеру (всего 16М), это, кажется, “зарезервированный Microsoft” раздел, который обычно создается Windows 10.
  • (hd0,gpt3) – размерами примерно 67 ГБ / 64 ГиБ, ваш диск C: в Windows, согласно вашим комментариям
  • (hd0,gpt4) – размерами примерно 200 ГБ / 191 ГиБ, ваш диск D: в Windows, согласно вашим комментариям
  • (hd0,gpt5) – размерами примерно 870М, содержимое неизвестно. Возможно, это раздел восстановления Windows?

В соответствии с размерами разделов и стартовыми местоположениями, есть разрыв около 220 ГиБ между (hd0,gpt3) и (hd0,gpt4). Здесь, вероятно, находился раздел Linux.

Таким образом, раздел Linux, кажется, утерян. Вам следует найти Linux Live CD (или другой подходящий загрузочный носитель), который содержит утилиту восстановления разделов, такую как testdisk, и посмотреть, удастся ли восстановить раздел Linux или его части.

Вот ссылка на список Live CD, которые содержат testdisk: https://www.cgsecurity.org/wiki/TestDisk_Livecd


Вы должны иметь возможность войти в Windows, введя это в приглашении GRUB:

chainloader /efi/Microsoft/boot/bootmgfw.efi

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

Если вы хотите отказаться от попыток восстановления Linux, переход к настройкам BIOS и перемещение “Диспетчер загрузки Windows” на первое место в порядке загрузки также должны постоянно восстановить возможность загружать только Windows.


Вам следует использовать другой компьютер для подготовки загрузочного Live CD (или другого живого загрузочного носителя, такого как флеш-накопитель) с testdisk или другим доступным средством восстановления.

Если вы знакомы с Ubuntu, вы можете использовать функциональность Live Ubuntu – возможно, вы подготовите установочный USB для Ubuntu и воспользуетесь его функцией “Попробовать Ubuntu”, затем просто используйте обычные инструменты управления пакетами для автоматической загрузки и установки testdisk в установку на базе RAM. В этом случае вам придется делать это каждый раз при загрузке с USB, чтобы инструмент был доступен.

Или вы можете использовать более длительную процедуру для создания живого USB с сохранением или сделать полную установку Ubuntu на USB; оба эти варианта должны позволить вам использовать стандартные инструменты управления пакетами, чтобы добавить testdisk и/или другие средства восстановления на USB перед возвращением к компьютеру с поврежденным разделом Linux, загрузкой его с флешки и попыткой восстановления.

Вам также понадобится второй флеш-накопитель или другой носитель для сохранения восстановленных файлов; хотя вы можете монтировать диск D: в Windows и использовать его для хранения восстановленных файлов, так как он, похоже, не пересекается с отсутствующим разделом.

Как только вы сможете загрузить компьютер с флешки и запустить testdisk на жестком диске компьютера (например, просто sudo testdisk /dev/sda или какое-либо другое имя устройства, которое получит жесткий диск), следующие шаги зависят от того, что он сообщит. В лучшем случае он сможет просто отменить то, что сделала AOMEI, и восстановить недостающий раздел.

AOMEI Partition Assistant, кажется, ориентирован только на пользователей Windows, так как он не поддерживает никакие типы разделов, кроме Windows. В будущем вы можете захотеть использовать gparted для изменения разбиения любого компьютера, на который установлена Linux.

Ответ или решение

Ваш вопрос о проблемах с загрузочным загрузчиком Grub2 после изменения разделов вызывает серьезные беспокойства, особенно при двойной загрузке Windows 10 и Ubuntu 18.04. Изменение разделов на жестком диске, скорее всего, привело к потере Linux-раздела. Давайте разберемся с этой ситуацией и предложим возможное решение.

Фон проблемы

Вы установили Windows 10 и Ubuntu 18.04 на одном компьютере, используя конфигурацию с двойной загрузкой. Для увеличения пространства на диске C: в Windows 10 вы воспользовались инструментарием, который, вероятно, не распознал Linux-разделы и мог их повредить или удалить. После перезагрузки вы столкнулись с командной строкой Grub2, что означает отсутствие корректной загрузочной конфигурации для Ubuntu.

Диагностика проблемы

  1. Потеря раздела Linux: После расширения диска C: ваш раздел с Ubuntu, вероятно, был удален или поврежден. Доказательством этого является отсутствие необходимых файлов и директорий (/boot, /grub) в командной строке Grub.

  2. Вывод Grub.cfg: Конфигурация Grub указывает, что нет отдельного файловой системы для /boot, что усложняет поиск загрузочных файлов, если основная файловая система повреждена.

Рекомендации по восстановлению

  1. Использование Live USB для восстановления:

    • Создание Live USB: Используйте другой компьютер для создания загрузочной флешки с Ubuntu Live или другим дистрибутивом, который поддерживает утилиту testdisk.
    • Запуск Ubuntu с USB: Загрузитесь с созданной флешки и выберите опцию "Try Ubuntu". Это позволит вам работать в RAM, не записывая ничего на жесткий диск, что важно для предотвращения потери данных.
  2. Восстановление разделов с помощью TestDisk:

    • Установите testdisk из Live-сессии Ubuntu.
    • Запустите testdisk и следуйте инструкциям, чтобы восстановить потерянный Linux-раздел. Это может потребовать ручной проверки и восстановления структуры разделов, в зависимости от степени повреждения.
  3. Обеспечение безопасного доступа к Windows:

    • Если вы хотите временно загрузиться в Windows, используйте команду chainloader /efi/Microsoft/boot/bootmgfw.efi в командной строке Grub для загрузки Windows Boot Manager.
    • Однако, до полного восстановления данных Linux, избегайте записи на диск.
  4. Рассмотрение альтернативных инструментов для управления разделами в будущем:

    • Для предотвращения подобных ситуаций в будущем используйте инструменты, такие как gparted, которые распознают Linux-разделы и безопасны для использования в системах с двойной загрузкой.

Заключение

Ошибки при управлении разделами жесткого диска могут привести к серьезным проблемам, особенно в системах с двойной загрузкой. Ваша основная цель должна быть в восстановлении доступности Linux-раздела с минимальными потерями данных. Следуйте рекомендациям по созданию Live USB и запуска восстановительных утилит, таких как testdisk, и избегайте записи на поврежденный диск до окончания всех восстановительных процедур.

Оцените материал
Добавить комментарий

Капча загружается...