Ubuntu 12.04 и Mac OS X – Сделать постоянными команды SET в подсказке GRUB Rescue?

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

Ubuntu 12.04 и Mac OS X – Сделать постоянными команды SET в подсказке GRUB Rescue?

Я недавно переустановил свою раздел Mac OS X. Это, похоже, каким-то образом нарушило всю мою схему разделов.

Сначала при попытке загрузки Ubuntu я попал в командную строку Grub rescue>. Я никогда раньше этого не видел, и команда help не распознавалась, поэтому я начал гуглить. В итоге я прочитал большинство документации по восстановлению grub.

Мне удалось загрузиться, используя команду set для установки переменных root и prefix, затем загрузил плагин нормального режима и запустил его. Это представило мне обычное меню загрузки grub, и я без проблем загрузил Ubuntu. Как также указывается в документации, эти изменения не являются постоянными, и мне нужно отредактировать /boot/grub/grub.cfg – более конкретно, указано, что я должен убедиться в переменных search, linux и intrd.

Моя проблема заключается в том, что после попытки редактирования этого файла моя установка Ubuntu не удается для перезагрузки. После некоторого ожидания мне пришлось выключить его жестким способом. Когда я снова пытаюсь загрузиться, я снова попадаю в командную строку grub rescue>…

Итак, чтобы загрузить Ubuntu, я использую следующие команды:

set prefix=(hd0,gpt6)/boot/grub
set root=(hd0,gpt6)
insmod normal
normal -> select ubuntu

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

ИЗМЕНЕНИЕ: УДАЛЕНЫЕ СТРОКИ, ЧТОБЫ СДЕЛАТЬ ИЗМЕНЕННЫЕ СТРОКИ БОЛЕЕ ЧИТАЕМЫМИ!

Неотредактированная запись:

set root="(hd0,gpt6)"
search --no-floppy --fs-uuid --set=root ebba50e2-d298-4764-afb5-463c47532158
linux   /boot/vmlinuz-3.2.0-23-generic root=UUID=ebba50e2-d298-4764-afb5-463c47532158 ro acpi_backlight=vendor acpi_osi=Linux  quiet splash pcie_aspm=force $vt_handoff
    initrd  /boot/initrd.img-3.2.0-23-generic

Отредактированная запись:

set root="(hd0,gpt6)"
search --no-floppy --fs-uuid --set=root ebba50e2-d298-4764-afb5-463c47532158
echo    'Загрузка Linux 3.0.0-14-generic ...'
linux   /boot/vmlinuz-3.0.0-14-generic root=/dev/sda6 ro acpi_backlight=vendor acpi_osi=Linux
echo    'Загрузка начального RAM-диска ...'
initrd  /boot/initrd.img-3.0.0-14-generic

Я думаю, что правильно отредактировал последний раздел (вход в меню восстановления Ubuntu). Первая запись выглядит (обычный режим Ubuntu), как если бы сам файл grub.cfg хотел, чтобы она выглядела? что верно? Теперь мой вопрос: правильна ли эта замена? – И придется ли мне делать то же самое для каждой записи меню? 😉

ПС. после того, как это не сработало, я попробовал sudo grub-install /dev/sda6 – но получаю ошибку, что это раздел, и встраивание не поддерживается – это информация для новичков, поскольку я пока не исследовал эту часть достаточно, просто думал, что это может дать какую-то полезную информацию..

У меня была похожая проблема, когда я установил Ubuntu поверх Kubuntu. Я закончил установку и запустил компьютер, и БУМ, у меня больше не было меню для выбора ОС, только командная строка восстановления. Я начал экспериментировать и обнаружил, что решение для меня оказалось простым:

Мне просто нужно было установить другой жесткий диск для загрузки. Это, вероятно, не применимо, если вы используете только один жесткий диск. Как-то так, когда я установил Ubuntu, загрузчик либо переместился, либо изменились настройки BIOS, но мне нужно было изменить порядок загрузки, чтобы снова увидеть свое меню. После этого я теперь вижу свое меню grub.

Надеюсь, это поможет!

