执行命令序列时:
sudo update-grub
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-3.5.0-25-generic
Found kernel: /boot/vmlinuz-3.5.0-24-generic
Found kernel: /boot/vmlinuz-3.5.0-23-generic
Found kernel: /boot/vmlinuz-3.2.0-37-generic
Found kernel: /boot/memtest86+.bin
Updating /boot/grub/menu.lst ... done
uname -r
3.5.0-23-generic
sudo apt-get -V install linux-generic linux-image-generic linux-headers-generic
Reading package lists... Done
Building dependency tree
Reading state information... Done
linux-generic is already the newest version.
linux-headers-generic is already the newest version.
linux-image-generic is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
我正在学习 Linux 来复习我的知识,如果能得到帮助我将非常感激。
答案1
我不认为这些命令有任何问题。
要使用最新的内核,您需要重新启动。最新内核将是最新的,并默认选中。您可以从 grub(启动)菜单中选择其他、较旧的内核或其他操作系统。
最后一行,关于一个包没有被升级,几乎可以肯定地用以下方法修复:
sudo apt-get dist-upgrade
答案2
我有一个双启动系统,Ubuntu 和 Windows 7。我忘记了我在虚拟盒中安装了 Linux Mint Nadia 14 Meta;因为我的外部硬盘驱动器产生了 [errno 5] 输入/输出错误,它已经过时了,或者需要增加读/写开销。我没有时间解决该问题,所以我将虚拟机安装在我的内部硬盘驱动器上。
尝试您的命令后,它唤醒了我的记忆,sudo apt-get dist-upgrade,所以我启动了 Windows 7 并启动了 virtualbox。加载 Linux Mint 时执行...
uname -r
3.5.0-25-generic
我记得清理了 grub 并删除了 3.5.0-24-generic。我清理了 Ubuntu 中的 grub.cfg 和 menu.lst 并重新启动。此外,重新启动 Windows 7 并加载 Linux Mint 以查看它是否会加载,到目前为止没有问题。
最后我重新启动 Ubuntu,到目前为止没有发现任何问题。我不知道为什么我的 virtualbox 映像和 Ubuntu 之间存在关联;特别是,在启动过程中 grub 的高级选项中,它仅显示安装在 Ubuntu 中的当前内核....
找到内核:/boot/vmlinuz-3.5.0-23-generic
找到内核:/boot/vmlinuz-3.2.0-37-generic
找到内核:/boot/memtest86+.bin
感谢您及时回答,我非常感谢您的帮助。
答案3
通常,grub 选择运行较旧版本的内核而不是较新的内核是有充分理由的。无论如何,grub 很可能选择较旧的内核作为默认内核。您可以通过修改 来更改此设置/boot/grub/grub.cfg
。
我首先要用 来支持这一点sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.bak
。
然后找到默认行:sudo vim /boot/grub/grub.cfg +'/set\ default/'
将数值更改为您希望默认启动的内核所在的行,从 0 开始。您还可以将其设置为“旧版本”部分中的选项之一,方法是执行子菜单的数字,对于大多数系统通常为 2(第三行),然后执行>
该菜单中基于 0 的行。所以如果我想在旧版本菜单中启动第一个内核,该行将是set default="2>0"
希望对您有所帮助。但请记住,每次运行 update-grub 时此文件都会被覆盖,因此每次内核更新都需要进行此更改。