Вопрос или проблема
Примечание: прочтите вопрос, прежде чем отмечать его как дубликат. Он отличается. Я нигде не смог найти ответ на этот вопрос.
У меня была предустановлена 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.
Диагностика проблемы
-
Потеря раздела Linux: После расширения диска C: ваш раздел с Ubuntu, вероятно, был удален или поврежден. Доказательством этого является отсутствие необходимых файлов и директорий (/boot, /grub) в командной строке Grub.
-
Вывод Grub.cfg: Конфигурация Grub указывает, что нет отдельного файловой системы для /boot, что усложняет поиск загрузочных файлов, если основная файловая система повреждена.
Рекомендации по восстановлению
-
Использование Live USB для восстановления:
- Создание Live USB: Используйте другой компьютер для создания загрузочной флешки с Ubuntu Live или другим дистрибутивом, который поддерживает утилиту
testdisk
. - Запуск Ubuntu с USB: Загрузитесь с созданной флешки и выберите опцию "Try Ubuntu". Это позволит вам работать в RAM, не записывая ничего на жесткий диск, что важно для предотвращения потери данных.
- Создание Live USB: Используйте другой компьютер для создания загрузочной флешки с Ubuntu Live или другим дистрибутивом, который поддерживает утилиту
-
Восстановление разделов с помощью TestDisk:
- Установите
testdisk
из Live-сессии Ubuntu. - Запустите
testdisk
и следуйте инструкциям, чтобы восстановить потерянный Linux-раздел. Это может потребовать ручной проверки и восстановления структуры разделов, в зависимости от степени повреждения.
- Установите
-
Обеспечение безопасного доступа к Windows:
- Если вы хотите временно загрузиться в Windows, используйте команду
chainloader /efi/Microsoft/boot/bootmgfw.efi
в командной строке Grub для загрузки Windows Boot Manager. - Однако, до полного восстановления данных Linux, избегайте записи на диск.
- Если вы хотите временно загрузиться в Windows, используйте команду
-
Рассмотрение альтернативных инструментов для управления разделами в будущем:
- Для предотвращения подобных ситуаций в будущем используйте инструменты, такие как
gparted
, которые распознают Linux-разделы и безопасны для использования в системах с двойной загрузкой.
- Для предотвращения подобных ситуаций в будущем используйте инструменты, такие как
Заключение
Ошибки при управлении разделами жесткого диска могут привести к серьезным проблемам, особенно в системах с двойной загрузкой. Ваша основная цель должна быть в восстановлении доступности Linux-раздела с минимальными потерями данных. Следуйте рекомендациям по созданию Live USB и запуска восстановительных утилит, таких как testdisk
, и избегайте записи на поврежденный диск до окончания всех восстановительных процедур.