最近,我按照以下步骤编译并安装了内核版本 4.2.3。
$ wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.2.3.tar.gz
$ tar xzvf linux-4.2.3.tar.gz
$ cd linux-4.2.3
$ make menuconfig
Then after saving the default configuration shown in menuconfig,
$ make
$ make modules_install
$ make install
完成上述步骤后,我可以看到以下变化:
vmlinuz-4.2.3
(连同其他一些文件)被添加到/boot/
目录中。
grub
已更新 。
现在,我重启了电脑,令人惊讶的是,电脑启动起来没有任何问题。下面是现在的系统信息。
$ uname -a
Linux myMachine 4.2.3 #1 SMP Fri Oct 16 20:45:01 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
$ uname -r
4.2.3
$ cat /proc/version
Linux version 4.2.3 (sps@myMachine) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04) ) #1 SMP Fri Oct 16 20:45:01 EDT 2015
$
因此看起来新内核(4.2.3)正在我的系统中运行(如果我需要检查任何其他命令(除uname
或之外cat /proc/version
)以确保正在运行的内核,请告诉我)。
现在这是我的问题: - 我不知道如果我继续使用这个内核,以后会遇到什么问题。
所以我想恢复并重新开始使用以前的内核。我该怎么做?
我仍然可以在和中看到旧的vmlinuz-3.19*
(和其他的3.19*
)文件。但我不知道如何再次开始使用旧内核?/boot/
boot/grub/grub.cfg
如果我可以在启动时选择内核的话就会获得额外的奖励。
答案1
好吧,你没有打包你的内核,这会让事情变得有点困难。首先,你需要删除以下文件:
- /启动/vmlinuz内核版本
- /启动/initrd内核版本
- /boot/系统地图内核版本
- /启动/配置-内核版本
- /lib/模块/内核版本
已删除已编译的 Linux。现在,您应该能够运行,update-grub
并且希望它不会找到与旧内核相关的任何内容。查看输出并查看您编译的内核是否在其中。
如果您想要选择启动时使用的内核,则必须将 GRUB 设置为在打开计算机时显示。以 root 身份打开您最喜欢的文本编辑器并编辑 GRUB 的配置文件,该文件位于/etc/default/grub
。您会发现一行写着GRUB_TIMEOUT
。此设置表示您希望 GRUB 显示多少秒。它可能设置为 0,这就是问题所在。将其设置为 5 秒之类的值,方法是将 0 改为 5。此外,如果您看到一行写着GRUB_HIDDEN_TIMEOUT
和/或 之类的内容hiddenmenu
,请将它们从文件中全部删除。保存并退出,并确保运行update-grub
。您应该能够重新启动并看到 GRUB。如果没有,GRUB 的配置文件中还有一些其他设置需要您使用。您可以选择 Ubuntu 使用默认内核,也可以转到“Ubuntu 的高级选项”来选择内核并访问任何给定内核的恢复模式。