Ubuntu+Windows双系统修复引导+更改启动顺序

修改 GRUB 配置(推荐)

在 Ubuntu 中按 Ctrl + Alt + T 打开终端,执行以下命令编辑 GRUB 配置文件:

bash 复制代码
sudo nano /etc/default/grub

配置文件中关键参数说明:

conf 复制代码
GRUB_DEFAULT=0                # 默认启动项索引(从0开始)
GRUB_TIMEOUT=10               # 菜单显示等待时间(秒)
GRUB_TIMEOUT_STYLE=menu       # 显示样式(hidden/menu)

确定 Windows 启动项位置:

bash 复制代码
grep "menuentry" /boot/grub/grub.cfg

设置默认启动项(两种方式):

conf 复制代码
GRUB_DEFAULT=1                # 数字索引方式(示例为第2项)
GRUB_DEFAULT="Windows Boot Manager (on /dev/sda1)"  # 精确名称匹配
#如果是固态硬盘则设置如下:
GRUB_DEFAULT="Windows Boot Manager (on /dev/nvme0n1p1)"

调整超时时间(可选):

conf 复制代码
GRUB_TIMEOUT=5                # 建议保留3秒以上操作时间

保存修改并更新配置:

bash 复制代码
sudo update-grub
sudo reboot

使用 GRUB 自定义菜单(高级)

创建自定义配置文件:

bash 复制代码
sudo nano /etc/grub.d/40_custom

添加自定义启动项示例:

conf 复制代码
menuentry "Windows 10 (Custom)" {
    insmod part_gpt
    insmod chain
    set root='(hd0,gpt1)'
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

更新配置后验证:

bash 复制代码
sudo update-grub
grub-mkconfig | grep "menuentry"  # 检查新条目

应急恢复方案

当配置错误导致无法启动时:

  1. 使用 Ubuntu 安装U盘启动
  2. 选择"Try Ubuntu"进入Live模式
  3. 挂载原系统分区并修复:
bash 复制代码
sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
sudo chroot /mnt
grub-install /dev/sda
update-grub

注意事项

  • 修改前建议备份原配置文件:
bash 复制代码
sudo cp /etc/default/grub /etc/default/grub.bak
  • 精确名称匹配时需注意:
    • 区分英文引号与中文引号
    • 保留原始条目中的特殊符号
    • EFI分区路径可能随硬件变化

验证配置

成功更新后,终端会显示:

复制代码
Generating grub configuration file ...
Found Windows Boot Manager on /dev/sda1
done
相关推荐
Trouvaille ~9 分钟前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
旖旎夜光1 小时前
Linux(13)(中)
linux·网络
威迪斯特1 小时前
CentOS图形化操作界面:理论解析与实践指南
linux·运维·centos·组件·图形化·桌面·xserver
一方热衷.2 小时前
在线安装对应版本NVIDIA驱动
linux·运维·服务器
独自归家的兔2 小时前
ubuntu系统安装dbswitch教程 - 备份本地数据到远程服务器
linux·运维·ubuntu
ONE_SIX_MIX2 小时前
ubuntu 24.04 用rdp连接,桌面黑屏问题,解决
linux·运维·ubuntu
龙飞052 小时前
Systemd -systemctl - journalctl 速查表:服务管理 + 日志排障
linux·运维·前端·chrome·systemctl·journalctl
*小海豚*2 小时前
在linux服务器上DNS正常,但是java应用调用第三方解析域名报错
java·linux·服务器
June`2 小时前
muduo项目排查错误+测试
linux·c++·github·muduo网络库
春日见2 小时前
如何创建一个PR
运维·开发语言·windows·git·docker·容器