Я использую Ubuntu 12.10. Я собрал себе новое ядро и установил его. После установки я обновил grub. Проблема происходит здесь. Когда мой компьютер перезагружается, он не отображает экран GRUB для выбора старого / нового ядра или windows 7 (экран черный). Начинается только с нового ядра. Как я могу это исправить? У моего компьютера есть графическая карта: ASUS - Geforce GT430.
Попробуйте изменить значение GRUB_TIMEOUT, чтобы вызвать меню grub:
sudo gedit /etc/default/grub
и изменить
GRUB_TIMEOUT=0
на
GRUB_TIMEOUT=5
Сохранить и повторно -run update-grub
Я ничего не знаю о компиляции ядер, но мне кажется, что Grub установлен на скрытый тайм-аут . Вам следует проверить файл /etc/default/grub
, например, открыв редактор:
sudo gedit /etc/default/grub
и посмотрите, выглядят ли эти строки так же, как ваши:
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
Строки, касающиеся GRUB_HIDDEN_TIMEOUT
и GRUB_TIMEOUT
, должны быть одинаковыми. Если это не так, измените их соответствующим образом. #
перед GRUB_HIDDEN_TIMEOUT=0
гарантирует, что скрытый тайм-аут не используется, а GRUB_TIMEOUT=10
означает, что вы получаете 10-секундную задержку, прежде чем Grub загрузится до значения по умолчанию.
После того, как вы внесли изменения в файл Grub и сохранили его, вы запустили:
sudo update-grub
Чтобы убедиться, что изменения применяются. Когда вы сделаете это, вы должны вернуть меню Grub, чтобы вы могли выбрать ядро или ОС, которые вы хотите загрузить снова.
После того, как я сделал все эти шаги, я нашел это в терминале
grub-mkconfig: You must run this as root
, и это были все мои действия
ubuntu@ubuntu:~$ sudo gedit /etc/default/grub
ubuntu@ubuntu:~$ update-grub
grub-mkconfig: You must run this as root
ubuntu@ubuntu:~$ sudo gedit /etc/default/grub
ubuntu@ubuntu:~$ sudo update-grub
/usr/sbin/grub-probe: error: failed to get canonical path of /cow.
ubuntu@ubuntu:~$ ^C
ubuntu@ubuntu:~$ sudo update-grub
/usr/sbin/grub-probe: error: failed to get canonical path of /cow.
ubuntu@ubuntu:~$ sudo gedit /etc/default/grub
ubuntu@ubuntu:~$ update-grub
grub-mkconfig: You must run this as root
Упомянутое решение другого потока не совсем соответствовало этому вопросу пользователей, но я нашел решение там.
Это решило проблему для меня:
Выполнить: sudo update-grub
В моем случае это нашло новое ядро, но не записало файл menu.lst. Я вполне уверен, что это потому, что я выбрал опцию «не обновлять» при установке нового ядра, и grub не разрешалось обновлять файл, даже когда я выполняю свой update-grub.
Чтобы решить, что я переместил свой /boot/grub/menu.lst
в /boot/grub/menu.lst.old
(просто для сохранения), затем снова запустил sudo update-grub
, который записал файл и отражает новую версию ядра, которую я только что установил.
Надеюсь, это поможет ...