Grub отображает консоль вместо меню
Всем привет! Установил на компьютер (не на свой, а на другой) поверх Windows 8 Ubuntu 12.04 LTS. При включении компьютера вместо меню grub’а с выбором линукса и винды отображается консоль grub’а. Выглядит она так:
GNU GRUB version 1.99-21ubuntu3.14 Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists possible device or file completions. grub>
Что мне делать? Как сделать нормальную менюшку? Как зайти в ОС?
P.S. Что интересно, при команде ls / отображает только efi/. А при ls efi/ — ./../Microsoft/Boot/toshiba/ubuntu. WTF?

ching0n
17.02.14 07:03:08 MSK

А grub в этой версии бубунты умеет UEFI? Возможно, дистр поновее надо. Ну или руками в инсталляторе выбрать версию grub с поддержкой UEFI(не знаю, возможно ли такое в бубунте, в дебиане такая возможность есть).
shell-script ★★★★★
( 17.02.14 07:17:23 MSK )
Ответ на: комментарий от shell-script 17.02.14 07:17:23 MSK

Спасибо за совет! Специально установил 12.10, потому что в 13.10 много косяков. Видимо придется переустанавливать.
P.S. Может, кто-нибудь что-нибудь другое напишет помимо этого?
ching0n
( 18.02.14 00:13:15 MSK ) автор топика
Ответ на: комментарий от ching0n 18.02.14 00:13:15 MSK

Обнови только груб.
ziemin ★★
( 18.02.14 00:22:15 MSK )
Ответ на: комментарий от ziemin 18.02.14 00:22:15 MSK

для этого нужно зайти с livecd, но как, если отображается лишь только консоль grub? В восьмой винде в биос зайти невозможно через del
ching0n
( 18.02.14 02:27:45 MSK ) автор топика

Новый вопрос: 1) как через консоль grub’а зайти в ОС (в Windows зайти не спрашиваю, потому что у меня гр*баный Secure Boot включен) или 2) как зайти в BIOS через grub (для тех кто в танке: на компьютерах с предустановленным Windows 8 невозможно зайти в BIOS при включении компьютера. Только через «Дополнительные настройки ПО» внутри самой винды)?
ching0n
( 18.02.14 05:41:24 MSK ) автор топика

Ура! Я смог наконец-то зайти через LiveCD! Что мне теперь писать в консоли линукса?
ching0n
( 19.02.14 01:57:00 MSK ) автор топика
Ответ на: комментарий от ching0n 19.02.14 01:57:00 MSK
sudo -s mkdir /target mount /dev/sdaN /target #N заменить на фактическое значение для твоего раздела с убунтой mount --rbind /proc /target/proc mount --rbind /dev /target/dev mount --rbind /sys /target/sys chroot /target
С этого момента команды выполняются внутри установленной системы. Я бы порекомендовал установить grub-efi, а затем
grub-install /dev/sda update-grub2
yurikoles ★★★
( 19.02.14 02:40:59 MSK )
Последнее исправление: yurikoles 19.02.14 02:41:13 MSK (всего исправлений: 1)
Ответ на: комментарий от yurikoles 19.02.14 02:40:59 MSK

Я бы порекомендовал установить grub-efi[\quote] Я вас немножко не понял, как установить этот самый grub-efi? Или вы имели ввиду сделать то, что ниже этого текста?
ching0n
( 19.02.14 03:05:00 MSK ) автор топика
Ответ на: комментарий от yurikoles 19.02.14 02:40:59 MSK

Сделал всё по вашей инструкции (grub-efi через центр приложений установил), но всё тоже.
Быть может стоит переустановить Ubuntu? На более новую версию.
ching0n
( 19.02.14 04:29:12 MSK ) автор топика
17 января 2015 г.
Ответ на: комментарий от ching0n 19.02.14 01:57:00 MSK
Как Вы зашли в liveSD?
anonymous
( 17.01.15 17:07:14 MSK )
Ответ на: комментарий от shell-script 17.02.14 07:17:23 MSK

А grub в этой версии бубунты умеет UEFI? Возможно, дистр поновее надо.
UEFI тут вероятнее всего не причём.
из «скриншота» видно что начальная стадия загрузки GRUB уже прошла (то есть — GRUB смог успешно получить управление в свои руки!).
вот только конфиг и модули — не загрузились (возможно поменялся нормел раздела? раздел удалился? или ещё какая-то фигня произошла?).
в этой ситуации можно было бы прям из этого GRUB-Minimal-Shell:
1. посмотреть переменные окружения. команда «set».
2. потом посмотреть какие файлы лежат на каком разделе, команды «ls» и «cd» — наверняка сработают.
3. подправить переменные окружения (в соответствии с увиденной реальной картиной из пункта 2). команда «set BLAHBLABLAH=BLABLA».
4. далее: команды «insmod normal» и «normal» — продолжат загрузку, загрузятся конфиг и модули. (в успешном случае — покажется нормальное меню GRUB, ну или пойдёт загрузка операционной системы)
user_id_68054 ★★★★★
( 17.01.15 17:16:53 MSK )
Последнее исправление: user_id_68054 17.01.15 17:22:51 MSK (всего исправлений: 6)
Ответ на: комментарий от ching0n 19.02.14 04:29:12 MSK

