与 Windows 双启动

来自 ArchWiki
(重定向自 Dual boot

本文详细介绍了 Arch/Windows 共存的不同方法。

重要信息

Windows UEFI 与 BIOS 限制

Microsoft 对可支持的固件启动模式和分区样式施加了限制,这取决于所使用的 Windows 版本。

注意: 以下几点仅列出了 Windows 安装程序支持的配置,即使 Windows 本身可能仍然在这些不受支持的配置上工作。一个很好的例子是 Windows 11,一旦绕过 Windows 安装程序的检查,它仍然可以在 BIOS/MBR 配置下工作。
  • Windows 8/8.110 x86 32 位版本仅支持从 GPT 磁盘以 IA32 UEFI 模式启动,或者仅支持从 MBR 磁盘以 BIOS 模式启动。它们不支持从 GPT/MBR 磁盘进行 x86_64 UEFI 启动、从 MBR 磁盘进行 x86_64 UEFI 启动或从 GPT 磁盘进行 BIOS 启动。在市场上,已知唯一出厂时配备 IA32 (U)EFI 的系统是一些旧款 Intel Mac(2010 年之前的型号?)和 Intel Atom 片上系统(Clover trail 和 Bay Trail)Windows 平板电脑,它们仅以 IA32 UEFI 模式启动,并且仅从 GPT 磁盘启动。
  • Windows 8/8.110 x86_64 版本仅支持从 GPT 磁盘以 x86_64 UEFI 模式启动,或者仅支持从 MBR 磁盘以 BIOS 模式启动。它们不支持 IA32 UEFI 启动、从 MBR 磁盘进行 x86_64 UEFI 启动或从 GPT 磁盘进行 BIOS 启动。
  • Windows 11 仅支持 x86_64 以及从 GPT 磁盘以 UEFI 模式启动。

对于预装系统

  • 所有预装 Windows XP、Vista 或 7 32 位版本的系统,无论 Service Pack 级别、位数、版本 (SKU) 或固件中是否存在 UEFI 支持,默认情况下都以 BIOS/MBR 模式启动。
  • 大多数预装 Windows 7 x86_64 版本的系统,无论 Service Pack 级别、位数或版本 (SKU),默认情况下都以 BIOS/MBR 模式启动。极少数后期预装 Windows 7 的系统已知默认以 x86_64 UEFI/GPT 模式启动。
  • 所有预装 Windows 8/8.1、10 和 11 的系统都以 UEFI/GPT 模式启动。直到 Windows 10,固件位数与 Windows 的位数匹配,即 x86_64 Windows 以 x86_64 UEFI 模式启动,而 32 位 Windows 以 IA32 UEFI 模式启动。

检测 Windows 启动模式的简便方法如下:[1]

  • 启动进入 Windows
  • 按下 Win+R 键启动“运行”对话框
  • 在“运行”对话框中输入 msinfo32 并按下 Enter 键
  • 在“系统信息”窗口中,选择左侧的“系统摘要”,并检查右侧“BIOS 模式”项的值。
  • 如果值为 UEFI,则 Windows 以 UEFI/GPT 模式启动。如果值为 Legacy,则 Windows 以 BIOS/MBR 模式启动。

通常,Windows 会根据使用的固件模式强制分区类型,即如果 Windows 以 UEFI 模式启动,则只能安装到 GPT 磁盘。如果 Windows 以 Legacy BIOS 模式启动,则只能安装到 MBR 磁盘。这是 Windows 安装程序强制执行的限制,截至 2014 年 4 月,尚无官方(Microsoft)支持的在 UEFI/MBR 或 BIOS/GPT 配置中安装 Windows 的方法。因此,Windows 仅支持 UEFI/GPT 启动或 BIOS/MBR 配置。

提示: Windows 10 版本 1703 及更高版本支持使用 MBR2GPT.EXE 从 BIOS/MBR 转换为 UEFI/GPT。

Linux 内核没有强制执行此类限制,但这可能取决于使用的引导加载程序和/或引导加载程序的配置方式。如果用户希望从同一磁盘启动 Windows 和 Linux,则应考虑 Windows 的限制,因为引导加载程序的安装过程取决于固件类型和磁盘分区配置。如果 Windows 和 Linux 从同一磁盘双启动,建议遵循 Windows 使用的方法,即选择 UEFI/GPT 启动或 BIOS/MBR 启动。有关更多信息,请参见 https://support.microsoft.com/kb/2581408

引导加载程序 UEFI 与 BIOS 限制

大多数为一种固件类型安装的 Linux 引导加载程序无法启动或链式加载另一种固件类型的引导加载程序。也就是说,如果 Arch 安装在一个磁盘的 UEFI/GPT 或 UEFI/MBR 模式下,而 Windows 安装在另一个磁盘的 BIOS/MBR 模式下,则 Arch 使用的 UEFI 引导加载程序无法链式加载另一个磁盘上 BIOS 安装的 Windows。类似地,如果 Arch 安装在一个磁盘的 BIOS/MBR 或 BIOS/GPT 模式下,而 Windows 安装在另一个磁盘的 UEFI/GPT 模式下,则 Arch 使用的 BIOS 引导加载程序无法链式加载另一个磁盘上 UEFI 安装的 Windows。

唯一的例外是 Apple Mac 中的 GRUB,其中 UEFI 模式下的 GRUB 可以通过 appleloader 命令启动 BIOS 安装的操作系统(在非 Apple 系统中不起作用),以及 rEFInd,它在技术上支持从 UEFI 系统启动传统 BIOS 操作系统,但根据其作者 Rod Smith 的说法,并非总是在非 Apple UEFI 系统中工作

但是,如果 Arch 安装在一个磁盘的 BIOS/GPT 模式下,而 Windows 安装在另一个磁盘的 BIOS/MBR 模式下,则如果引导加载程序本身具有从另一个磁盘链式加载的能力,那么 Arch 使用的 BIOS 引导加载程序可以启动另一个磁盘上的 Windows。

注意: 要在同一磁盘上与 Windows 双启动,Arch 应遵循 Windows 安装使用的相同固件启动模式和分区组合。

Windows 安装程序创建一个 100 MiB EFI 系统分区(除了高级格式 4K 本机驱动器,它会创建一个 300 MiB 的 ESP),因此多个内核的使用受到限制。解决方法包括:

  • 将 ESP 挂载到 /efi 并使用一个引导加载程序,该程序具有文件系统驱动程序且能够启动驻留在其他分区上的内核。
  • 减小 Windows 分区的大小,并将现有 ESP 替换为新的、更大的 ESP
  • 备份并删除 esp/EFI/Microsoft/Boot/Fonts/ 中不需要的字体[2]
  • 备份并删除 esp/EFI/Microsoft/Boot/ 中不需要的语言目录(例如,仅保留 en-US)。
  • 为 initramfs 镜像使用更高但更慢的压缩,确保解压缩可加载的内核模块和固件。例如:
COMPRESSION="xz"
COMPRESSION_OPTIONS=(-9e)
MODULES_DECOMPRESS="yes"

UEFI 安全启动

所有预装 Windows 8/8.1、10 和 11 的系统默认都以 UEFI/GPT 模式启动,并默认启用 UEFI 安全启动。这是 Microsoft 对所有 OEM 预装系统的强制要求。

Arch Linux 安装介质尚不支持安全启动。请参阅 Secure Boot#Booting an installation medium

建议在尝试启动 Arch Linux 之前,在固件设置中手动禁用 UEFI 安全启动。即使禁用安全启动,Windows 8/8.1、10 和 11 也应该继续正常启动。禁用 UEFI 安全启动支持的唯一问题是,它需要物理访问系统才能在固件设置中禁用安全启动选项,因为 Microsoft 明确禁止在所有 Windows 8/8.1 及更高版本的预装系统中存在任何远程或以编程方式(从操作系统内部)禁用安全启动的方法。

注意
  • 如果 Windows 使用了 BitLocker 并将密钥存储在 TPM 中以在启动时自动解锁,则禁用安全启动时它将无法启动,而是显示 BitLocker 恢复屏幕。但这并非永久性的,您只需重新启用安全启动即可轻松再次启动 Windows。
  • 在 Windows 11 上,只要 TPM 正常工作,安装后禁用安全启动不会导致问题。
警告

本文或本节内容的事实准确性存在争议

原因

安全启动更改不应影响 BitLocker:问题可能是自签名 Windows 引导加载程序并从引导加载程序链式加载它:只要 Windows 引导加载程序保持使用 MS 密钥签名,并且 Microsoft 证书已注册,就应该没问题。问题是禁用它并启动 Windows,还是禁用、重新启用它然后再启动 Windows?前者是可以理解的,后者是需要警告的。

(在 Talk:Dual boot with Windows 中讨论)

如果您也打算为 Linux 使用安全启动,则可能需要对安全启动设置进行更改。这些更改会阻止在没有恢复密钥的情况下解锁 BitLocker 磁盘,从而导致永久性数据丢失。在继续操作之前,请检查是否是这种情况,并保存您的 BitLocker 恢复密钥(如果尚未完成)。如果 Windows 是由供应商预装的,则这一点尤其重要。

快速启动和休眠

有两个可以休眠的操作系统,您可以休眠 Windows 并启动 Linux(或另一个操作系统),或者您可以休眠 Linux 并启动 Windows,或者休眠两个操作系统。

警告: 如果 Windows 休眠,而您双启动进入另一个操作系统并在文件系统(例如 NTFS)上对文件进行更改,而该文件系统可以被 Windows 和 Linux 读取和写入,并且已由 Windows [3]挂载,则可能发生数据丢失。同样,如果 Linux 休眠,而您双启动进入另一个操作系统等,也可能发生数据丢失。即使您按下关机按钮,Windows 也可能会休眠,请参阅 #Windows 设置 部分。

出于同样的原因,如果您在 Windows 和 Linux 之间共享一个 EFI 系统分区,那么如果您休眠(或启用快速启动后关机)Windows,然后启动 Linux,或者休眠 Linux,然后启动 Windows,则 EFI 系统分区可能会损坏。

ntfs-3g 添加了一个安全保护措施,以防止对休眠的 NTFS 文件系统进行读写挂载,但 Linux 内核中的 NTFS 驱动程序没有这种保护措施。

Windows 默认情况下无法读取通常用于 Linux 的文件系统,例如 ext4。除非您为它们安装 Windows 驱动程序,否则不必考虑这些文件系统。

Windows 设置

快速启动是 Windows 8 及更高版本中的一项功能,它会使计算机休眠而不是实际关机,以加快启动时间。

关于 Windows 快速启动和休眠设置,有多个选项将在接下来的章节中介绍。

  • 禁用快速启动并禁用休眠
  • 禁用快速启动并启用休眠
  • 启用快速启动并启用休眠

禁用快速启动的步骤在 Windows 8、Windows 8Windows 10Windows 11 的教程中有所描述。在任何情况下,如果您禁用某个设置,请确保在安装 Linux 之前禁用该设置,然后关闭 Windows;请注意,重新启动是不够的。

禁用快速启动并禁用休眠

这是最安全的选择,如果您不确定问题所在,建议使用此选项,因为它在从一个操作系统重新启动到另一个操作系统时,只需要最少的用户意识。您可以在 Windows 和 Linux 之间共享同一个 EFI 系统分区。

在具有管理员权限的 Windows 命令行 shell 中

> powercfg /H off
禁用快速启动并启用休眠

此选项需要在从一个操作系统重新启动到另一个操作系统时用户具有意识。如果您想在 Windows 休眠时启动 Linux,这是一个常见的用例,那么:

  • 您必须为 Windows 和 Linux 使用单独的 EFI 系统分区 (ESP),并确保 Windows 不挂载用于 Linux 的 ESP。由于每个驱动器只能有一个 ESP,因此用于 Linux 的 ESP 必须位于与用于 Windows 的 ESP 不同的驱动器上。在这种情况下,如果将 Linux 使用的 ESP 放在与 Linux 根分区不同的驱动器上,Windows 和 Linux 仍然可以安装在同一驱动器的不同分区中。
  • 您无法在 Linux 中读写挂载任何文件系统,该文件系统在 Windows 休眠时由 Windows 挂载。您应该对此格外小心,并考虑自动挂载行为。
  • 如果您完全关闭 Windows,而不是休眠,那么您可以读写挂载文件系统。
注意: 您可以通过在 Windows 中将驱动器挂载为外部驱动器并在休眠前在 Windows 中弹出驱动器来避免驱动器出现此问题。
启用快速启动并启用休眠

与“禁用快速启动并启用休眠”的情况适用相同的注意事项,但由于 Windows 无法完全关闭,只能休眠,因此您永远无法读写挂载任何在 Windows 休眠时由 Windows 挂载的文件系统。

注意:[4][死链 2024-07-30 ⓘ] 中所述,Windows 更新可能会重新启用快速启动。

Windows 文件名限制

Windows 限制文件路径长度小于 260 个字符

出于可以追溯到 DOS 的原因,Windows 还限制文件名中使用某些字符

  • < (小于号)
  • > (大于号)
  • : (冒号)
  • " (双引号)
  • / (正斜杠)
  • \ (反斜杠)
  • | (竖线或管道符)
  • ? (问号)
  • * (星号)

这些是 Windows 的限制,而不是 NTFS 的限制:任何其他使用 NTFS 分区的操作系统都可以正常工作。Windows 将无法检测到这些文件,运行 chkdsk 很可能会导致它们被删除。这可能会导致潜在的数据丢失。

NTFS-3G 通过 windows_names 选项将 Windows 限制应用于新文件名:ntfs-3g(8) § Windows_Filename_Compatibility (参见 fstab)。

安装

设置 Linux/Windows 双启动系统的推荐方法是首先安装 Windows,仅使用磁盘的一部分用于其分区。完成 Windows 设置后,启动进入 Linux 安装环境,您可以在其中为 Linux 创建和调整分区大小,同时保持现有 Windows 分区不变。Windows 安装将创建 EFI 系统分区,您的 Linux 引导加载程序可以使用该分区。如果您是从头开始安装 Windows,请注意 Windows 安装程序创建的 EFI 系统分区对于大多数用例来说太小。请参阅 #Windows 安装程序创建的 EFI 系统分区太小

先安装 Windows

BIOS 系统

使用 Linux 引导加载程序

您可以使用任何支持多启动的 BIOS 引导加载程序

使用 Windows Vista/7/8/8.1 引导加载程序

本节介绍如何:将 Linux 引导加载程序安装到分区而不是 MBR;将此引导加载程序复制到 Windows 引导加载程序可读取的分区;使用 Windows 引导加载程序启动 Linux 引导加载程序的所述副本。

注意: 一些文档指出,Windows 引导加载程序加载的分区必须是主分区,但扩展分区的用法已被证明是可行的。
  • 制作 VBR 的副本
    dd if=/dev/disk of=/path/to/linux.bin bs=512 count=1
    其中 /dev/disk 是安装引导加载程序的分区的路径,而 /path/to/ 是您希望副本可被 Windows 引导加载程序读取的已挂载文件系统。
  • 在 Windows 上,linux.bin 文件现在应该可以访问了。以管理员权限运行 cmd(导航至“开始 > 所有程序 > 附件”,右键单击“命令提示符”并选择“以管理员身份运行”)
    bcdedit /create /d "Linux" /application BOOTSECTOR
    BCDEdit 将为此条目返回一个 UUID。在剩余步骤中,这将被称为 UUID
    bcdedit /set UUID device partition=c: (or the drive letter on which linux.bin is kept)
    bcdedit /set UUID path \path\to\linux.bin
    bcdedit /displayorder UUID /addlast
    bcdedit /timeout 30

重新启动后,Windows 和 Linux 现在都应该显示在 Windows 引导加载程序中。

注意: 在某些硬件上,Windows 引导加载程序用于使用第二个电源按钮启动另一个操作系统(例如 Dell Precision M4500)。

有关更多详细信息,请参阅 https://www.iceflatline.com/2009/09/how-to-dual-boot-windows-7-and-linux-using-bcdedit/

UEFI 系统

如果您已经安装了 Windows,它将在 GPT 格式化的GPT磁盘上创建一些分区:

  • 一个 Windows 恢复环境分区,通常大小为 499 MiB,其中包含启动 Windows 所需的文件(即相当于 Linux 的 /boot),
  • 一个带有 FAT32 文件系统的 EFI 系统分区
  • 一个 Microsoft 保留分区,通常大小为 128 MiB,
  • 一个带有 NTFS 文件系统的 Microsoft 基本数据分区,它对应于 C:
  • 可能的系统恢复和备份分区和/或辅助数据分区(通常对应于 D: 及以上)。

使用 Windows 中的磁盘管理实用程序,检查分区是如何标记的以及报告了哪种类型。这将帮助您了解哪些分区对 Windows 至关重要,以及您可以重新利用哪些其他分区。Windows 磁盘管理实用程序也可用于缩小 Windows (NTFS) 分区,以释放磁盘空间用于 Linux 的其他分区。

警告: 上面列表中的前 4 个分区至关重要,请勿删除它们。

然后,您可以根据需要继续进行分区。引导加载程序需要支持链式加载其他 EFI 应用程序,以实现 Windows 和 Linux 的双启动。不应创建额外的 EFI 系统分区,因为它可能会阻止 Windows 启动

注意: 仅当 Linux 安装在第二个硬盘上,并且在第二个硬盘上创建了新的 EFI 系统分区时,才会出现这种情况。

只需挂载现有分区

提示

配备较新版本 Windows 的计算机通常启用了安全启动。您将需要采取额外的步骤来禁用安全启动,或者使您的安装介质与安全启动兼容(请参阅上文和链接页面)。

先安装 Linux

即使设置 Linux/Windows 双启动系统的推荐方法是首先安装 Windows,但也可以反过来做。与先安装 Windows 不同,您必须预先为 Windows 预留一个分区,例如 40GB 或更大。或者拥有一些未分区的磁盘空间,或者在启动 Windows 安装之前,从 Linux 安装内部为 Windows 创建和调整分区大小。

UEFI 固件

Windows 将使用已存在的 EFI 系统分区。以下是一个概要,假设固件中禁用了安全启动

  1. 启动进入 Windows 安装程序。注意只让它使用预期的分区,但在其他方面让它像没有 Linux 安装一样工作。
  2. 按照 #快速启动和休眠 部分操作。
  3. 修复启动时加载 Linux 的能力,或许可以按照 #安装 Windows 后无法启动 Linux 操作。在 #UEFI 系统 中已经提到,一些 Linux 启动管理器将自动检测 Windows 启动管理器。即使较新的 Windows 安装具有高级重启选项,您可以从中启动进入 Linux,但建议使用其他方法启动进入 Linux,例如 Arch 安装介质或 Live CD。
Windows 10 和 GRUB

以下假设 GRUB 用作引导加载程序(尽管对于其他引导加载程序,该过程可能类似),并且 Windows 10 将安装在具有现有 EFI 系统分区的 GPT 块设备上(有关更多信息,请参阅 Microsoft 文档中的“系统分区”部分)。

使用程序 gdisk 在块设备上创建以下三个新分区。有关更精确的分区大小,请参阅 [5]

最小大小 代码 名称 文件系统
16 MB 0C01 Microsoft 保留 N/A
~40 GB 0700 Microsoft 基本数据 NTFS
300 MB 2700 Windows 恢复环境 NTFS

使用软件包 ntfs-3g 中的 mkntfs 程序在新创建的 Microsoft 基本数据和 Windows RE(恢复)分区上创建 NTFS 文件系统。

将系统重新启动到 Windows 10 安装介质。当提示安装时,选择自定义安装选项,并将 Windows 安装在之前创建的 Microsoft 基本数据分区上。这也应该在 EFI 系统分区中安装 Microsoft EFI 文件。

安装后(无需设置和登录 Windows),重新启动进入 Linux 并生成 GRUB 配置,以便 Windows 启动管理器在下次启动时在 GRUB 菜单中可用。

故障排除

无法创建新分区或找到现有分区

请参阅 #Windows UEFI 与 BIOS 限制

安装 Windows 后无法启动 Linux

请参阅 Unified Extensible Firmware Interface#Windows changes boot order

恢复 Windows 启动记录

按照惯例(并且为了便于安装),Windows 通常安装在第一个分区上,并将其分区表和对其引导加载程序的引用安装到该分区的第一个扇区。如果您意外地将 GRUB 等引导加载程序安装到 Windows 分区或以其他方式损坏了启动记录,则需要使用实用程序进行修复。Microsoft 在其恢复光盘上,有时在其安装光盘上包含了一个启动扇区修复实用程序 FIXBOOT 和一个名为 FIXMBR 的 MBR 修复实用程序。使用此方法,您可以分别修复第一个分区的启动扇区上对引导加载程序文件的引用,以及修复 MBR 上对第一个分区的引用。完成此操作后,您必须将 GRUB 重新安装到 MBR,就像最初的意图一样(即,可以将 GRUB 引导加载程序分配为链式加载 Windows 引导加载程序)。

如果您希望恢复使用 Windows,可以使用 FIXBOOT 命令,该命令从 MBR 链接到第一个分区的引导扇区,以恢复 Windows 操作系统的正常自动加载。

值得注意的是,有一个名为 ms-sys 的 Linux 实用程序(软件包 ms-sysAUR 在 AUR 中),可以安装 MBR。但是,此实用程序目前仅能够写入新的 MBR(支持所有操作系统和文件系统)和用于 FAT 文件系统的引导扇区(也称为引导记录;相当于使用 FIXBOOT)。大多数 LiveCD 默认情况下没有此实用程序,因此需要先安装它,或者您可以查看包含它的救援 CD,例如 Parted Magic

首先,再次写入分区信息(表),通过

# ms-sys --partition /dev/sda1

接下来,写入 Windows 2000/XP/2003 MBR

# ms-sys --mbr /dev/sda  # Read options for different versions

然后,写入新的引导扇区(引导记录)

# ms-sys -(1-6)          # Read options to discover the correct FAT record type

ms-sys 也可以写入 Windows 98、ME、Vista 和 7 的 MBR,请参阅 ms-sys -h

恢复意外删除的 EFI 系统分区

如果您有一个 GPT 分区磁盘并且擦除了(例如,使用 mkfs.fat -F32 /dev/sdxEFI 系统分区,您会注意到Windows 启动管理器将从您的启动选项中消失,或者选择它会将您送回 UEFI。

要解决此问题,请使用 Windows 安装介质启动,按 Shift+F10 打开控制台(或单击下一步 > 修复计算机 > 疑难解答... > 高级 > 命令提示符),然后启动 diskpart 实用程序

X:\Sources> diskpart
DISKPART> list disk

通过键入以下内容选择适当的硬盘驱动器

DISKPART> select disk number

确保存在类型为系统的分区(EFI 系统分区)

DISKPART> list partition

选择此分区

DISKPART> select partition number

并为其分配一个临时驱动器号

DISKPART> assign letter=G:
DiskPart successfully assigned the drive letter or mount point.

为了确保驱动器号已正确分配

DISKPART> list vol
 Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
 ----------  ---  -----------  -----  ----------  -------  ---------  --------
 Volume 0     E                       DVD-ROM         0 B  No Media
 Volume 1     C                NTFS   Partition    195 GB  Healthy    Boot
 Volume 2         WINRE        NTFS   Partition    400 MB  Healthy    Hidden
 Volume 3     G                FAT32  Partition    499 MB  Healthy    System

关闭 diskpart

DISKPART> exit

导航到 C:\(或您的系统驱动器号是什么)

X:\Sources> cd /d C:\

接下来是“魔法”命令,它重新创建 BCD 存储(/s 用于挂载点,/f 用于固件类型,可选添加 /v 用于详细输出)

C:\> bcdboot C:\Windows /s G: /f UEFI
提示: 如果在一分钟后卡住,请按 Ctrl+c。有时会发生这种情况,但您会收到类似 boot files successfully created 的消息,并且它会工作正常。

您现在应该有 Windows 启动管理器 作为启动选项工作,从而可以访问 Windows。只需确保永远不要再次格式化您的 EFI 系统分区!

注意: 删除分配给 EFI 系统分区的驱动器号 G,以防止它在我的电脑中显示。

参见 [6][7][8]

Windows 安装程序创建的 EFI 系统分区太小

默认情况下,Windows 安装程序 创建一个 100 MiB 的 EFI 系统分区(除了 高级格式 4K 本机驱动器,它会创建一个 300 MiB 的 ESP)。这通常太小,无法容纳您需要的一切。您可以用一个新的、更大的 EFI 系统分区替换现有的 EFI 系统分区

如果您是从头开始安装 Windows,您可以在安装期间指定 EFI 系统分区的大小[9]

  1. 选择您的安装目标,并确保它没有分区。
  2. 单击新建,然后单击应用按钮。然后 Windows 安装程序将生成预期的分区(几乎将其所有内容分配给其主分区),而仅为 EFI 分配 100MB。
  3. 使用 UI 删除 SystemMSRPrimary 分区。保留 Recovery 分区(如果存在)。
  4. Shift+F10 打开命令提示符。
  5. 键入 diskpart.exe 并按 Enter 键打开磁盘分区工具。
  6. 键入 list disk 并按 Enter 键列出您的磁盘。找到您打算修改的磁盘并记下其磁盘编号。
  7. 键入 select disk disk_number,其中 disk_number 是要修改的磁盘编号。
  8. 键入 create partition efi size=size,其中 size 是 ESP 的期望大小,单位为兆字节 (MiB),然后按 Enter 键。有关推荐大小,请参阅 EFI 系统分区#创建分区 中的注释。
  9. 键入 format quick fs=fat32 label=System 并按 Enter 键格式化 ESP
  10. 键入 exit 并按 Enter 键退出磁盘分区工具,然后再次键入 exit 并按 Enter 键。

Windows 安装完成后,您可以在 Windows 中缩小主分区的大小,然后重新启动并继续您通常的 Arch 安装,填充您刚刚创建的空间。

或者,您可以在驱动器上安装 Windows 之前,使用 Arch 安装介质创建一个您首选大小的单个 EFI 系统分区。Windows 安装程序将使用您创建的 EFI 系统分区,而不是创建自己的分区。

无法在 BIOS 系统上安装 Windows 累积更新

在 BIOS 系统上,Windows 累积更新可能会失败,并显示错误我们无法完成更新。正在撤销更改。请勿关闭计算机。在这种情况下,在 Windows 中,您需要将 Windows 分区设置为活动状态

C:\> diskpart
DISKPART> list disk
DISKPART> select disk number
DISKPART> list partition
DISKPART> select partition number
DISKPART> active
DISKPART> exit

成功安装 Windows 更新后,使用上面的命令将您的 Linux 分区标记回活动状态。

时间标准

  • 推荐:将 Arch Linux 和 Windows 都设置为使用 UTC,遵循 系统时间#Microsoft Windows 中的 UTC。如果某些版本的 Windows 设置为在线同步时间,则它们会将硬件时钟恢复为本地时间。此问题似乎已在 Windows 10 中修复。
  • 不推荐:将 Arch Linux 设置为本地时间并禁用所有时间同步守护程序。这将让 Windows 负责硬件时钟校正,并且您需要记住每年至少启动两次 Windows(在春季和秋季),当 DST 生效时。因此,如果您通常几天或几周不启动 Windows,请不要在论坛上询问为什么时钟慢或快了一个小时。

蓝牙配对

当涉及到将蓝牙设备与 Linux 和 Windows 安装都配对时,两个系统具有相同的 MAC 地址,但将使用在配对过程中生成的不同链接密钥。这导致设备在与另一个安装配对后无法连接到一个安装。要允许设备连接到任一安装而无需重新配对,请遵循 蓝牙#双启动配对

另请参阅