UEFI环境下如何在磁盘首分区设置主引导加载程序以管理Windows与Xubuntu双系统启动
嘿,你的这个双系统引导方式确实有点繁琐,不过完全可以通过设置一个统一的主引导管理器来解决!下面给你两个实用的方案,都是在你磁盘开头的空闲区部署主引导,帮你一键切换Windows和Xubuntu:
方案一:用GRUB作为统一主引导(你已经熟悉它,上手快)
既然你已经在用GRUB,直接部署第二个GRUB作为主引导是很顺手的选择:
准备EFI分区
先用Xubuntu里的gparted工具把磁盘开头的空闲区格式化为FAT32,然后给这个分区打上boot和esp的标记(这是UEFI引导分区的必要条件)。之后把它挂载到临时目录,比如:sudo mkdir /mnt/efi_main sudo mount /dev/sdaX /mnt/efi_main # 这里的sdaX换成你新分区的设备名,比如sda7安装主GRUB到新分区
在终端里执行这条命令,把GRUB安装到新的EFI分区:sudo grub-install --target=x86_64-efi --efi-directory=/mnt/efi_main --bootloader-id=Main_GRUB--bootloader-id=Main_GRUB是给这个GRUB起个名字,方便你在BIOS里识别。生成引导菜单配置
让GRUB自动检测所有系统的引导项:sudo update-grub这条命令会扫描到Windows的Boot Manager和你原来的Xubuntu GRUB,自动把它们加到主GRUB的菜单里。
设置BIOS启动顺序
重启电脑进入BIOS,把你刚创建的这个EFI分区(名字就是Main_GRUB)设为第一启动项,这样开机就会直接进入这个主GRUB菜单,选Windows或者Xubuntu就行啦。
方案二:用rEFInd(轻量化可视化引导管理器)
如果你不想折腾GRUB的配置,rEFInd是个更省心的选择——它会自动扫描所有EFI引导文件,界面也更友好:
同样先准备EFI分区
和方案一一样,把磁盘开头的空闲区格式化为FAT32,打上boot和esp标记,挂载到/mnt/efi_refind:sudo mkdir /mnt/efi_refind sudo mount /dev/sdaX /mnt/efi_refind安装rEFInd到新分区
先安装rEFInd包:sudo apt update && sudo apt install refind然后把它安装到新的EFI分区:
sudo refind-install --efi-directory=/mnt/efi_refind完成配置
rEFInd不需要手动生成配置,它会自动扫描磁盘上所有的EFI引导文件(包括Windows的bootmgfw.efi和Xubuntu的grubx64.efi)。重启后进入BIOS,把这个rEFInd所在的EFI分区设为第一启动项,开机就能看到可视化的引导菜单,点击对应的图标就能启动系统了。
注意事项
- 操作前一定要备份重要数据!分区和引导操作有风险,万一误操作能挽回数据。
- 如果你不确定分区设备名,可以用
lsblk命令查看,找到那个新创建的FAT32分区。
备注:内容来源于stack exchange,提问作者THE_PERSON4204