sudo -s mkdir /target mount /dev/sdaN /target #N заменить на фактическое значение для твоего раздела с убунтой grub-mkconfig -o /target/boot/grub/grub.cfg
с liveCD, конечно
Dred ★★★★★
( 17.01.15 17:33:20 MSK )
Последнее исправление: Dred 17.01.15 17:33:36 MSK (всего исправлений: 1)
Как выйти GNU GRUB и отключить ноутбук

Как выйти GNU GRUB и отключить ноутбук
Голосование за лучший ответ
нужно выбрать опцию «Выключить» или «Shutdown» с помощью стрелок на клавиатуре и нажать Enter.
Побаловался?
anime_5323 . Ученик (80) 9 месяцев назад
Да я вышел из GNU GRUB
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.
compizomania

Думаю не ошибусь, если скажу, что практически у каждого линуксоида на жёстком диске компьютера установлено две или более систем, которые отображаются в GRUB во время включения компьютера. У меня, например, их четыре. И несмотря на то, что в GRUB отводится время для выбора системы 10 секунд, нас кто-то отвлёк в это время, либо мы сами ошибочно выбрали не ту систему в GRUB, нажали Enter и началась инициализация, т.е. загрузка системы.

Что сделать, как быть в данном случае, чтобы не дожидаться полной загрузки системы, а затем вновь сделать перезагрузку?
Оказывается есть очень простой вариант для возврата в GRUB после ошибочно выбранной системы.
Во время уже начавшейся инициализации системы, нажмите одновременно на клавиатуре сочетание клавиш Ctrl+Alt+Delete и вы вновь оказываетесь в GRUB для выбора и загрузки нужной системы.
Загрузка операционной системы из командной строки Grub
У меня на домашнем компьютере стоит две операционные системы, Windows 7 и Linux (Arch). Причем вторая появилась относительно недавно. Да и особых знаний о новой (для меня) ОС не было. Тем не менее систему я поставил и даже относительно настроил под себя. Энтузиазм и программерское любопытство меня пересиливало, поэтому, в качестве ознакомления, стал экспериментировать с различного рода пакетами. К сожалению, не всегда вчитываясь в детали.
Решил я переставить Grub, а точнее обновиться до Grub2. (Слышал я такое мнение, что в духе Linux принято держать последнюю версию пакета… Про изменения Grub2 хорошо написано тут.)
Ну и как результат «спешной» установки — перестала грузиться система. Единственное за что можно было зацепиться — это приглашение командной строки:
По нажатию на Tab вываливается список возможных команд. Их существенно меньше чем в командной строке Linux, но их достаточно для загрузки системы. Почитав про grub тут я решил загрузить Windows, все-таки тут я пока себя чувствую увереннее. Для этого нужно было указать где находиться загрузчик ОС и передать ему управление:
grub> root (hd0,2) [Устанавливаем корневой раздел и монтируем. Тут главное помнить, на каком разделе стоит операционная система]
Запись (hd0,2) означает устройство диска номер 0 (мастер), раздел номер 2.
что соответствует устройству /dev/sda2 (в моем случае). У вас это может быть или /dev/hd2, или еще что-нибудь, в зависимости от дистрибутива. Нумерация устройств идет по-порядку и начинается с (hd0,1) или /dev/sda1.
Далее вводим:
grub> chainloader +1 [пробел перед «+» важен. сhainloader — передает управление загрузкой по цепочке другому загрузчику. В моем случае это был NTLDR]
grub> boot
NTLDR — это загрузчик Windows.
Система стала грузиться, а раз это дало результат — можно копаться дальше (все-таки не Windows теперь предмет изучений).
Перезагружаемся и вводим снова.
grub> root (hd0,6)
grub> linux /boot/vmlinuz26 root=/dev/sda6 [Загружает указанное linux-ядро (/boot/vmlinuz26) с параметрами(root=/dev/sda6)]
Тут стоит различать команду root (hd0,6) и параметр root=/dev/sda6. Первое монтирует раздел к среде выполнения. А второе указывает где находиться root загружаемой ОС. В моем случае ядро и корень оказались на одном разделе, хотя это может быть не так.
grub> initrd /boot/kernel26.img [Загружает указанный initrd-образ]
grub> boot
- для загрузки Windows вместо root (h d0,2) надо набирать rootnoverify (hd0,1). Нумерация устройств начинается с (hd0,0), а не (hd0,1). А командой rootnoverify вы устанавите корневое устройство, но не смонтируете его.
- для загрузки Linux поменяется другая команда: вместо linux вам понадобится команда kernel (полный аналог, даже параметры теже).
UPD: дописал про отличия загрузки с grub от grub2. Спасибо bliznezz