ubuntu系统引导重置
winsows下如果无法进入bios,可以按 Win+R 键,输 msconfig 回车,打开窗口后选 “引导”,然后勾上 “无 GUI 引导”,再把 “超时” 时间调长点,比如 10 秒。
然后重启按f2,把ubuntu系统排在前面。
我是因为win11升级,把ubutu搞崩了,进不去了:
然后更让人抓狂的是,键盘也没反应了。
这样的话就只能强制重启系统了,然后插入刷系统时的U盘,然后设置bios为U盘启动,然后启动:
try ubuntu进入,打开终端,输入sudo bikid,能看到/dev/nvme0n1p8是系统盘,另外EFI system partition是/dev/nvme0n1p1。
接下去我们就可以
# 挂载根分区
sudo mount /dev/nvme0n1p8 /mnt
# 挂载 EFI 分区到 /mnt/boot/efi
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
# 挂载必要的系统目录(让 chroot 环境能访问硬件、进程等)
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
进入 chroot 环境,查看系统版本
#进入 chroot
sudo chroot /mnt
#查看系统版本,我这边输出的是6.8.0-40-generic
uname -r
一定要记住这个版本(我的是6.8.0-40-generic),接下去我们就是要修复为这个版本的内核,才能正常启动。
先修复 GRUB
# 进入 chroot 后,执行 GRUB 安装命令(目标磁盘是 /dev/sda,如果你的系统磁盘是 NVMe 则可能是 /dev/nvme0n1)
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu /dev/sda
#更新 GRUB 配置
update-grub
退出 chroot & 重启系统
exit # 退出 chroot
sudo umount -R /mnt # 卸载所有挂载的分区
reboot # 重启系统
重启系统,并在ubuntu系统选择界面按esc键进入grub终端:
配置内核相关(和之前输出一致)
#指定内核(6.8.0-40)和根分区(/dev/nvme0n1p8)
linux /boot/vmlinuz-6.8.0-40-generic root=/dev/nvme0n1p8 ro
#加载对应的 initrd 文件(初始化内存磁盘,包含驱动等
initrd /boot/initrd.img-6.8.0-40-generic
#启动系统
boot
然后就可以进入系统了,我们还需要把无法启动的内核删除,避免干扰启动
#查找所有linux内核,我这边找到了除6.8之外的linux-image-6.13.0-061300-generic
dpkg --list | grep linux-image# 这边准备linux-image-6.13.0-061300-generic给删掉#要卸载无法启动的最新内核,把能正常启动的保留着就ok,这边6.13的可能是后面升级但出了问题的内核,可能干扰系统启动
sudo apt remove --purge linux-image-6.13.0-061300-generic
配置grub
sudo nano /etc/default/grub#然后配置GRUB_DEFAULT,当然这个配置如果有(比如GRUB_DEFAULT=0),不用改也可以
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-40-generic"#配置GRUB_DISABLE_OS_PROBER,以便能检索出winows系统
GRUB_DISABLE_OS_PROBER=false
更新grub & 重建 initramfs
#更新 GRUB 配置
sudo update-grub
#重建 initramfs(确保 NVMe 驱动等模块被包含)
sudo update-initramfs -u -k 6.8.0-40-generic
#重新安装 GRUB(确保引导记录正确)
#执行以下命令,重新安装 GRUB 到磁盘(假设磁盘是 /dev/nvme0n1)
sudo grub-install /dev/nvme0n1
GRUB 配置文件(/etc/default/grub)决定了默认启动的内核,若配置错误,重启后会选到不合适的内核导致启动失败。
initramfs 若缺失 NVMe 驱动,重启后系统无法识别 NVMe 磁盘(根分区所在磁盘),进而无法启动。通过重建 initramfs 可确保驱动被包含。
重新安装 GRUB 可修复可能损坏的引导记录,保证系统从正确的磁盘和分区启动。
重启系统
sudo reboot
如果能正常进入系统,那就ok了