双硬盘独立引导配置求助:如何让每个硬盘拥有独立引导加载器
双硬盘独立引导配置求助:如何让每个硬盘拥有独立引导加载器
兄弟,我完全懂你这种想让两个系统彻底分家的心情——毕竟谁也不想删个Ubuntu把Windows搞崩对吧?先别慌,咱们一步步来把这个锅给圆回来,顺便给你唠唠为啥会出现这种反人类的操作。
第一步:先把Windows的EFI分区清理干净
现在你的Win11 EFI分区里混进了Ubuntu的引导文件,先把它删掉,确保Windows能独立正常启动:
- 打开Windows的磁盘管理(右键开始菜单就能找到),找到HD1(NVME盘)上的那个小FAT32分区(就是Win的EFI分区),右键给它分配一个盘符,比如
Z: - 打开管理员命令提示符,输入
rmdir /s /q Z:\EFI\ubuntu,把Ubuntu的引导文件夹彻底删掉 - 删掉刚才分配的盘符(回到磁盘管理,右键那个EFI分区,选择“更改驱动器号和路径”,删除即可)
这一步做完,Windows的引导就完全恢复成原来的样子了,哪怕你把HD2格式化也不会影响Win启动。
第二步:把Ubuntu的引导移到自己的硬盘(HD2)上
接下来要让Ubuntu的引导完全扎根在自己的SSD上,需要用Ubuntu安装U盘进入试用模式修复:
- 用你之前的Ubuntu安装U盘启动,选择“试用Ubuntu”(别选安装)
- 打开终端,先搞清楚你的分区对应关系:
- 输入
lsblk,找到HD2的两个分区:小的FAT32是EFI分区,大的ext4是根分区。比如假设HD2是/dev/sda,EFI分区是/dev/sda1,根分区是/dev/sda2(一定要对应你自己的实际设备名,别瞎抄!)
- 输入
- 挂载Ubuntu的根分区和EFI分区:
sudo mount /dev/sda2 /mnt sudo mount /dev/sda1 /mnt/boot/efi - 挂载系统必需的虚拟目录,不然chroot环境会出问题:
sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys - 切换到Ubuntu的系统环境:
sudo chroot /mnt - 重新把GRUB引导器安装到HD2的整个磁盘上(注意是磁盘不是分区!):
grub-install /dev/sda - 更新GRUB配置,确保它只识别自己的系统:
update-grub - 退出chroot环境:
exit,然后重启电脑
为啥会出现这种离谱的情况?
其实这锅得甩给EFI的设计和Ubuntu安装器的“贴心”逻辑:
- EFI系统本身默认是共享EFI分区的,不管你有多少硬盘,它都会优先用已经存在的EFI分区来放引导文件
- Ubuntu安装器检测到你已经有一个EFI分区(Win的那个),哪怕你选了HD2作为引导位置,它还是会默认把引导文件丢到已有的EFI分区里——它觉得这样更“方便”,但完全没考虑到你想要彻底独立的需求
- 想要避免这种情况,下次安装的时候,除了选HD2的EFI分区作为“EFI系统分区”,还要在“引导加载器安装位置”里明确选择HD2的EFI分区(而不是整个HD2磁盘),这样安装器才会乖乖把引导写到HD2自己的EFI分区里
做完这些操作,你要的效果就完全实现了:Win11在HD1独立启动,Ubuntu在HD2独立启动,BIOS选哪个盘就进哪个系统,互相完全不影响。
备注:内容来源于stack exchange,提问作者btonasse
相关产品推荐
相关产品推荐

