服务器双系统需统一uefi模式、复用windows创建的efi分区、安装后执行sudo update-grub识别windows,secure boot建议关闭以避免grub或nvidia驱动异常。

服务器上配置 GRUB 实现双系统或多系统共存,核心在于启动模式统一、分区规划合理、GRUB 安装位置准确,以及引导项识别完整。不是装完 Linux 就自动能选 Windows,关键步骤必须手动干预或验证。
确认并锁定 UEFI 启动模式
现代服务器基本都使用 UEFI + GPT,但务必验证,否则 GRUB 无法正确写入 EFI 系统分区(ESP):
- 在已安装的 Windows 中运行
msinfo32,检查“BIOS 模式”是否为 UEFI;若为 Legacy,需进 BIOS 关闭 CSM 并启用纯 UEFI - Linux 安装时,启动 U 盘必须用 UEFI 模式(如 Rufus 中选 “GPT for UEFI”),否则安装器可能默认走 BIOS/MBR 流程
- 安装完成后,进入 BIOS 启动选项列表,应能看到至少两个条目:Windows Boot Manager 和 ubuntu(或发行版名),说明 ESP 已被正确识别和写入
合理规划磁盘与复用 EFI 分区
服务器通常有多块盘或大容量单盘,分区设计直接影响 GRUB 稳定性:
- Windows 安装时已创建 EFI 系统分区(通常 100–500 MB,FAT32,标有 ESP 和 boot 标志),Linux 安装时不要新建 EFI 分区,直接复用它
- 根分区(
/)建议单独划分(如 60–100 GB),/home强烈建议独立分区(便于重装系统不丢数据),交换空间(swap)可用 swapfile 替代传统分区 - 若服务器挂载了额外数据盘(如 /data),确保其不参与引导流程,避免 GRUB 扫描时误判或延迟
安装后修复或重装 GRUB 到 ESP
常见情况是 Linux 装完只能进本系统,Windows 不见了——大概率是 GRUB 未正确扫描到 Windows 启动文件:
- 从 Ubuntu Live 环境或已登录系统中执行:
sudo update-grub
正常输出应包含 Found Windows Boot Manager on /dev/nvme0n1p1 类似行(路径依实际 ESP 设备而定) - 若无 Windows 条目,先确认 ESP 是否已挂载:
ls /boot/efi/EFI/—— 应看到Microsoft/和ubuntu/(或发行版名)两个目录 - 仍失败可手动重装:
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck
处理 Secure Boot 与 NVIDIA 驱动兼容性
GPU 服务器常见问题:开启 Secure Boot 导致 GRUB 启动黑屏,或进系统后显卡驱动加载失败:
- 安装阶段就关闭 Secure Boot(BIOS 中设置),避免签名验证阻断 GRUB 模块或内核模块加载
- Ubuntu 24.04 默认使用
nvidia-driver-535或更新版本,安装后需执行:sudo update-initramfs -u+sudo update-grub,确保 initramfs 包含 NVIDIA 模块 - 若需保留 Secure Boot,须手动签署 GRUB 和内核模块(较复杂),普通部署建议直接禁用
GRUB 在服务器多系统环境里不是“装完就完”,而是需要主动确认识别结果、校验 ESP 内容、适配硬件安全策略。只要 EFI 分区共用、启动模式一致、Secure Boot 关闭,update-grub 基本就能自动发现所有 UEFI 启动项。











