首页>>帮助中心>> 香港服务器服务器重启失败?教你如何让 Ubuntu 记住正确的内核启动!

香港服务器服务器重启失败?教你如何让 Ubuntu 记住正确的内核启动!

2025/9/25 8次
 香港服务器服务器重启失败?教你如何让 Ubuntu 记住正确的内核启动!


 服务器重启后无法正常启动,排查后发现是默认加载的内核有问题。手动选择某个内核可以进入系统,但每次重启后,系统仍然尝试使用故障内核,导致无法自动进入正确的环境。

 网上很多方法建议直接修改 /etc/default/grub,但如果操作失误,可能会让系统无法启动。因此,我找到了一个更安全、更简单的方法,让 Ubuntu 自动记住上次成功启动的内核,避免每次都要手动选择。

 1. 先确认当前系统使用的内核

 在更改默认内核之前,先确认当前正在运行的内核版本:

 uname -r

 示例输出:

 5.15.0-43-generic

 这表明系统当前使用的是 5.15.0-43-generic 内核。

 2. 查看所有已安装的内核

 Ubuntu 可能安装了多个内核版本,我们可以通过以下命令查看所有可用的内核:

 dpkg --get-selections | grep linux-image

 示例输出:

 linux-image-5.13.0-30-generic   deinstall

 linux-image-5.13.0-52-generic   deinstall

 linux-image-5.15.0-41-generic   install

 linux-image-5.15.0-43-generic   install

 linux-image-generic-hwe-20.04   install

 分析输出:

 标记 install 的是当前系统可用的内核。

 标记 deinstall 的表示这些内核已经被卸载或不再使用。

 3. 让系统自动记住当前启动的内核

 通常,我们可以手动修改 /etc/default/grub 来指定默认内核,但如果配置错误,可能会导致系统无法启动。因此,我们采用更安全的方法——让 GRUB 记住上次成功启动的内核,并在下次自动使用它。

 3.1 编辑 GRUB 配置

 打开 GRUB 配置文件:

 sudo nano /etc/default/grub

 在文件中添加以下两行:

 GRUB_SAVEDEFAULT=trueGRUB_DEFAULT=saved

 参数解析:

 GRUB_SAVEDEFAULT=true:每次成功启动后,系统都会自动保存当前启动的内核。

 GRUB_DEFAULT=saved:让 GRUB 记住上次启动的内核,而不是始终选择默认的 0(第一个内核)。

 4. 更新 GRUB 并重启

 修改完 GRUB 配置后,运行以下命令更新 GRUB 使更改生效:

 sudo update-grub

 然后重启服务器:

 sudo reboot

 5. 在 GRUB 界面手动选择正确的内核

 当系统启动时:

 按住 Shift(BIOS 机型)或 ESC(UEFI 机型)进入 GRUB 菜单。

 选择 “Advanced options for Ubuntu”。

 选择 可以正常启动的内核,然后按 Enter 进入系统。

 这次成功启动的内核会被 GRUB 记住,并在下次重启时自动使用,无需每次手动选择。

 6. 验证默认启动的内核是否生效

 启动后,检查当前运行的内核:

 uname -r

 如果返回的版本是你刚才选择的内核,就说明设置成功了。

 7. 清理不需要的旧内核(可选)

 如果系统中安装了多个旧内核,可以清理掉不再使用的版本,释放磁盘空间。

 查看所有已安装的内核:

 dpkg --list | grep linux-image

 卸载旧内核(示例删除 5.13.0-30):

 sudo apt remove --purge linux-image-5.13.0-30-generic

 清理无用的依赖文件:

 sudo apt autoremove

 更新 GRUB 配置:

 sudo update-grub

 8. 如果修改 GRUB 配置导致系统无法启动怎么办?

 如果 /etc/default/grub 配置错误,导致系统无法启动,可以使用以下方法恢复:

 8.1 进入 GRUB 恢复模式

 重新启动系统,在启动时按住 Shift(BIOS 机型)或 ESC(UEFI 机型) 进入 GRUB 菜单。

 选择 “Advanced options for Ubuntu”,然后选择一个可用的旧内核进入系统。

 8.2 还原 GRUB 配置

 进入系统后,打开终端:

 sudo nano /etc/default/grub

 将 GRUB_DEFAULT=saved 改回默认值:

 GRUB_DEFAULT=0

 然后更新 GRUB 并重启:

 sudo update-grub

 sudo reboot

版权声明

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们996811936@qq.com进行处理。