#!/bin/bash
set -e
KERNEL_VERSION="4.15.0-156-generic"
KERNEL_IMAGE="/boot/vmlinuz-${KERNEL_VERSION}"
echo "🔍 检查内核文件是否存在:$KERNEL_IMAGE"
if [ ! -f "$KERNEL_IMAGE" ]; then
echo "❌ 未找到内核文件:$KERNEL_IMAGE"
echo "👉 请先安装该内核版本:"
echo " sudo apt install linux-image-${KERNEL_VERSION} linux-headers-${KERNEL_VERSION}"
exit 1
fi
echo "✅ 找到目标内核,继续设置 grub 默认项..."
# 修改 /etc/default/grub
sudo sed -i 's/^GRUB_DEFAULT=.*/GRUB_DEFAULT=saved/' /etc/default/grub
sudo sed -i 's/^GRUB_TIMEOUT_STYLE=.*/GRUB_TIMEOUT_STYLE=menu/' /etc/default/grub
sudo sed -i 's/^GRUB_TIMEOUT=.*/GRUB_TIMEOUT=3/' /etc/default/grub
# 更新 grub
echo "🔄 更新 grub..."
sudo update-grub
# 设置 grub 默认启动项
echo "🎯 设置默认启动内核为:Ubuntu, with Linux ${KERNEL_VERSION}"
sudo grub-set-default "Advanced options for Ubuntu>Ubuntu, with Linux ${KERNEL_VERSION}"
# 显示当前 grub 默认设置
echo -e "\n📌 当前 grub 默认项为:"
sudo grub-editenv list
echo -e "\n✅ 设置完成!你可以重启系统验证:\n sudo reboot"
chmod +x rollback_kernel.sh
./rollback_kernel.sh