由于内核升级错误,我进行了此设置:
GRUB_DEFAULT = 4
Run Code Online (Sandbox Code Playgroud)
在 /etc/default/grub
比我执行的
sudo setup-grub
Run Code Online (Sandbox Code Playgroud)
然而,它没有成功。我想要的版本是 4.2.0-16-generic,因为 4.2.0-18 和 4.2.0-17(实际上没有列出)不起作用。在列表中,4.2.0-16 是第 4 位。
当它不起作用时,我尝试了这个:
GRUB_DEFAULT = "Advanced options for Ubuntu>Ubuntu, with Linux 4.2.0-16-generic"
Run Code Online (Sandbox Code Playgroud)
和
sudo setup-grub
Run Code Online (Sandbox Code Playgroud)
但是,它仍然不起作用并打开了一个不起作用的内核版本。目前我只能通过 Ubuntu 的高级选项手动访问 4.2.0-16,但我希望它自动加载。你会推荐我什么解决方案?
的dpkg --list | grep linux-image输出:
ii linux-image-extra-4.2.0-16-generic 4.2.0-16.19 amd64 Linux kernel extra modules for version 4.2.0 on 64 bit x86 SMP
ii linux-image-extra-4.2.0-17-generic 4.2.0-17.21 amd64 Linux kernel extra modules for version 4.2.0 on 64 bit x86 SMP
ii linux-image-extra-4.2.0-18-generic 4.2.0-18.22 amd64 Linux kernel extra modules for version 4.2.0 on 64 bit x86 SMP
ii linux-image-generic 4.2.0.18.20 amd64 Generic Linux kernel image
Run Code Online (Sandbox Code Playgroud)
作为最后 4 个输出(仅适用于包含内核 4.2.0 的 Ubuntu 15.10)。
备份您当前的 grub。
sudo cp /etc/default/grub /etc/default/grub.bak
现在,打开文件。
sudo gedit /etc/default/grub
打开另一个终端并输入:
cat /boot/grub/grub.cfg | grep 4.2.0-16
你会看到这样一行:
menuentry 'Ubuntu, with Linux 4.2.0-16-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.2.0-18-generic-advanced-esx5367c-b4ug -19sd-v6j8-ty2hj01ui3kj' {........
复制这一行并粘贴它:
编辑自:
GRUB_DEFAULT ="gnulinux-4.2.0-16-generic-advanced-2e2221b2-b6c7-4553-815f-67afdc924a98"
编辑为:
GRUB_DEFAULT ="gnulinux-advanced-2e2221b2-b6c7-4553-815f-67afdc924a98>gnulinux-4.2.0-16-generic-advanced-2e2221b2-b6c7-4553-818dc24a98"
保存文件。
现在,输入命令:
sudo update-grub
您需要使用相应的IDsubmenu和menuentry线路。
注意“ Ubuntu 的高级选项”是一个submenu,您需要使用它的 ID。
跑 grep -E "^\\s*(menuentry|submenu) " /boot/grub/grub.cfg
例如,如果输出是:
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-7da0d9d5-45bc-40e4-b17e-18cff7a59b76' {
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-7da0d9d5-45bc-40e4-b17e-18cff7a59b76' {
menuentry 'Ubuntu, with Linux 4.4.0-140-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-140-generic-advanced-7da0d9d5-45bc-40e4-b17e-18cff7a59b76' {
menuentry 'Ubuntu, with Linux 4.4.0-140-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-140-generic-init-upstart-7da0d9d5-45bc-40e4-b17e-18cff7a59b76' {
menuentry 'Ubuntu, with Linux 4.4.0-140-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-140-generic-recovery-7da0d9d5-45bc-40e4-b17e-18cff7a59b76' {
menuentry 'Ubuntu, with Linux 4.4.0-101-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-101-generic-advanced-7da0d9d5-45bc-40e4-b17e-18cff7a59b76' {
menuentry 'Ubuntu, with Linux 4.4.0-101-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-101-generic-init-upstart-7da0d9d5-45bc-40e4-b17e-18cff7a59b76' {
menuentry 'Ubuntu, with Linux 4.4.0-101-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-101-generic-recovery-7da0d9d5-45bc-40e4-b17e-18cff7a59b76' {
menuentry 'Memory test (memtest86+)' {
menuentry 'Memory test (memtest86+, serial console 115200)' {
Run Code Online (Sandbox Code Playgroud)
正确的设置是:
GRUB_DEFAULT="gnulinux-advanced-7da0d9d5-45bc-40e4-b17e-18cff7a59b76>gnulinux-4.4.0-101-generic-advanced-7da0d9d5-45bc-40e4-b17e-18cff7a59b76"
请注意,您也可以使用基于 0 的编号,但请务必考虑子菜单条目:
GRUB_DEFAULT="1>3"
update-grub最后别忘了跑。
| 归档时间: |
|
| 查看次数: |
5205 次 |
| 最近记录: |