如何双启动 Windows 10 和 Linux:完整高级指南
同时运行 Windows 10 和 Linux 可以让你两全其美——Windows 用于游戏和通用应用程序,Linux 用于开发、系统管理和开源工具。然而,在单台机器上管理两个操作系统是一项需要精确性、规划和对现代固件和磁盘架构深入理解的微妙操作。
本综合指南将逐步指导你使用 UEFI、GPT 和现代 Linux 发行版(如 Ubuntu、Fedora 或 Arch Linux)设置一个干净、高效的双启动系统。无论你是开发人员、系统管理员还是高级用户,本教程都将帮助你配置一个强大的双启动环境,而不会损害任何一个操作系统。
为什么要双启动 Windows 10 和 Linux?
在深入技术步骤之前,值得理解为什么双启动仍然是专业人士相比虚拟化或 WSL(Windows Subsystem for Linux)的首选:
- 完全硬件访问:两个操作系统都在裸机上运行,为您提供最大的 CPU、GPU 和 RAM 性能。
- 无开销:与虚拟机不同,双启动引入零虚拟化开销。
- 灵活性:使用 Linux 进行 Docker、Kubernetes、原生包管理器和终端工作流;切换到 Windows 进行游戏、Adobe 软件或企业应用程序。
- 成本效益:无需维护两台独立的物理机器。
对于管理远程基础设施(如 VPS Hosting 环境)的开发人员和系统管理员来说,拥有一个与服务器环境相匹配的原生 Linux 桌面可以显著减少上下文切换和配置摩擦。
先决条件和安全检查清单
在触及任何分区之前,请完成此检查清单:
- ✅ 将所有关键数据备份到外部驱动器或云存储
- ✅ 记下您的 Windows 产品密钥(在 CMD 中运行
wmic path softwarelicensingservice get OA3xOriginalProductKey) - ✅ 确认您的固件类型是 UEFI(不是传统 BIOS)— 在 Windows 中搜索”系统信息”并检查 BIOS 模式
- ✅ 验证您的磁盘使用 GPT 分区(磁盘管理 → 右键单击磁盘 → 属性 → 卷选项卡)
- ✅ 准备至少 8 GB USB 驱动器用于 Linux 安装程序
- ✅ 确保您的系统至少有 100 GB 的可用磁盘空间以便舒适地安装 Linux
> ⚠️ 严重警告:在 Linux 安装期间选择错误的单个分区可能会永久破坏您的 Windows 安装或驱动器上的所有数据。分区级别没有撤销选项。先备份 — 始终备份。
第1步:为双启动准备磁盘
选项A:Windows已安装(最常见的情况)
1.1 缩小Windows分区
打开磁盘管理(diskmgmt.msc),右键单击您的主分区(通常是C:),然后选择压缩卷。
- 为Linux分配至少50 GB(开发者工作站建议80–120 GB)
- 压缩操作会创建Linux将使用的未分配空间
> 注意:如果Windows由于不可移动文件(如页面文件或休眠文件)而无法充分压缩卷,请先禁用休眠:
> “`cmd
> powercfg /h off
> “`
1.2 禁用快速启动
快速启动会导致Windows将部分休眠状态写入磁盘。如果Linux在此状态下挂载Windows NTFS分区,可能会发生文件系统损坏。
导航到:控制面板 → 电源选项 → 选择电源按钮的功能 → 关闭快速启动
或者,通过命令提示符(以管理员身份):
powercfg /h off1.3 禁用BitLocker
如果您的系统驱动器上启用了BitLocker,Linux将无法访问该分区,GRUB安装可能会失败。
导航到:控制面板 → 系统和安全 → BitLocker驱动器加密 → 关闭BitLocker
在继续之前,请等待完整的解密过程完成。
1.4 验证EFI系统分区(ESP)
基于UEFI的Windows安装始终包括EFI系统分区(ESP),通常为100–500 MB,格式为FAT32。您稍后将在此处挂载Linux的引导加载程序 — 不要删除或格式化它。
使用diskpart验证:
diskpart
list disk
select disk 0
list partition查找类型为系统的分区 — 那就是您的ESP。记下其分区号。
选项B:在新驱动器上全新双启动安装
如果您从头开始安装两个操作系统:
- 始终先安装Windows — Windows不识别Linux引导加载程序,如果第二个安装,将覆盖GRUB。
- 允许Windows安装程序自动创建ESP。
- 在磁盘末尾留下未分配的空间供Linux使用。
第 2 步:创建可启动的 Linux USB 驱动器
2.1 下载您的 Linux 发行版
选择适合您用例的发行版:
| 发行版 | 最适合 |
|---|---|
| Ubuntu LTS | 初学者、开发人员、通用 |
| Fedora Workstation | 最新 GNOME、开发人员 |
| Arch Linux | 高级用户、完全自定义 |
| Debian Stable | 服务器、稳定性优先的工作站 |
| Pop!_OS | 游戏、NVIDIA GPU 支持 |
从发行版的官方网站下载 ISO。在写入 USB 之前,始终验证 SHA256 校验和。
2.2 将 ISO 写入 USB
在 Windows 上 — 使用 Rufus:
- 选择您的 USB 驱动器
- 选择 ISO 文件
- 分区方案:GPT
- 目标系统:UEFI (non-CSM)
- 点击开始
在 Linux/macOS 上 — 使用 dd:
sudo dd if=/path/to/linux.iso of=/dev/sdX bs=4M status=progress && sync> 将 /dev/sdX 替换为您的实际 USB 设备(使用 lsblk 验证 — 永远不要猜测)。
2.3 配置 UEFI 从 USB 启动
- 重启并进入 UEFI 固件设置(通常是
F2、DEL、F10或ESC— 查看您的制造商文档) - 禁用安全启动 — Arch Linux 和某些其他发行版需要;Ubuntu 和 Fedora 原生支持安全启动
- 将 USB 驱动器设置为第一启动设备
- 保存并退出
第 3 步:在 Windows 旁安装 Linux
3.1 启动到实时环境
从 USB 启动后,您将进入 Linux 实时会话。在启动安装程序之前,最好的做法是:
- 测试 Wi-Fi、音频和显示输出
- 打开终端并运行
lsblk以识别您的磁盘布局 - 确认 ESP 可见(查找约 100–500 MB 的 FAT32 分区)
3.2 启动安装程序并选择手动分区
手动(自定义)分区让您完全控制并防止意外覆盖。在安装程序中,选择:
- Ubuntu:”Something else”
- Fedora:”Custom” 分区
- Arch Linux:通过
fdisk、gdisk或cfdisk手动配置
3.3 在未分配的空间中创建 Linux 分区
识别您在第 1 步中创建的未分配空间,并创建以下分区:
| 分区 | 文件系统 | 大小 | 用途 |
|---|---|---|---|
/(根目录) | ext4 | 30–60 GB | 核心操作系统文件 |
/home | ext4 | 剩余空间 | 用户数据(可选但推荐) |
swap | swap | 2–8 GB(与 RAM 匹配以支持休眠) | 虚拟内存 / 休眠 |
> 提示:将 /home 与 / 分离允许您重新安装 Linux 而不会丢失个人文件和配置。
> 对于 NVMe 驱动器:您的磁盘将显示为 /dev/nvme0n1,分区如 /dev/nvme0n1p1。对于 SATA SSD/HDD,它将是 /dev/sda,分区如 /dev/sda1 等。
3.4 配置 EFI 系统分区
这是最关键的步骤。找到现有的 ESP(由 Windows 创建的 FAT32 分区):
- 不要格式化它 — 这将破坏 Windows 引导加载程序
- 将其挂载点设置为
/boot/efi - 保持格式复选框未选中
3.5 配置 GRUB 引导加载程序
当提示引导加载程序安装位置时:
- 将 GRUB 安装到 EFI 系统分区,而不是 MBR
- ESP 通常是
/dev/sda1或/dev/nvme0n1p1 - GRUB 将自动检测 Windows 启动管理器并将其添加到启动菜单
完成安装并重新启动。出现提示时移除 USB 驱动器。
第 4 步:配置 UEFI 启动顺序
安装后,您的系统可能会直接启动到 Windows,完全绕过 GRUB。这是因为 Windows Boot Manager 在 UEFI 启动顺序中可能仍然具有优先级。
选项 A:通过 UEFI 固件设置配置
- 在下次启动时进入 UEFI 固件设置
- 导航到启动选项卡
- 将“ubuntu”、“fedora”或“Linux Boot Manager”移到“Windows Boot Manager”上方
- 保存并退出
选项 B:通过 Windows 命令行配置
以管理员身份打开命令提示符并运行:
bcdedit /set {bootmgr} path EFIubuntugrubx64.efi根据您的发行版调整路径:
- Fedora:
EFIfedoragrubx64.efi - 通用:
EFIBOOTBOOTx64.efi
选项 C:通过 Linux 使用 efibootmgr 配置
启动到 Linux(通过 UEFI 菜单或 USB)并使用 efibootmgr:
# List all boot entries with their numbers
sudo efibootmgr
# Set boot order (replace with your actual entry numbers)
sudo efibootmgr -o 0002,0001,0000输出将显示类似 Boot0001* ubuntu 和 Boot0002* Windows Boot Manager 的条目。将 Linux 条目放在首位。
第5步:安装后配置
5.1 自定义GRUB
编辑GRUB配置文件以调整超时和默认操作系统:
sudo nano /etc/default/grub关键参数:
# Time in seconds before auto-booting the default entry
GRUB_TIMEOUT=10
# 0 = first entry (usually Linux), or use "saved" to remember last choice
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
# Optional: set a custom distributor name
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`编辑后,始终重新生成GRUB配置:
# Debian/Ubuntu
sudo update-grub
# Fedora/RHEL
sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
# Arch Linux
sudo grub-mkconfig -o /boot/grub/grub.cfg5.2 安装grub-customizer(可选GUI工具)
对于偏好使用图形界面管理GRUB的用户:
# Ubuntu/Debian
sudo apt install grub-customizer
# Fedora
sudo dnf install grub-customizer5.3 修复Windows时钟差异
设置双启动后的常见问题是Windows显示错误的时间。这是因为Linux默认以UTC存储时间,而Windows使用本地时间。在Linux中修复:
timedatectl set-local-rtc 1 --adjust-system-clock或者通过设置注册表以使用UTC在Windows中修复:
reg add "HKEY_LOCAL_MACHINESystemCurrentControlSetControlTimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f5.4 重新启用安全启动(可选)
如果您的Linux发行版附带签名的引导加载程序(Ubuntu和Fedora都有),您可以在安装后在UEFI中安全地重新启用安全启动。建议在共享或企业环境中的系统上使用此功能。
Arch Linux和某些其他发行版需要手动MOK(机器所有者密钥)注册才能与安全启动配合使用。
5.5 在Linux中挂载Windows NTFS分区(可选)
要从Linux访问您的Windows文件,请安装ntfs-3g并挂载分区:
sudo apt install ntfs-3g # Ubuntu/Debian
sudo dnf install ntfs-3g # Fedora
# Create a mount point and mount
sudo mkdir /mnt/windows
sudo mount /dev/sda3 /mnt/windows要在启动时自动挂载,请在/etc/fstab中添加条目:
/dev/sda3 /mnt/windows ntfs-3g defaults,uid=1000,gid=1000 0 0排除常见双启动问题
GRUB 在启动时不出现
- 进入 UEFI 并手动将 Linux 启动项设置为主启动项
- 从 USB 启动,挂载您的 Linux 分区,然后运行
grub-install后跟update-grub
GRUB 菜单中未列出 Windows
sudo os-prober
sudo update-grub如果 os-prober 被禁用,编辑 /etc/default/grub 并添加:
GRUB_DISABLE_OS_PROBER=false然后再次运行 sudo update-grub。
“没有可启动设备”错误
- 验证 ESP 是否正确挂载在
/boot/efi - 确认 GRUB 已安装到 EFI 分区,而不是 MBR
- 从实时 USB 环境重新运行
grub-install
安装 Linux 后 Windows 拒绝启动
- 使用 Windows 恢复 USB → 修复 → 命令提示符
- 运行:
bootrec /fixbcd和bootrec /fixmbr - 然后从 Linux 重新配置 GRUB
双启动与其他方法:何时选择什么
| 方法 | 优点 | 缺点 |
|---|---|---|
| 双启动 | 充分利用硬件性能,零开销 | 需要重启才能切换操作系统 |
| 虚拟机 | 即时切换,快照功能 | 性能开销,GPU 限制 |
| WSL2 | Windows 内的 Linux 终端 | 不是完整 Linux,硬件访问受限 |
| 独立机器 | 完全隔离 | 成本、空间、维护 |
对于管理 Dedicated Servers 或复杂云基础设施的专业人士来说,原生 Linux 双启动工作站提供了最接近生产服务器的环境——使测试、脚本编写和基于 SSH 的管理无缝进行。
双启动设置的实际用例
软件开发
启动到Linux以使用Docker容器、原生包管理(apt, dnf, pacman)和强大的Bash/Zsh终端。切换到Windows以使用Visual Studio、Microsoft Office或面向客户端的应用程序。管理带有cPanel的VPS环境的开发人员会发现Linux桌面工作流直接映射到服务器端操作。
游戏和创意工作
Linux通过Proton/Steam在游戏方面取得了巨大进步,但某些游戏和外设仍然需要Windows。双启动让您享受完整的Windows游戏体验,同时不牺牲Linux开发环境。
安全研究和渗透测试
使用强化的Linux环境(Kali、Parrot OS)进行安全测试和分析,然后切换到Windows进行报告、文档编写或运行Windows特定工具。
Web托管和服务器管理
管理共享Web托管环境或为客户网站配置SSL证书的系统管理员受益于与其服务器上运行的LAMP/LEMP堆栈相同的Linux工作站——减少”在我的机器上可以工作”的差异。
结论
使用 Windows 10 和 Linux 设置双启动系统是开发人员、系统管理员和高级用户可用的最强大配置之一。虽然该过程涉及仔细的步骤——缩小分区、配置 UEFI、安装 GRUB 和管理启动顺序——但一旦您了解底层架构,每个阶段都是逻辑清晰且文档完善的。
要记住的关键原则:
- 修改分区前始终备份数据
- 先安装 Windows 再安装 Linux — Windows 将覆盖任何现有的引导加载程序
- 切勿格式化 EFI 系统分区 — 它在两个操作系统之间共享
- 安装 Linux 前禁用快速启动和 BitLocker
- 使用手动分区以完全控制磁盘布局
正确配置后,双启动系统稳定、高效且面向未来。您可以自由选择适合每项任务的工具——Linux 的强大功能和灵活性用于开发和管理,Windows 的兼容性用于游戏和生产力软件——全部在一台机器上,无需妥协。
无论您是在构建镜像 VPS Hosting 设置的本地开发环境,还是只想在不放弃 Windows 的情况下探索 Linux,双启动仍然是充分利用硬件的黄金标准。
