Arch + Windows 雙系統 - Arch Linux 中文维基

跳至內容

# Arch + Windows 雙系統

出自 Arch Linux 中文维基
翻譯狀態：

- 本文（或部分內容）譯自 Dual boot with Windows，最近一次同步於 2025-01-16，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

## 重要信息

### Windows 在 UEFI 和 BIOS 上的限制

不同版本的 Windows 對固件啟動模式和分區表有不同的需求。以下依版本列出。

注意：下列情形是 Windows安裝程序 的限制。但 Windows 本身仍可能在 Windows安裝程序 不支持的情況下正常運行。例如，在繞過相關安裝檢測後，Windows 11 仍可在 BIOS/MBR 的配置上運行。

- Windows 8/8.1 和 10 的 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.1 和 10 的 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位的系統，無論服務包級別、位寬度、版本（SKU），或固件中是否支持UEFI，都默認以 BIOS/MBR 模式啟動。
- 大部分預裝 Windows 7 x86_64的系統，無論服務包級別、位寬度還是版本（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`並回車
- 系統信息->系統摘要->BIOS模式
  - 如果值為 `UEFI`，Windows 以 UEFI/GPT 模式啟動。如果值為 `Legacy`，Windows 以 BIOS/MBR 模式啟動。

通常，Windows 安裝程序基於固件模式強制選擇磁碟分區類型：UEFI 啟動只能裝到 GPT 盤，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的這個限制，因為boot loader的安裝過程取決於固件類型和磁碟分區配置。建議遵循Windows使用的方法，即選擇UEFI/GPT啟動或BIOS/MBR啟動。請參見https://support.microsoft.com/kb/2581408獲取更多信息。

### UEFI 和 BIOS 引導加載程序的限制

大多數某類（UEFI 或 BIOS 之一）固件上的 Linux 引導加載程序，不能啟動或鏈式加載另一種固件上的引導加載程序。例如，如果 Arch 以 UEFI 模式安裝在一塊硬碟下、Windows 以 BIOS 模式安裝在另一塊硬碟下，Arch 的 UEFI 引導加載程序不能鏈式加載 Windows 的 BIOS 引導加載程序。這與分區表類型無關。反之亦然。

有幾個例外：

- 裝在蘋果電腦上的 GRUB。這裡，UEFI 模式的 GRUB 可以用`appleloader`命令啟動 BIOS 模式安裝的作業系統（在非蘋果電腦上無效）。
- rEFInd 理論上也支持從 UEFI 固件啟動 BIOS 作業系統，但作者稱在非蘋果電腦上不總是正常工作。
- 一塊硬碟上的 BIOS/GPT Arch 所使用的引導加載程序可以啟動另一塊硬碟上的 BIOS/MBR Windows，如果該引導加載程序本身支持鏈式加載其他硬碟的系統。

注意：如果要在同一硬碟上與Windows雙啟動，Arch應該遵循與Windows安裝相同的固件引導模式和分區組合。

Windows 安裝程序會創建一個100 MiB的EFI系統分區（對於先進格式化 4K本地驅動器，它會創建一個300 MiB的ESP），因此多內核使用受到限制。解決方法包括：

- 將ESP掛載到`/efi`，並使用具有文件系統驅動程序的boot loader，它能夠啟動位於其他分區的內核。
- 減小 Windows 分區的大小，並替換現有的 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 安全啟動 (Secure Boot)。對於所有 OEM 預裝系統 Microsoft 都強制要求這麼做。

目前 Arch Linux 的安裝媒介尚不支持安全啟動。參見 UEFI/安全啟動#引導安裝介質。

目前建議的做法是，在試圖啟動 Arch Linux 之前在固件設置中手動禁用 UEFI 安全啟動。這樣，Windows 8/8.1/10/11 應該也還能正常啟動。然而， Microsoft 已經明確禁止在預裝的Windows 8/8.1及以上系統中以遠程或編程的方式（從作業系統內部）禁用安全啟動，因此，這種做法的唯一問題是需要操作者能夠親自坐在目標電腦前並直接訪問該電腦。。

注意：

- 如果使用 BitLocker 加密 Windows 且將密鑰保存在 TPM 內以便啟動時自動解鎖，則一旦禁用安全啟動，Windows 將無法啟動，並顯示 BitLocker 恢復屏幕。雖然如此，該問題並不永久，只要再次啟用安全啟動即可再次啟動 Windows。亦可在禁用加密後安裝 Arch Linux。
- 如果使用的是 Windows 11，在安裝後禁用安全啟動不會導致問題，只要TPM正常工作即可。

警告：

本文或本章節的事實準確性存在爭議。

原因：

安全啟動的更改不應影響 BitLocker：問題可能是自簽名 Windows 引導加載程序並從引導加載程序鏈式加載它：只要 Windows 引導加載程序保持使用 MS 密鑰簽名，並且 Microsoft 證書已註冊，它應該沒問題。 問題是禁用它並啟動 Windows，還是禁用、重新啟用它然後啟動 Windows？ 第一個是可以理解的，第二個是需要警告的。

（在 Talk:Arch + Windows 雙系統 中討論）

如果您打算也為 Linux 使用安全啟動，您可能需要對安全啟動設置進行更改。這些更改會阻止在沒有恢復密鑰的情況下解鎖 BitLocker 磁碟，導致永久數據丟失。在繼續之前，請檢查是否是這種情況，如果尚未完成，請備份您的 BitLocker 恢復密鑰。如果 Windows 是由供應商預裝的，這一點尤其重要。

### 快速啟動和休眠

兩個系統都可以休眠，既可以休眠 Windows 而啟動 Linux （或者另一個 OS），又可以休眠 Linux 而啟動 Windows，或者同時休眠兩個系統。

警告：如果在 Windows 休眠時使用雙啟動進入另一 OS 並在二者皆可讀/寫的（如 NTFS）且已經被 Windows 掛載的某個文件系統上做出更改，有可能發生數據損失。（參見[3]。）同樣，如果 Linux 休眠而啟動另一個 OS，也可能出現數據損失，如此之類。在選擇關閉 Windows 時，Windows 也有可能實際上在休眠而不是在關機。參見#Windows 設置。

同樣的原因，如果 Windows 和 Linux 使用同一個 EFI 系統分區，如果休眠（或在啟用快速啟動時關機）Windows 並啟動 Linux，或者休眠 Linux 並啟動 Windows， EFI 系統分區可能遭到破壞。

ntfs-3g包 加入了一種保護機制以阻止以讀/寫方式掛載已休眠的 NTFS 文件系統，但是 Linux 內核中的 NTFS 驅動並沒有該機制。

一般情況下，Windows 是無法讀取像目前廣泛用於 Linux 的 ext4 之類的文件系統的。除非你為這些 Windows 所不支持的文件系統安裝 Windows 驅動，否則這些文件系統可以忽略。

#### Windows 設置

快速啟動在 Windows 8 引入，其在關機時會休眠而非真正意義上關閉 Windows 以加快啟動速度。

在之後的章節中會談到關於快速啟動和休眠的 Windows 設置項。

- 關閉快速啟動並關閉休眠
- 關閉快速啟動並啟用休眠
- 啟用快速啟動並啟用休眠

禁用快速啟動的方法：Windows 8，Windows 10, Windows 11。無論如何，如果你要禁用某項設置，請確保在禁用該設置之後關閉 Windows，再安裝 Linux；請注意不應只是重啟。

##### 關閉快速啟動並關閉休眠

這是最安全的方法，並且如果對該問題不確定，那麼推薦使用該方法。因為該方法在重啟進入另一 OS 時對用戶感知要求並不高。這時可以讓 Windows 和 Linux 共享 EFI 系統分區。

可在具有管理員權限的 Windows 命令行 shell 中用下面的指令代替滑鼠操作：

    > powercfg /H off

##### 關閉快速啟動並啟用休眠

該方法在重啟進入另一 OS 時要求用戶感知。如果你想在 Windows 休眠時啟動 Linux（這種情況很常見）那麼：

- 必須為 Windows 和 Linux 使用不同的 EFI 系統分區 (ESP)，並確保 Windows 在休眠前沒有掛載 Linux 的 ESP。由於每個硬碟只能有一個 ESP，Linux 的 ESP 所處的盤必須與 Windows 的不同。即使在這種情況下， 如果你將Linux使用的ESP放在與Linux根分區不同的硬碟上，Windows 和 Linux 仍然可以安裝在同一硬碟的不同分區中。
- 不能在 Linux 下以 讀/寫方式 掛載任何在 Windows 休眠時已經由 Windows 掛載的任何文件系統。必須非常小心對待此事，對此還應考慮Automount行為。
- 如果完全關閉 Windows 而非將其休眠，那麼這些文件系統可以讀/寫掛載。

注意：在 Windows 中將某盤掛載為可移動磁碟並在休眠前將其彈出可以為該盤避免此問題。

##### 啟用快速啟動並啟用休眠

此情況下，應該考慮與「關閉快速啟動並啟用休眠」時同樣的情況。但是由於此時無法將 Windows 完全關閉，而只能將其休眠，在 Windows 休眠時由 Windows 掛載的分區將永遠不能讀/寫掛載。

注意：Windows Update 更新可能導致快速啟動被重新啟用。見[4][失效連結 2024-07-30 ⓘ]

### Windows 文件名限制

Windows 限制文件路徑小於260 個字符。

由於一些可以追溯到 DOS 的原因，Windows 同時禁止文件名中出現某些字符：

- `<` (小於號)
- `>` (大於號)
- `:` (半角冒號)
- `"` (半角雙引號)
- `/` (反斜槓)
- `\` (斜槓)
- `|` (豎槓)
- `?` (半角問號)
- `*` (星號)

這屬於 Windows 而非 NTFS 本身的限制——任何使用 NTFS 分區的其它 OS 都不受影響。Windows 將無法檢測到這些文件，並且運行 `chkdsk` 很可能會使它們被刪除，造成數據丟失的風險。

如果使用`windows_names`選項，NTFS-3G將會把和 Windows 一樣的限制應用於新文件的名字上：ntfs-3g(8) § Windows_Filename_Compatibility。（見fstab）

## 安裝

設置 Linux/Windows 雙啟動的推薦方式是，先安裝 Windows， 但是只為其分區劃一部分硬碟空間。在 Windows 設置完畢後，啟動 Linux 的安裝環境以便為 Linux 創建分區並調整分區大小，但 Windows 分區保持原樣。Windows 的安裝已經創建了一個能夠用於你的 Linux 啟動引導程序的 EFI 系統分區。如果您從頭開始安裝 Windows，請注意 Windows 安裝程序創建的 EFI 系統分區對於大多數用例來說太小。請參見#Windows 安裝程序創建的 EFI 系統分區太小。

### 先 Windows 後 Linux

#### BIOS 系統

##### 使用 Linux 啟動引導程序

你可以使用任何具有多啟動支持的 BIOS 啟動引導程序。

##### 使用 Windows Vista/7/8/8.1 啟動引導程序

本章節將講述如何在某一分區而非 MBR 上安裝一個 Linux 啟動引導程序、將該程序複製到某個可被 Windows 引導程序讀取的分區，以及用 Windows 引導程序啟動該 Linux 引導程序。

注意：某些文檔聲明能被 Windows 引導器讀取的分區必須是主分區，但是擴展分區的使用也有成功記錄。

- 在安裝引導程序時，請將其安裝在你的`/boot`分區而非 MBR 上。如果使用 GRUB，請見GRUB/技巧和竅門#安裝到分區上或者無分區磁碟上；如果是 Syslinux，見Syslinux#Manual install處的附註；如果是 LILO，見LILO#Install to partition or partitionless disk。
- 建立一份 VBR 的拷貝：

    dd if=/dev/disk of=/path/to/linux.bin bs=512 count=1

其中`/dev/disk`是你安裝啟動引導程序的分區的路徑，`/path/to/`是你想要 Windows 啟動引導程序可以讀取該拷貝的且已經掛載的文件系統。

- 現在你的 linux.bin 應該可以在 Windows 下訪問了。以管理員權限運行cmd（進入開始菜單-全部應用程式-(Windows)附件。右鍵命令提示符並選擇以管理員權限運行）並執行以下命令：

    bcdedit /create /d "Linux" /application BOOTSECTOR

BCDEdit 將會返回該項的UUID。該 UUID 在下面的步驟中將會用`UUID`代替。

    bcdedit /set UUID device partition=X: (X:為linux.bin所處分區的分卷號)
    bcdedit /set UUID path \path\to\linux.bin
    bcdedit /displayorder uuid /addlast
    bcdedit /timeout 30

重啟之後，Windows 和 Linux 應該都顯示在 Windows 的啟動引導程序當中。

注意：在某些電腦上，Windows 引導程序用另一電源按鈕啟動另一 OS（例如：Dell Precision M4500）。

參見 https://www.iceflatline.com/2009/09/how-to-dual-boot-windows-7-and-linux-using-bcdedit/

#### UEFI 系統

如果你已經安裝 Windows，它已經在一張GPT格式的硬碟上創建如下分區：

- 一個WinRE（ Windows Recovery Environment）分區，一般大小為499 MiB，包含啟動 Windows 所需的文件，等同於 Linux 下的`/boot`分區;
- 一個具有 FAT32 文件系統的 EFI 系統分區;
- 一個MSR 分區(Microsoft Reserved Partition);
- 一個格式化為 NTFS 的 Microsoft Basic Data 分區，對應`C:`;
- 可能是系統恢復/備份/非主要數據分區（對應`D:`等）;

在 Windows 下，使用磁碟管理工具查看各分區的標籤以及報告的類型。這樣能使人清楚哪些分區屬於必要的 Windows 分區，以及可能隨時改變用途的其它分區。Windows 磁碟管理同樣可以縮小 Windows (NTFS) 分區以便為 Linux 騰出空間。

警告：上述分區中前 4 種為關鍵系統分區，不能刪除。

現在可以繼續按需進行分區。引導加載程序需要支持鏈式加載其他EFI應用程式，以實現Windows和Linux的雙重啟動。

不應創建額外的EFI系統分區，因為這可能會導致Windows無法啟動。直接掛載現有分區即可。

注意：只有 Linux 被安裝在另一塊硬碟並在磁碟上創建了新的 EFI 系統分區時才會出現此問題。

啟動引導程序須支持鏈式載入其它 EFI 應用程式以進行 Windows-Linux 雙啟動。

提示：* rEFInd和systemd-boot都會自動檢測Windows Boot Manager(`\EFI\Microsoft\Boot\bootmgfw.efi`)並將其顯示於自己的啟動菜單中。如果使用 GRUB，見GRUB#Windows installed in UEFI/GPT mode（手動添加啟動項）或GRUB#Detecting other operating systems（自動生成配置文件）。

- 為了節省EFI系統分區的空間，特別是對於多個內核，請增加initramfs的壓縮率。

預裝較新版本的 Windows 的電腦通常啟用安全啟動。需要進行額外操作以禁用安全啟動或使你的安裝媒體支持安全啟動（詳見上文）。

### 先 Linux 後 Windows

即使設置 Windows-Linux 雙啟動時一般推薦先安裝 Windows，換成 Linux 在前也可以實現雙啟動。與 Windows 在前的方式相比，這種方式需要在啟動 Windows 安裝之前創建並擱置一個（比如 40GB 或者更高的）Windows 分區，或者預留一些空閒的未分區空間，或者從 Linux 安裝中創建/調整 Windows 分區。

#### UEFI 固件

Windows 將會使用已有的EFI 系統分區。 假設安全啟動已禁用。

1. 啟動 Windows 安裝。注意讓安裝器使用你希望其使用的分區，然後讓它如同沒有安裝 Linux 一樣工作。
2. 按照#快速啟動和休眠的說明操作。
3. 恢復 Linux 啟動（可參閱#安裝 Windows 後 Linux 無法啟動）。前面已經提到過，某些 Linux 引導啟動程序會自動檢測Windows Boot Manager。即使較新的 Windows 安裝都有一個能用於啟動到 Linux 的「高級啟動」選項，仍然建議使用 Arch 安裝媒體或 LiveCD 之類的方式啟動 Linux。

##### Windows 10 和 GRUB

這裡假設使用GRUB作為啟動引導程序（對於其它引導程序大致思路也相似）且 Windows 10 將會安裝到一個已經有 EFI 系統分區的 GPT 塊設備上。詳見這篇 Microsoft 文檔的「系統分區」章節。

用`gdisk`在塊設備上創建如下分區：（更精確的分區大小見[5]）

標題文本
最小尺寸 | 分區類型代碼 | 分區類型名 | 文件系統
--- | --- | --- | ---
16 MB | 0C01 | Microsoft reserved | N/A
約 40 GB或更大 | 0700 | Microsoft basic data | NTFS
300 MB | 2700 | Windows RE | NTFS

用來自ntfs-3g包的`mkntfs`工具在新創建的 Microsoft basic data 和 Windows RE 分區上創建新的 NTFS 文件系統。

將系統重啟到 Windows 10 安裝媒體。選擇「自定義」安裝選項並將 Windows 安裝到先前創建的 Microsoft basic data 分區上。這樣應該也會將 Microsoft EFI 文件安裝到 EFI 分區中。

安裝完畢後（不需要 OOBE 和登錄），重啟進入 Linux 並生成一個 GRUB 配置文件以便 Windows 的啟動管理器在下次啟動時啟動在 GRUB 菜單中。

### 故障排除

#### 無法創建新分區或無法找到已有分區

見 #Windows 在 UEFI 和 BIOS 上的限制。

#### 安裝 Windows 後 Linux 無法啟動

見 Unified Extensible Firmware Interface#Windows changes boot order

#### 恢復 Windows 啟動記錄

按照慣例（且為了更簡易的安裝過程），Windows 通常安裝在第一分區並將其分區表和其啟動引導程序的引用安裝到該分區的第一扇區。如果不慎把一個 GRUB 之類的啟動引導器安裝到 Windows 分區上，或者用其它什麼方式弄壞了 Windows 的啟動記錄，就需要使用工具對其進行修復。Microsoft 在他們的恢復光碟（有些時候，安裝光碟）上提供一個叫做`FIXBOOT`的啟動扇區修復工具和一個名為`FIXMBR`的 MBR 修復工具。這種方式可以分別更正第一分區的啟動扇區對啟動引導程序的引用以及 MBR 上對第一分區的引用。在此之後需要按原先計劃將 GRUB 重新安裝到 MBR 上（GRUB 可以配置為鏈式加載 Windows 啟動引導程序）。

如果你希望回退到 Windows，你可以用`FIXBOOT`命令連結 MBR 和第一分區啟動扇區以恢復 Windows 的自動啟動。

有一個叫做ms-sysAUR的工具可以用於安裝 MBR。但是，該工具目前只能寫新 MBR 或 FAT 文件系統的啟動扇區（又稱為啟動記錄；等效於`FIXBOOT`）。許多 LiveCD 默認都沒有該工具，所以其需要提前安裝，或者可以考慮包含該工具的急救 CD，如Parted Magic。

首先，重新寫一遍分區信息（表）：

    # ms-sys --partition /dev/sda1

接下來，寫 Windows 2000/XP/Server 2003 MBR：

    # ms-sys --mbr /dev/sda  #查閱 options 列表以獲取不同版本的信息

最後，寫啟動扇區：

    # ms-sys -(1-6) #查閱 options 列表以查找正確的 FAT 記錄類型

`ms-sys`同樣可以寫 Windows 98/ME 及 Windows Vista/7 MBR。詳見`ms-sys -h`。

#### 恢復意外刪除的EFI系統分區

如果您的磁碟採用GPT分區，並且擦除了（例如使用 `mkfs.fat -F32 /dev/sdx` 擦除）EFI系統分區，您會發現Windows引導管理器要麼從啟動選項中消失，要麼選擇它會將您送回UEFI界面。

欲解決這個問題，請使用Windows安裝介質啟動，按下 `Shift+F10` 打開控制台（或點擊 NEXT > Repair Computer > Troubleshoot... > Advanced > Command Prompt ），然後啟動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:\

接下來是"magic"命令，重新創建BCD存儲（使用 `/s` 作為掛載點， `/f` 作為固件類型，可選擇添加 `/v` 以獲取詳細信息）：

    C:\> bcdboot C:\Windows /s G: /f UEFI

提示：如果一分鐘後卡住了，點擊 `Ctrl+c`。有時會發生這種情況，但你會收到一個類似 `boot files successfully created` 的消息，而且它會正常工作。

現在，您應該已經將 Windows引導管理器（Windows Boot Manager）設置為啟動選項，從而可以訪問Windows。只需確保再也不要格式化您的EFI系統分區！

注意：刪除分配給EFI系統分區的G盤符，以防止它在我的電腦中顯示出來。

參見 [6], [7] 和 [8].

#### Windows 安裝程序留下的 EFI 系統分區太小

默認情況下，Windows 安裝程序會創建一個 100 MiB 的 EFI 系統分區（在Advanced Format盤上為 300 MiB）。一般來說，這種容量並不足以放下所需要的所有文件。您可以替換現有的 EFI 系統分區為一個新的、更大的分區。

不過，如果你從頭開始安裝Windows，就可以在安裝過程中指定EFI系統分區的大小[9]：

1. 選擇您的安裝目標，並確保它沒有分區。
2. 點擊「New」按鈕，然後點擊「Apply」按鈕。Windows安裝程序將生成預期的分區（將幾乎所有內容分配給其主分區），並將僅分配100MB給EFI。
3. 用安裝程序的圖形界面刪除 `System` 、 `MSR` 和 `Primary` 分區。保留 `Recovery` 分區（如果存在）不變。
4. 按下 `Shift+F10` 鍵打開命令提示符。
5. 輸入 `diskpart.exe` 並按下 `Enter` 打開磁碟分區工具。
6. 輸入 `list disk` 並按下 `Enter` 列出您的磁碟。找到您打算修改的磁碟並記錄其磁碟編號。
7. 輸入 `select disk disk_number` 和磁碟號以進行修改。
8. 輸入 `create partition efi size=size` 和所需的ESP大小（以Mebibytes（MiB）為單位），然後按 `Enter` 。請參閱EFI 系統分區#創建分區獲取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時間（見系統時間#Windows 系統使用 UTC）。某些 Windows 版本在設置為自動同步網絡時間時會將 RTC（硬體時鐘） 回退到本地時間（localtime）。該問題在 Windows 10 中似乎已修復。

- 不建議：將Arch Linux的硬體時鐘模式設為localtime並禁用任何時鐘同步服務。這將讓Windows負責硬體時鐘的校正，並且你需要在一年中至少啟動Windows兩次(分別在春季與秋季)以正確應用夏令時。所以請不要忘記啟動 Windows 而在論壇問為什麼時鐘會快/慢一個小時。

## 藍牙配對

對於將藍牙設備同時與 Linux 和 Windows 配對，兩個系統均使用相同的 MAC 地址，但是配對過程中會使用不同的 link keys，導致在藍牙設備與其中一個系統配對後就無法連接到另一個系統。如果想要使藍牙設備不用重新配對就在兩個系統下都可用，見Bluetooth#Dual boot pairing。

## 參見

- Booting Windows from a desktop shortcut
- One-time boot into Windows partition from desktop shortcut
- Windows 7/8/8.1/10 ISO to Flash Drive burning utility for Linux (MBR/GPT, BIOS/UEFI, FAT32/NTFS)

分類：​

- 啟動過程
- 安裝過程
- 包含失效連結的頁面

隱藏分類：​

- 使用「模板:準確性」標記的頁面或章節

Arch + Windows 雙系統
新增話題