Вопрос или проблема
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.
-
Вход в GRUB Rescue:
Вы уже умеете использовать командыset
, чтобы правильно установитьroot
иprefix
, что является первым шагом. Команды, которые вы используете для загрузки Ubuntu из режима GRUB Rescue, правильные.set prefix=(hd0,gpt6)/boot/grub set root=(hd0,gpt6) insmod normal normal
-
Проверка UUID:
После успешной загрузки Ubuntu, выполните следующую команду, чтобы узнать UUID вашего корневого раздела:sudo blkid
Это позволит убедиться, что вы используете правильный UUID в конфигурационных файлах GRUB.
-
Редактирование конфигурации GRUB:
Не редактируйте напрямую файл/boot/grub/grub.cfg
, так как он генерируется автоматически. Вместо этого вам следует редактировать файл/etc/default/grub
для изменения параметров загрузки. Откройте файл в текстовом редакторе:sudo nano /etc/default/grub
Внесите следующие изменения, если это необходимо, явно указав параметры, такие как
GRUB_DEFAULT
,GRUB_TIMEOUT
, и другие:GRUB_DEFAULT=0 # Ваш выбор по умолчанию GRUB_TIMEOUT=10 # Время ожидания перед загрузкой
-
Обновление конфигурации GRUB:
После того, как вы внесли изменения, необходимо обновить конфигурацию GRUB. Выполните следующую команду:sudo update-grub
Эта команда автоматически сгенерирует новый файл
grub.cfg
, в котором будут учтены ваши изменения. -
Установка GRUB:
Если у вас возникли проблемы с установкой GRUB, убедитесь, что вы устанавливаете его на правильный диск. Обычно GRUB лучше устанавливать на MBR (Master Boot Record) или EFI (если вы используете UEFI). Например:sudo grub-install /dev/sda # или соответствующий диск
Важно: Не устанавливайте GRUB на раздел (как в вашем случае с /dev/sda6), он должен устанавливаться на основной диск.
-
Перезагрузка системы:
После всех изменений и обновлений конфигурации, перезагрузите вашу систему:sudo reboot
В итоге вы должны увидеть обновленное меню GRUB при следующей загрузке, и Ubuntu должна загружаться корректно. Если вы всё еще попадаете в GRUB Rescue, проверьте порядок загрузки в BIOS вашего компьютера, чтобы гарантировать, что диск с GRUB установлен в качестве загружаемого устройства.
Если у вас все еще возникают проблемы, рассмотрите возможность использования Live USB для загрузки системы и выполнения необходимых восстановительных операций.
Надеюсь, это поможет вам решить проблему и вернуть доступ к вашей системе Ubuntu!