Вы установили root=, так что это хорошо!
Единственный способ нормально загрузиться сейчас – использовать UUID диска.
Чтобы получить его –
grub> ls -l (hd0,gpt6)
Запомните или запишите UUID. Вам придется ввести его вручную на следующем шаге.
grub> linux /boot/vmlinuz〈…tab здесь!…〉.efi.signed root=UUID=〈UUID выше〉
Примечание: Консоль GRUB может делать автозавершение, поэтому если вы просто наберете часть vmlinuz и нажмете tab, а затем нажмете . и снова tab, вам не придется вводить все имя файла. убедитесь, что часть efi.signed присутствует.
Теперь установите начальный RAM-диск
grub> initrd /boot/initrd〈…tab здесь!…〉
Вы должны смочь загрузиться с помощью команды
grub> boot
Это перезагрузит и приведет вас к экрану входа, как если бы у вас была идеальная установка и перезагрузка. Если у вас есть интернет-соединение, вы можете обновить систему на этом этапе но не перезагружайте, пока не исправите grub.
Убедитесь, что используете команду sudo nano /etc/default/grub (или используйте vi или gedit, что уже установлено) и не редактируйте файл grub.cfg напрямую.
Выполните update-grub, затем вы можете перезагрузить.

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

Ответ на вопрос о GRUB Rescue и Ubuntu 12.04 на Mac OS X

Проблема, с которой вы столкнулись, возникает из-за неправильной конфигурации GRUB после переустановки Mac OS X. Давайте рассмотрим шаги, которые помогут вам сделать изменения, внесенные в GRUB, постоянными и устранить проблему с загрузкой Ubuntu.

  1. Вход в GRUB Rescue:
    Вы уже умеете использовать команды set, чтобы правильно установить root и prefix, что является первым шагом. Команды, которые вы используете для загрузки Ubuntu из режима GRUB Rescue, правильные.

    set prefix=(hd0,gpt6)/boot/grub
    set root=(hd0,gpt6)
    insmod normal
    normal
  2. Проверка UUID:
    После успешной загрузки Ubuntu, выполните следующую команду, чтобы узнать UUID вашего корневого раздела:

    sudo blkid

    Это позволит убедиться, что вы используете правильный UUID в конфигурационных файлах GRUB.

  3. Редактирование конфигурации GRUB:
    Не редактируйте напрямую файл /boot/grub/grub.cfg, так как он генерируется автоматически. Вместо этого вам следует редактировать файл /etc/default/grub для изменения параметров загрузки. Откройте файл в текстовом редакторе:

    sudo nano /etc/default/grub

    Внесите следующие изменения, если это необходимо, явно указав параметры, такие как GRUB_DEFAULT, GRUB_TIMEOUT, и другие:

    GRUB_DEFAULT=0  # Ваш выбор по умолчанию
    GRUB_TIMEOUT=10  # Время ожидания перед загрузкой
  4. Обновление конфигурации GRUB:
    После того, как вы внесли изменения, необходимо обновить конфигурацию GRUB. Выполните следующую команду:

    sudo update-grub

    Эта команда автоматически сгенерирует новый файл grub.cfg, в котором будут учтены ваши изменения.

  5. Установка GRUB:
    Если у вас возникли проблемы с установкой GRUB, убедитесь, что вы устанавливаете его на правильный диск. Обычно GRUB лучше устанавливать на MBR (Master Boot Record) или EFI (если вы используете UEFI). Например:

    sudo grub-install /dev/sda  # или соответствующий диск

    Важно: Не устанавливайте GRUB на раздел (как в вашем случае с /dev/sda6), он должен устанавливаться на основной диск.

  6. Перезагрузка системы:
    После всех изменений и обновлений конфигурации, перезагрузите вашу систему:

    sudo reboot

В итоге вы должны увидеть обновленное меню GRUB при следующей загрузке, и Ubuntu должна загружаться корректно. Если вы всё еще попадаете в GRUB Rescue, проверьте порядок загрузки в BIOS вашего компьютера, чтобы гарантировать, что диск с GRUB установлен в качестве загружаемого устройства.

Если у вас все еще возникают проблемы, рассмотрите возможность использования Live USB для загрузки системы и выполнения необходимых восстановительных операций.

Надеюсь, это поможет вам решить проблему и вернуть доступ к вашей системе Ubuntu!

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

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