统信uos与windows双硬盘共存时,需为每块硬盘配置独立efi系统分区并隔离引导:uos盘创建专属esp挂载至/boot/efi-uos,执行grub-install指定该路径写入引导,禁用os-prober扫描windows盘,uefi中分别添加两硬盘启动项,确保拔插任一硬盘另一系统仍可正常启动。

统信UOS与Windows共存于两块物理硬盘时,需让每块硬盘独立承载自身引导文件,避免跨盘依赖——这样即使拔掉其中一块硬盘,另一系统仍能正常开机启动。关键在于切断GRUB对Windows EFI分区的挂载依赖,并确保Windows Boot Manager仅从其所在硬盘的ESP加载。
确认双硬盘物理布局与当前引导状态
打开终端,执行 lsblk -f 查看所有磁盘及分区格式。确认 Windows 所在盘(如 /dev/sda)存在 FAT32 类型、LABEL 为“EFI System”或 MOUNTPOINT 为 /boot/efi 的分区;UOS 所在盘(如 /dev/sdb)也应有独立的 EFI 分区(未被挂载或挂载在 /boot/efi)。【若UOS安装时误将Windows的ESP挂载为/boot/efi,必须先断开该挂载,否则后续操作会覆盖Windows引导】
运行 sudo efibootmgr -v,观察当前UEFI启动项来源:Windows条目应指向 HD(1,GPT,...)/File(\EFI\Microsoft\Boot\bootmgfw.efi),路径中的 HD(1,GPT,...) 必须对应Windows所在硬盘设备号;UOS条目同理,应指向UOS盘上的ESP路径。
为UOS盘单独创建并挂载专属ESP
若 /dev/sdb 上尚无EFI系统分区,需手动创建:
执行 sudo gdisk /dev/sdb → 输入 n 新建分区 → 起始扇区默认 → 结束扇区输入 +300M → 分区类型代码输入 ef00 → 输入 w 写入。随后格式化:sudo mkfs.fat -F32 /dev/sdb1。
新建挂载点并挂载:sudo mkdir -p /boot/efi-uos → sudo mount /dev/sdb1 /boot/efi-uos。这一步必须完成,否则后续无法向UOS盘写入引导文件。
编辑 /etc/fstab:添加一行 /dev/sdb1 /boot/efi-uos vfat umask=0077 0 1,确保重启后自动挂载。注意不要修改原 /boot/efi 行——它应仍指向Windows盘的ESP(如有),但本方案中我们即将弃用该挂载。
将UOS引导完全迁移到本盘ESP
第一步:备份原GRUB配置 sudo cp /etc/default/grub /etc/default/grub.bak。
第二步:编辑 /etc/default/grub,找到 GRUB_ENABLE_BLSCFG=true 行,将其改为 GRUB_ENABLE_BLSCFG=false;再添加一行 GRUB_PRELOAD_MODULES="part_gpt fat",确保GRUB能识别GPT+fat32结构。
第三步:强制指定UOS引导输出到本盘ESP:sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi-uos --bootloader-id=UOS --recheck。此处 --efi-directory 必须指向你刚挂载的 /boot/efi-uos,【一旦填错路径,可能把引导文件写进Windows ESP,导致Windows无法启动】。
一款AI工具,主要用于使用 OpenAI Codex CLI 处理编码任务。触发词:codex、code review、fix CI、refactor code、implement feature、coding agent、gpt-5-codex。Clawdbot 可将编码工作委托给 Codex CLI 作为子代理或直接工具,适合需要提升相关任务效率的用户。
第四步:生成新配置:sudo grub-mkconfig -o /boot/grub/grub.cfg。此时 grub.cfg 中所有内核路径均基于本地磁盘,不再依赖Windows盘上任何分区。
清除UOS对Windows ESP的挂载与引导引用
检查当前 /boot/efi 是否仍挂载Windows的ESP:findmnt /boot/efi。若是,执行 sudo umount /boot/efi,然后注释或删除 /etc/fstab 中对应Windows ESP的挂载行。
运行 sudo os-prober,确认输出中不再出现Windows条目——因为本方案不依赖 os-prober 探测跨盘系统。若仍有输出,临时禁用探测:编辑 /etc/default/grub,加入 GRUB_DISABLE_OS_PROBER=true。
最后执行一次 sudo update-grub,观察输出中是否还有 Found Windows Boot Manager 字样。若无,则说明GRUB已彻底放弃扫描Windows盘,引导逻辑完全隔离。
在UEFI固件中为两块硬盘分别设置启动项
重启进入UEFI设置界面(开机反复按Del/F2/F10),找到“Boot Order”或“Boot Priority”菜单。
方法一(推荐):在“Add Boot Option”中手动添加两项:
第一项:Name填 Windows Boot Manager,Device Path选 /dev/sda1(即Windows盘的ESP分区),File选择 \EFI\Microsoft\Boot\bootmgfw.efi;
第二项:Name填 UOS,Device Path选 /dev/sdb1(UOS盘ESP),File选择 \EFI\UOS\grubx64.efi。
方法二:若UEFI支持“Hard Drive BBS Priorities”,可将两块硬盘分别设为不同启动顺序组,避免单个启动项失效时全盘瘫痪。
保存退出后,每次开机将看到两个独立启动项,选择即进入对应硬盘的系统,互不干扰。










