「Windows とのデュアルブート」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎UEFI 環境: 削除。)
(校正(でき・出来))
 
(2人の利用者による、間の29版が非表示)
1行目: 1行目:
{{Translateme|最終更新は 2020-10-09 ですが、変更箇所が多数あります。}}
 
 
[[Category:ブートプロセス]]
 
[[Category:ブートプロセス]]
 
[[Category:Arch の入手とインストール]]
 
[[Category:Arch の入手とインストール]]
 
[[en:Dual boot with Windows]]
 
[[en:Dual boot with Windows]]
[[es:Dual boot with Windows]]
+
[[fr:Dual boot with Windows]]
[[ru:Dual boot with Windows]]
+
[[pt:Dual boot with Windows]]
[[sk:Dual boot with Windows]]
 
 
[[zh-hans:Dual boot with Windows]]
 
[[zh-hans:Dual boot with Windows]]
この記事では Arch と Windows を共存させる方法を簡単に説明しています。
+
この記事では Arch と Windows を共存させる方法を説明しています。
   
 
== 重要情報 ==
 
== 重要情報 ==
15行目: 13行目:
 
Microsoft は Windows のバージョンによって使用できるファームウェアのブートモードとパーティションスタイルを制限しています:
 
Microsoft は Windows のバージョンによって使用できるファームウェアのブートモードとパーティションスタイルを制限しています:
   
{{Note|以下の項目は Windows インストーラによってサポートされている構成のみをリストしていますが、これらのサポートされない構成でも Windows Setup や Windows 自体は機能するかもしれません。Windows インストーラーのチェックをバイパスしさえすれば、Windows 11 は BIOS/MBR の構成でも機能するのが良い例です。}}
+
{{Note|以下の項目は [[Wikipedia:Windows Setup]] によってサポートされている構成のみをリストしていますが、これらのサポートされない構成でも Windows Setup や Windows 自体は機能するかもしれません。Windows Setup のチェックをバイパスしさえすれば、Windows 11 は BIOS/MBR の構成でも機能するのが良い例です。}}
   
* '''Windows XP''' は '''x86 32ビット版'''と '''x86_64''' (別名 x64) の両方とも [[UEFI]] モード(IA32 や x86_64)による、如何なるディスク([[MBR]] や [[GPT]])からの起動も、BIOS モード による GPT ディスクからの起動もサポートしていません (RTM や全てのサービスパックを含む)。BIOS ブートかつ MBR/msdos ディスクからしか起動できません。
 
* '''Windows Vista''' や '''7''' の '''x86 32ビット版'''は MBR/msdos ディスクからの BIOS モードによる起動しかサポートしていません。x86_64 UEFI や IA32 (x86 32ビット) UEFI による起動はサポートしていません。
 
* '''Windows Vista RTM x86_64''' バージョンは MBR/msdos ディスクからの BIOS モードによる起動しかサポートしていません (RTM 版のみ)。x86_64 UEFI や IA32 (x86 32ビット) UEFI による起動はサポートしていません。
 
* '''Windows Vista''' (SP1 以上で非 RTM) と '''Windows 7''' '''x86_64''' は GPT ディスクからの x86_64 UEFI モードによる起動、または MBR/msdos ディスクからの BIOS モードによる起動のみサポートしています。GPT/MBR ディスクからの IA32 (x86 32ビット) UEFI ブート、MBR/msdos ディスクからの x86_64 UEFI ブート、GPT ディスクからの BIOS ブートなどはサポートしていません。
 
 
* '''Windows 8/8.1''' と '''10''' '''x86 32ビット''' は GPT ディスクからの IA32 UEFI モードによる起動、あるいは MBR/msdos ディスクからの BIOS モードによる起動のみサポートしています。GPT/MBR ディスクからの x86_64 UEFI ブート、MBR/msdos ディスクからの x86_64 UEFI ブート、GPT ディスクからの BIOS ブートなどはサポートしていません。市場に出ているマシンとしては古い Intel Mac (2010年以前のモデル) や Intel Atom System-on-Chip (Clover Trail と Bay Trail) が搭載された Windows タブレットだけに IA32 (U)EFI が含まれており、GPT ディスクからの IA32 UEFI モードによる起動を行います。
 
* '''Windows 8/8.1''' と '''10''' '''x86 32ビット''' は GPT ディスクからの IA32 UEFI モードによる起動、あるいは MBR/msdos ディスクからの BIOS モードによる起動のみサポートしています。GPT/MBR ディスクからの x86_64 UEFI ブート、MBR/msdos ディスクからの x86_64 UEFI ブート、GPT ディスクからの BIOS ブートなどはサポートしていません。市場に出ているマシンとしては古い Intel Mac (2010年以前のモデル) や Intel Atom System-on-Chip (Clover Trail と Bay Trail) が搭載された Windows タブレットだけに IA32 (U)EFI が含まれており、GPT ディスクからの IA32 UEFI モードによる起動を行います。
 
* '''Windows 8/8.1''' と '''10''' '''x86_64''' は GPT ディスクからの x86_64 UEFI モードによる起動、あるいは MBR/msdos ディスクからの BIOS モードの起動をサポートしています。IA32 UEFI ブート、MBR/msdos ディスクからの x86_64 UEFI ブート、GPT ディスクからの BIOS ブートなどには対応していません。
 
* '''Windows 8/8.1''' と '''10''' '''x86_64''' は GPT ディスクからの x86_64 UEFI モードによる起動、あるいは MBR/msdos ディスクからの BIOS モードの起動をサポートしています。IA32 UEFI ブート、MBR/msdos ディスクからの x86_64 UEFI ブート、GPT ディスクからの BIOS ブートなどには対応していません。
28行目: 22行目:
   
 
* Windows XP, Vista, 7 の32ビット版がプリインストールされているマシンはデフォルトで BIOS-MBR モードで起動します。サービスパックやビット数、Windows のエディション (SKU) やファームウェアが UEFI をサポートしているかどうかは関係ありません。
 
* Windows XP, Vista, 7 の32ビット版がプリインストールされているマシンはデフォルトで BIOS-MBR モードで起動します。サービスパックやビット数、Windows のエディション (SKU) やファームウェアが UEFI をサポートしているかどうかは関係ありません。
* Windows 7 x86_64 がプリインストールされているマシンの大多数はデフォルトで BIOS-MBR モードで起動します。サービスパックやビット数、エディション (SKU) は無関係です。最近発売された Windows 7 にはデフォルトで x86_64 UEFI-GPT モードで起動するものも少数ながらあります。
+
* Windows 7 x86_64 がプリインストールされているマシンの大多数はデフォルトで BIOS-MBR モードで起動します。サービスパックやビット数、エディション (SKU) は無関係です。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 8/8.1, 10, 11 がプリインストールされたマシンは全て UEFI-GPT モードで起動します。Windows 10 までは、ファームウェアのビット数は Windows のビット数と一致します。例えば x86_64 の Windows は x86_64 UEFI モードで起動し32ビットの Windows は IA32 UEFI モードで起動します。
   
43行目: 37行目:
 
{{Tip|Windows 10 version 1703とそれ以降のバージョンは、[https://docs.microsoft.com/en-us/windows/deployment/mbr-to-gpt MBR2GPT.EXE]を使うことで BIOS/MBR から UEFI/GPT への変換をサポートしています。}}
 
{{Tip|Windows 10 version 1703とそれ以降のバージョンは、[https://docs.microsoft.com/en-us/windows/deployment/mbr-to-gpt MBR2GPT.EXE]を使うことで BIOS/MBR から UEFI/GPT への変換をサポートしています。}}
   
Linux カーネルにはそのような制限はありませんが、使用する[[ブートローダー]]やその設定方法が変わってきます。ブートローダーのインストール手順はファームウェアの種類やディスクの[[パーティショニング]]の設定に依るので、Windows と Linux を同一のディスクからデュアルブートする場合、Windows の制限には注意が必要です。出来る限り、Windows が使用する方法、つまり UEFI-GPT あるいは BIOS-MBR ブートにあわせることを推奨します。詳しくは https://support.microsoft.com/kb/2581408 を見てください。
+
Linux カーネルにはそのような制限はありませんが、使用する[[ブートローダー]]やその設定方法が変わってきます。ブートローダーのインストール手順はファームウェアの種類やディスクの[[パーティショニング]]の設定に依るので、Windows と Linux を同一のディスクからデュアルブートする場合、Windows の制限には注意が必要です。できる限り、Windows が使用する方法、つまり UEFI-GPT あるいは BIOS-MBR ブートにあわせることを推奨します。詳しくは https://support.microsoft.com/kb/2581408 を見てください。
 
=== インストールメディアの制限 ===
 
 
Microsoft による OEM 向けのコネクテッドスタンバイガイドラインによれば、Intel Atom System-on-Chip タブレット (Clover Trail と Bay Trail) は(ほとんどの x86_64 UEFI システムとは違って)レガシーな BIOS (CSM) はサポートしておらず IA32 UEFI ファームウェアしか用意されていません。これらのシステムでのレガシー BIOS へのサポートがないせいや、Arch の公式インストール ISO が32ビット UEFI ブートができない({{Bug|53182}})せいで、公式のインストールメディアはこれらのシステムで起動できません。さらなる情報や利用可能な回避策については [[Unified Extensible Firmware Interface#UEFI ファームウェアのビット数]] をご覧ください。
 
   
 
=== ブートローダーの UEFI と BIOS の制限 ===
 
=== ブートローダーの UEFI と BIOS の制限 ===
64行目: 54行目:
 
* ESP を拡張する。通常の方法としては、回復パーティションのサイズを減らすか、Windows パーティションを移動する(これにより '''UUID が変わります''')かです。
 
* ESP を拡張する。通常の方法としては、回復パーティションのサイズを減らすか、Windows パーティションを移動する(これにより '''UUID が変わります''')かです。
 
* バックアップをとり、{{ic|''esp''/EFI/Microsoft/Boot/Fonts/}} 内にある不要なフォントを削除する[https://support.microsoft.com/en-us/help/3086249/we-couldn-t-update-system-reserved-partition-error-installing-windows]。
 
* バックアップをとり、{{ic|''esp''/EFI/Microsoft/Boot/Fonts/}} 内にある不要なフォントを削除する[https://support.microsoft.com/en-us/help/3086249/we-couldn-t-update-system-reserved-partition-error-installing-windows]。
* バックアップをとり、{{ic|''esp''/EFI/Microsoft/Boot/}} 内にある不要な言語ディレクトリを削除する。(例えば、{{ic|en-US}}のみを残す)
+
* バックアップをとり、{{ic|''esp''/EFI/Microsoft/Boot/}} 内にある不要な言語ディレクトリを削除する。(例えば、{{ic|en-US}} のみを残す)
  +
* より圧縮率の高い (だが、遅い) [[mkinitcpio#COMPRESSION|圧縮を initramfs イメージに使う]]。ただし、ローダブルなカーネルモジュールとファームウェアは解凍しておく。例:
  +
  +
COMPRESSION="xz"
  +
COMPRESSION_OPTIONS=(-9e)
  +
MODULES_DECOMPRESS="yes"
   
 
=== UEFI セキュアブート ===
 
=== UEFI セキュアブート ===
70行目: 65行目:
 
Windows 8/8.1, 10, 11 がプリインストールされている場合、デフォルトで UEFI-GPT モードで起動するようになっており UEFI Secure Boot が有効になっています。これは全ての OEM プリインストールで Microsoft によって強制されています。
 
Windows 8/8.1, 10, 11 がプリインストールされている場合、デフォルトで UEFI-GPT モードで起動するようになっており UEFI Secure Boot が有効になっています。これは全ての OEM プリインストールで Microsoft によって強制されています。
   
Arch Linux のインストールメディアは現在 Secure Boot をサポートしています。[[セキュアブート#archiso の起動]]を見てください。
+
Arch Linux のインストールメディアは現在 Secure Boot をサポートしています。[[セキュアブート#インストールメディアを起動する]]を見てください。
   
 
Arch Linux を起動する前に UEFI Secure Boot を無効化することが推奨されます。Secure Boot を無効にしても Windows 8/8.1, 10, 11 は問題なく起動できるはずです。UEFI Secure Boot のサポートを無効化するには物理的にコンピュータにアクセスして、ファームウェアの設定で Secure Boot オプションを無効化する必要があるというのが唯一の問題です。Microsoft は、Windows 8/8.1 以上のプリインストール済みのシステムにおいて、リモートで、または(OS 中から)プログラムを使って Secure Boot を無効化する方法を明確に禁止しています。
 
Arch Linux を起動する前に UEFI Secure Boot を無効化することが推奨されます。Secure Boot を無効にしても Windows 8/8.1, 10, 11 は問題なく起動できるはずです。UEFI Secure Boot のサポートを無効化するには物理的にコンピュータにアクセスして、ファームウェアの設定で Secure Boot オプションを無効化する必要があるというのが唯一の問題です。Microsoft は、Windows 8/8.1 以上のプリインストール済みのシステムにおいて、リモートで、または(OS 中から)プログラムを使って Secure Boot を無効化する方法を明確に禁止しています。
76行目: 71行目:
 
{{Note|
 
{{Note|
 
* Windows で Bitlocker を使用していて、起動時に自動的にロックを解除するために TPM 内にキーを保存している場合、セキュアブートを無効化すると起動に失敗して Bitlocker の回復画面が表示されます。しかし、これは恒久的なものではなく、単にセキュアブートを有効化すれば Windows を簡単に再び起動できるようになります。
 
* Windows で Bitlocker を使用していて、起動時に自動的にロックを解除するために TPM 内にキーを保存している場合、セキュアブートを無効化すると起動に失敗して Bitlocker の回復画面が表示されます。しかし、これは恒久的なものではなく、単にセキュアブートを有効化すれば Windows を簡単に再び起動できるようになります。
* Windows 11 では、セキュアブートを無効化すると Windows Hello や WSM (Windows Subsystem for Android)、Windows Update が動作なくなり。}}
+
* Windows 11 では、TPM が正常に動作している限り、インストール後にセキュアブートを無効化しても問題は発生しせん。}}
   
 
=== 高速スタートアップとハイバネート ===
 
=== 高速スタートアップとハイバネート ===
  +
  +
{{Note|Windows ではハイバネートは休止状態とも呼ばれます。}}
   
 
ハイバネート可能な OS が2つあるとき、Windows と Linux (または、他の OS)の一方をハイバネートしてもう一方を起動したり、両方をハイバネートする場合があります。
 
ハイバネート可能な OS が2つあるとき、Windows と Linux (または、他の OS)の一方をハイバネートしてもう一方を起動したり、両方をハイバネートする場合があります。
86行目: 83行目:
 
同じ理由で、1つの EFI システムパーティションを Windows と Linux の間で共有している場合に、Windows をハイバネート(または、高速スタートアップを有効化した状態でシャットダウン)して Linux を起動したり、その逆をしたりすると、EFI システムパーティションが損傷するかもしれません。
 
同じ理由で、1つの EFI システムパーティションを Windows と Linux の間で共有している場合に、Windows をハイバネート(または、高速スタートアップを有効化した状態でシャットダウン)して Linux を起動したり、その逆をしたりすると、EFI システムパーティションが損傷するかもしれません。
   
ハイバネートされたディスクを読み書きでマウントすることを防ぐ[https://sourceforge.net/p/ntfs-3g/ntfs-3g/ci/559270a8f67c77a7ce51246c23d2b2837bcff0c9/ セーフガードが {{Pkg|ntfs-3g}} には追加されています] が、Linux カーネルの NTFS ドライバーにはそうしたセーフガードが存在しません。
+
ハイバネートされたディスクを読み書きでマウントすることを防ぐ[https://sourceforge.net/p/ntfs-3g/ntfs-3g/ci/559270a8f67c77a7ce51246c23d2b2837bcff0c9/ セーフガード] が {{Pkg|ntfs-3g}} には追加されていますが、Linux カーネルの NTFS ドライバーにはそうしたセーフガードが存在しません。
   
 
Windows はデフォルトで、Linux で一般的に使用されている ext4 のようなファイルシステムを読み込むことができません。Windows にこれらのファイルシステム用のドライバーをインストールしていない限り、これらのファイルシステムを考慮する必要はありません。
 
Windows はデフォルトで、Linux で一般的に使用されている ext4 のようなファイルシステムを読み込むことができません。Windows にこれらのファイルシステム用のドライバーをインストールしていない限り、これらのファイルシステムを考慮する必要はありません。
99行目: 96行目:
 
* 高速スタートアップとハイバネートを有効化する
 
* 高速スタートアップとハイバネートを有効化する
   
高速スタートアップを無効化する手順については、[https://www.eightforums.com/tutorials/6320-fast-startup-turn-off-windows-8-a.html Windows 8 はここに]、[https://www.tenforums.com/tutorials/4189-turn-off-fast-startup-windows-10-a.html Windows 10 はここに]あります。如何なる設定を無効化する場合においても、Linux をインストールする前にその設定を無効化したことを確認して Windows をシャットダウンしてください。再起動では不十分であることに注意してください。
+
高速スタートアップを無効化する手順については、[https://www.eightforums.com/tutorials/6320-fast-startup-turn-off-windows-8-a.html Windows 8 はここに]、[https://www.tenforums.com/tutorials/4189-turn-off-fast-startup-windows-10-a.html Windows 10 はここに]、[https://www.elevenforum.com/t/turn-on-or-off-fast-startup-in-windows-11.1212/ Windows 11 はここに]あります。如何なる設定を無効化する場合においても、Linux をインストールする前にその設定を無効化したことを確認して Windows をシャットダウンしてください。再起動では不十分であることに注意してください。
   
 
===== 高速スタートアップとハイバネートを無効化する =====
 
===== 高速スタートアップとハイバネートを無効化する =====
   
 
この選択肢は、ある OS から別の OS に再起動するときにユーザの注意を最も必要としません。よって最も安全で、先の問題についてよくわからない場合に推奨されます。1つの同じ EFI システムパーティションを Windows と Linux の間で共有することができます。
 
この選択肢は、ある OS から別の OS に再起動するときにユーザの注意を最も必要としません。よって最も安全で、先の問題についてよくわからない場合に推奨されます。1つの同じ EFI システムパーティションを Windows と Linux の間で共有することができます。
  +
  +
Windows のコマンドラインシェルを管理者権限で実行し、以下のコマンドを実行してください:
  +
  +
> powercfg /H off
   
 
===== 高速スタートアップを無効化し、ハイバネートを有効化する =====
 
===== 高速スタートアップを無効化し、ハイバネートを有効化する =====
109行目: 110行目:
 
この選択肢は、ある OS から別の OS に再起動するときにユーザの注意を必要とします。
 
この選択肢は、ある OS から別の OS に再起動するときにユーザの注意を必要とします。
 
一般的な使用ケースとして、Windows がハイバネートしているときに Linux を起動したい場合:
 
一般的な使用ケースとして、Windows がハイバネートしているときに Linux を起動したい場合:
* EFI システムパーティション(ESP)を Windows 用と Linux 用とで分けなければならず、Windows が Linux 用の ESP をマウントしないようにしなければなりません。ドライブごとに1つの ESP しか存在できないので、Linux 用の ESP は Windows 用の ESP があるドライブとは別のドライブに存在していなければなりません。この場合、Linux の root パーティションとは別のドライブに Linux 用の ESP を置けば、Windows と Linux は同じドライブの別々のパーティションにインストール可能です。
+
* EFI システムパーティション(ESP)を Windows 用と Linux 用とで分けなければならず、Windows が Linux 用の ESP をマウントしないようにしなければなりません。'''ドライブごとに1つの ESP しか存在できない'''ので、Linux 用の ESP は Windows 用の ESP があるドライブとは別のドライブに存在していなければなりません。この場合、Linux の root パーティションとは別のドライブに Linux 用の ESP を置けば、Windows と Linux は同じドライブの別々のパーティションにインストール可能です。
 
* Windows がハイバネートしているときに、Windows によってマウントされているファイルシステムを読み書き可能な状態で Linux からマウントすることはできません。これについては非常に注意するべきです。また、[[Udisks|自動マウント]] の挙動についても考慮すべきです。
 
* Windows がハイバネートしているときに、Windows によってマウントされているファイルシステムを読み書き可能な状態で Linux からマウントすることはできません。これについては非常に注意するべきです。また、[[Udisks|自動マウント]] の挙動についても考慮すべきです。
 
* Windows をハイバネートでなく完全にシャットダウンした場合は、先に述べたようなファイルシステムを読み書き可能な状態でマウントすることができます。
 
* Windows をハイバネートでなく完全にシャットダウンした場合は、先に述べたようなファイルシステムを読み書き可能な状態でマウントすることができます。
130行目: 131行目:
 
* > (大なり)
 
* > (大なり)
 
* : (コロン)
 
* : (コロン)
* " (ダブルコロン)
+
* " (ダブルクオーテーション)
 
* / (スラッシュ)
 
* / (スラッシュ)
 
* \ (バックスラッシュ)
 
* \ (バックスラッシュ)
137行目: 138行目:
 
* * (アスタリスク)
 
* * (アスタリスク)
   
以上の制約は Windows のものであって NTFS にはありません、つまり NTFS パーティションを使用する他の OS は影響を受けません。Windows はこれらのファイルを検出することが出来なくて {{ic|chkdsk}} を実行すると大抵はファイルを削除しようとします。
+
以上の制約は Windows のものであって NTFS にはありません、つまり NTFS パーティションを使用する他の OS は影響を受けません。Windows はこれらのファイルを検出することができなくて {{ic|chkdsk}} を実行すると大抵はファイルを削除しようとします。
   
 
[[NTFS-3G]] では [http://www.tuxera.com/community/ntfs-3g-manual/#4 windows_filenames] オプションを使用すると Windows の制限が新しく作成したファイルに適用されます ([[fstab]] を見てください)。
 
[[NTFS-3G]] では [http://www.tuxera.com/community/ntfs-3g-manual/#4 windows_filenames] オプションを使用すると Windows の制限が新しく作成したファイルに適用されます ([[fstab]] を見てください)。
145行目: 146行目:
 
Linux/Windows のデュアルブートをセットアップする場合、最初に Windows をインストールするのが推奨されます。Windows はディスクの一部を使ってパーティションを作ります。Windows のセットアップが終わったら、Linux のインストール環境にブートして、既存の Windows のパーティションには触れずに Linux 用のパーティションを作成することができます。Windows をインストールすると、Linux のブートローダーから使うことができる EFI System Partition が作成されます。
 
Linux/Windows のデュアルブートをセットアップする場合、最初に Windows をインストールするのが推奨されます。Windows はディスクの一部を使ってパーティションを作ります。Windows のセットアップが終わったら、Linux のインストール環境にブートして、既存の Windows のパーティションには触れずに Linux 用のパーティションを作成することができます。Windows をインストールすると、Linux のブートローダーから使うことができる EFI System Partition が作成されます。
   
  +
=== Linux の前に Windows をインストール ===
=== Windows before Linux ===
 
   
==== BIOS systems ====
+
==== BIOS システム ====
   
===== Using a Linux boot loader =====
+
===== Linux のブートローダーを使う =====
   
  +
マルチブートをサポートする BIOS [[ブートローダー]]を使うことができます。
You may use any multi-boot supporting BIOS [[boot loader]].
 
   
===== Using the Windows Vista/7/8/8.1 boot loader =====
+
===== Windows 7/8/8.1 のブートローダーを使う =====
   
  +
このセクションでは次のことをする方法を説明しています: Linux のブートローダーを MBR 以外のパーティションにインストールする; そのブートローダーを Windows のブートローダーから読み込めるパーティションにコピーする; Windows のブートローダーを使って Linux のブートローダーのコピーを起動する。
This section explains how to : install a linux bootloader on a partition instead of the MBR ; copy this bootloader to a partition readable by the windows bootloader ; use the windows bootloader to start said copy of the linux bootloader.
 
   
  +
{{Note|ドキュメントによっては Windows のブートローダーによってロードされるパーティションはプライマリパーティションでなければならないと言及していますが、拡張パーティションも問題なく使用できます。}}
{{Note|Some documents state that the partition being loaded by the Windows boot loader must be a primary partition but usage of an extended partition has been documented as working.}}
 
   
  +
* GRUB ブートローダーをインストールする際に、MBR ではなく /boot パーティションにインストールしてください。GRUB でこれをする場合は、[[GRUB/ヒントとテクニック#パーティションやパーティションレスディスクにインストールする]]を見てください。Syslinux の場合は、[[Syslinux#手動]] にあるノートを見てください。LILO の場合は、[[LILO#パーティション、またはパーティションレスディスクにインストール]]を見てください。
* When installing the boot loader, install it on your {{ic|/boot}} partition rather than the MBR. For details on doing this with GRUB, see [[GRUB/Tips and tricks#Install to partition or partitionless disk]], for Syslinux, see the note at [[Syslinux#Manual install]], for LILO see [[LILO#Install to partition or partitionless disk]].
 
   
* Make a copy of the VBR: {{bc|1=dd if=/dev/''disk'' of=''/path/to/''linux.bin bs=512 count=1}} where {{ic|/dev/''disk''}} is the path of the partition on which your bootloader is installed and {{ic|/path/to/}} is the mounted filsystem on which you want the copy to be readable by the Windows bootloader.
+
* VBR のコピーを作成します: {{bc|1=dd if=/dev/''disk'' of=''/path/to/''linux.bin bs=512 count=1}} {{ic|/dev/''disk''}} の部分はブートローダーがインストールされているパーティションのパスです。{{ic|/path/to/}} の部分は Windows のブートローダーによって読み込めるブートローダーのコピーを置くマウント済みファイルシステムです。
   
* On Windows, the linux.bin file should now be accessible. Run '''cmd''' with administrator privileges (navigate to ''Start > All Programs > Accessories'', right-click on ''Command Prompt'' and select ''Run as administrator''): {{bc|bcdedit /create /d "Linux" /application BOOTSECTOR}} BCDEdit will return a [[wikipedia:Universally_unique_identifier|UUID]] for this entry. This will be refered to as {{ic|''UUID''}} in the remaining steps. {{bc|1=bcdedit /set ''UUID'' device partition=c: (or the drive letter on which linux.bin is kept)<nowiki>
+
* Windows を起動して下さい、Windows から linux.bin ファイルにアクセス可能なはずです。'''コマンドプロンプト cmd''' を管理者として実行し以下を実行してください(スタート > 全てのプログラム > アクセサリ から コマンドプロンプト を右クリックして 管理者として実行 を選択): {{bc|bcdedit /create /d "Linux" /application BOOTSECTOR}} BCDEdit はエントリの [[wikipedia:ja:Universally_unique_identifier|UUID]] を返します。以下の残りの手順では、この UUID {{ic|''UUID''}} と表記します。{{bc|1=bcdedit /set ''UUID'' device partition=c: (or the drive letter on which linux.bin is kept)<nowiki>
</nowiki>bcdedit /set ''UUID'' path ''\path\to\''linux.bin<nowiki>
+
</nowiki>bcdedit /set ''UUID'' path ''\path\to\''linux.bin<nowiki>
</nowiki>bcdedit /displayorder ''UUID'' /addlast<nowiki>
+
</nowiki>bcdedit /displayorder ''UUID'' /addlast<nowiki>
 
</nowiki>bcdedit /timeout 30}}
 
</nowiki>bcdedit /timeout 30}}
   
  +
再起動すると Windows と Linux が Windows のブートローダーに表示されているはずです。
On reboot, both Windows and Linux should now show up in the Windows bootloader.
 
   
  +
{{Note|一部のハードウェアでは Windows のブートローダーを使うことにより、二番目の電源ボタンを Windows の代わりに Linux を起動するようにすることができます。(例: Dell Precision M4500)}}
{{Note|On some hardware, the Windows boot loader is used to start another OS with a second power button (e.g. Dell Precision M4500).}}
 
   
For more details, see https://www.iceflatline.com/2009/09/how-to-dual-boot-windows-7-and-linux-using-bcdedit/
+
詳細については https://www.iceflatline.com/2009/09/how-to-dual-boot-windows-7-and-linux-using-bcdedit/ をご覧ください。
   
==== UEFI systems ====
+
==== UEFI システム ====
   
  +
既に Windows がインストールされている場合、[[GPT]] でフォーマットされたディスクにはいくつかのパーティションがすでに作成されています。
If you already have Windows installed, it will already have created some partitions on a [[GPT]]-formatted disk:
 
   
* a [[Wikipedia:Windows Recovery Environment|Windows Recovery Environment]] partition, generally of size 499 MiB, containing the files required to boot Windows (i.e. the equivalent of Linux's {{ic|/boot}}),
+
* [[Wikipedia:Windows Recovery Environment|Windows 回復環境]]パーティション。一般的に 499 MiB で、Windows の起動に必要なファイルが含まれます(例えば、Linux {{ic|/boot}} に相当します)
  +
* [[FAT32]] ファイルシステムの [[EFI システムパーティション]]
* an [[EFI system partition]] with a [[FAT32]] filesystem,
 
* a [[Wikipedia:Microsoft Reserved Partition|Microsoft Reserved Partition]], generally of size 128 MiB,
+
* [[Wikipedia:Microsoft Reserved Partition|Microsoft 予約パーティション]]。一般的に 128 MiB
* a Microsoft basic data partition with a NTFS filesystem, which corresponds to {{ic|C:}},
+
* NTFS ファイルシステムの Microsoft basic data パーティション。{{ic|C:}} に対応します。
  +
* もしかすると、システム回復用かバックアップ用のパーティションや他のデータパーティション({{ic|D:}} などに対応)もあるかもしれません。
* potentially system recovery and backup partitions and/or secondary data partitions (corresponding often to {{ic|D:}} and above).
 
   
  +
Windows の「ディスクの管理」ユーティリティを使って、パーティションのラベルやタイプを調べられます。これは、どのパーティションが Windows に必須で、どのパーティションを再利用できるかを理解する助けになります。Windows の「ディスクの管理」ユーティリティは Windows の(NTFS)パーティションを縮小するのにも利用できます。これで Linux パーティション用の空き領域を作ることができます。
Using the Disk Management utility in Windows, check how the partitions are labelled and which type gets reported. This will help you understand which partitions are essential to Windows, and which others you might repurpose. The Windows Disk Management utility can also be used to shrink Windows (NTFS) partitions to free up disk space for additional partitions for Linux.
 
   
  +
{{Warning|上記のリストのうち最初の4つのパーティションは必須です。削除しないでください。}}
{{Warning|The first 4 partitions in the above list are essential, do not delete them.}}
 
   
  +
そしたら、必要に応じて[[パーティショニング]]の作業に移れます。使用するブートローダーは、Windows や Linux とデュアルブートするために他の EFI アプリケーションのチェインロードをサポートしている必要があります。追加の EFI システムパーティションは作成すべきではありません。作成すると [https://support.microsoft.com/en-us/help/2879602/unable-to-boot-if-more-than-one-efi-system-partition-is-present Windows が起動できなくなる]かもしれません。
You can then proceed with [[partitioning]], depending on your needs.
 
   
  +
{{Note|2台目のハードディスクにLinuxをインストールし、2台目のハードディスクに新しいEFIシステムパーティションを作成した場合のみ表示されます。}}
Mind that an additional EFI system partition should not be created, as it may [https://support.microsoft.com/en-us/help/2879602/unable-to-boot-if-more-than-one-efi-system-partition-is-present prevent Windows from booting]. Simply [[EFI system partition#Mount the partition|mount the existing partition]].
 
   
  +
単に[[EFI システムパーティション#パーティションのマウント|すでにある EFI システムパーティションをマウント]]してください。
{{Note|It only appears when Linux is installed on the second hard disk and a new EFI system partition is created on the second hard disk.}}
 
   
  +
{{Tip|
The boot loader needs to support chainloading other EFI applications to do dual boot Windows / Linux.
 
  +
* [[rEFInd]] と [[systemd-boot]] は ''Windows Boot Manager'' ({{ic|\EFI\Microsoft\Boot\bootmgfw.efi}})を自動検出し、ブートメニューに自動的に表示します。[[GRUB]] の場合は、[[GRUB#UEFI/GPT モードでインストールされた Windows]] に従って手動でエントリをブートメニューに追加するか、 [[GRUB#他の OS の検出]]に従って設定ファイルを生成してください。
  +
* EFI システムパーティションのスペースを節約したい場合 (特に、複数のカーネルを保存するために)、[[mkinitcpio#COMPRESSION|initramfs の圧縮率を上げてください]]。
  +
}}
   
  +
新しいバージョンの Windows を搭載しているコンピュータではしばしば[[セキュアブート]]が有効化されています。セキュアブートを無効化するかインストールメディアをセキュアブートに対応させるには追加の手順を踏む必要があります(このページの上の部分に行ってリンクページを見てください)。
{{Tip|[[rEFInd]] and [[systemd-boot]] will autodetect ''Windows Boot Manager'' ({{ic|\EFI\Microsoft\Boot\bootmgfw.efi}}) and show it in their boot menu automatically. For [[GRUB]] follow either [[GRUB#Windows installed in UEFI/GPT mode]] to add boot menu entry manually or [[GRUB#Detecting other operating systems]] for a generated configuration file.}}
 
   
  +
=== Windows の前に Linux をインストール ===
Computers that come with newer versions of Windows often have [[Secure Boot]] enabled. You will need to take extra steps to either disable Secure Boot or to make your installation media compatible with secure boot (see above and in the linked page).
 
   
  +
Linux/Windows をデュアルブートするには Windows からインストールするのが推奨されますが、逆に Linux からインストールすることも可能です。Linux の前に Windows をインストールする場合とは対照的に、Windows 用のパーティションを(例えば40GB以上)確保しておく必要があります。あるいは、パーティショニングされていないディスク領域を用意しておいたり、Windows のインストール前に Linux から Windows 用のパーティションを作成しリサイズしておく必要があります。
=== Linux before Windows ===
 
   
  +
==== UEFI ファームウェア ====
Even though the recommended way to setup a Linux/Windows dual booting system is to first install Windows, it can be done the other way around. In contrast to installing Windows before Linux, you will have to set aside a partition for Windows, say 40GB or larger, in advance. Or have some unpartitioned disk space, or create and resize partitions for Windows from within the Linux installation, before launching the Windows installation.
 
   
  +
Windows はすでに存在している[[EFI システムパーティション]]を使用します。
==== UEFI firmware ====
 
   
  +
ファームウェアで[[セキュアブート]]が無効になっていることを前提として概要に移ります。
Windows will use the already existing [[EFI system partition]]. In contrast to what was [[#UEFI systems|stated earlier]], it is unclear if a single partition for Windows, without the Windows Recovery Environment and without Microsoft Reserved Partition, will not do.
 
   
  +
# Windows インストーラーを起動してください。意図したパーティションのみを使用させるように注意してください。それ以外は Linux がインストールされていないかのように動作させてください。
Follows an outline, assuming [[Secure Boot]] is disabled in the firmware.
 
  +
# [[#高速スタートアップとハイバネート]]セクションに従ってください。
  +
# 起動時に Linux をロードできるように修正してください。おそらく、[[#Windows をインストールしたら Linux が起動できなくなった]]に従えばできます。[[#UEFI システム]]で言及されているように、一部の Linux ブートマネージャーは ''Windows Boot Manager'' を自動検出します。新しい Windows インストーラーには高度な再起動オプションがあり、それを使って Linux を起動できます。しかし、Arch インストールメディアや live CD などの Linux を起動するには別の方法を取ることを推奨します。
   
  +
===== GRUB で Windows 10 を起動 =====
# Boot into windows installation. Watch to let it use only the intend partition, but otherwise let it do its work as if there is no Linux installation.
 
# Follow the [[#Fast Startup and hibernation]] section.
 
# Fix the ability to load Linux at start up, perhaps by following [[#Cannot boot Linux after installing Windows]]. It was already mentioned in [[#UEFI systems]] that some Linux boot managers will autodetect ''Windows Boot Manager''. Even though newer Windows installations have an advanced restart option, from which you can boot into Linux, it is advised to have other means to boot into Linux, such as an arch installation media or a live CD.
 
   
  +
以下ではブートローダーとして [[GRUB]] が使用されていることを前提とします(ですが、他のブートローダーの場合でも手順は似ているでしょう)。また、EFI システムパーティションがすでにある GPT ブロックデバイス上に Windows 10 がインストールされるとします(さらなる情報については、[https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/configure-uefigpt-based-hard-drive-partitions Microsoft documentation] の "System partition" セクションをご覧ください)。
===== Windows 10 with GRUB =====
 
   
  +
{{ic|gdisk}} を使ってブロックデバイス上に以下の3つのパーティションを新しく作成してください。より正確なパーティションサイズは[https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/configure-uefigpt-based-hard-drive-partitions]をご覧ください。
The following assumes [[GRUB]] is used as a boot loader (although the process is likely similar for other boot loaders) and that Windows 10 will be installed on a GPT block device with an existing EFI system partition (see the "System partition" section in the [https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/configure-uefigpt-based-hard-drive-partitions Microsoft documentation] for more information).
 
 
Create with program {{ic|gdisk}} on the block device the following three new partitions. See [https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/configure-uefigpt-based-hard-drive-partitions] for more precise partition sizes.
 
   
 
{| class="wikitable"
 
{| class="wikitable"
! Min size !! Code !! Name !! File system
+
! 最小サイズ !! コード !! 名前 !! ファイルシステム
 
|-
 
|-
| 16 MB || 0C01 || Microsoft reserved || N/A
+
| 16 MB || 0C01 || Microsoft 予約領域 || N/A
 
|-
 
|-
| ~40 GB || 0700 || Microsoft basic data || NTFS
+
| ~40 GB || 0700 || Microsoft 基本データ || NTFS
 
|-
 
|-
| 300 MB || 2700 || Windows RE || NTFS
+
| 300 MB || 2700 || Windows リカバリ領域 || NTFS
 
|-
 
|-
 
|}
 
|}
   
  +
{{Pkg|ntfs-3g}} パッケージに含まれる ''mkntfs'' プログラムを使って、NTFS ファイルシステムを新しい Microsoft basic data パーティション上と Windows RE (recovery) パーティション上に作成してください。
Create NTFS file systems on the new Microsoft basic data and Windows RE (recovery) partitions using the ''mkntfs'' program from package {{Pkg|ntfs-3g}}.
 
   
  +
システムを再起動し、Windows 10 インストールメディアを起動してください。インストール画面が表示されたら、カスタムインストールオプションを選び、先ほど作成した Microsoft basic data パーティション上に Windows をインストールしてください。これで [[EFI システムパーティション]]上に Microsoft EFI ファイルもインストールされるはずです。
Reboot the system into a Windows 10 installation media. When prompted to install select the custom install option and install Windows on the Microsoft basic data partition created earlier. This should also install Microsoft EFI files in the EFI partition.
 
   
  +
インストール後は(Windows のセットアップとログインは必要ありません)、再起動して Linux を起動し、[[GRUB#メイン設定ファイルの生成|GRUB の設定ファイルを生成]]して、GRUB のブートメニューから Windows ブートマネージャーを利用できるようにしてください。
After installation (set up of and logging into Windows not required), reboot into Linux and [[GRUB#Generate the main configuration file|generate a GRUB configuration]] for the Windows boot manager to be available in the GRUB menu on next boot.
 
   
 
=== トラブルシューティング ===
 
=== トラブルシューティング ===
249行目: 251行目:
 
==== Windows のブートレコードの修復 ====
 
==== Windows のブートレコードの修復 ====
   
習慣的に、Windows は1番目のパーティションにインストールされ、パーティションの1番目のセクタにパーティションテーブルとブートローダーの位置がインストールされることになっています。間違えて GRUB などのブートローダーを Windows のパーティションにインストールしてしまったなど何らかの理由でブートレコードを破損した場合は、ユーティリティを使用して修復する必要があります。Microsoft はリカバリディスクの中にブートセクタの修復ユーティリティである {{Ic|FIXBOOT}} と MBR の修復ユーティリティである {{Ic|FIXMBR}} を用意しています。インストールディスクから使うことが出来る場合もあります。修復できたら、本来のとおりに MBR に [[GRUB]] を再インストールしてください。
+
習慣的に、Windows は1番目のパーティションにインストールされ、パーティションの1番目のセクタにパーティションテーブルとブートローダーの位置がインストールされることになっています。間違えて GRUB などのブートローダーを Windows のパーティションにインストールしてしまったなど何らかの理由でブートレコードを破損した場合は、ユーティリティを使用して修復する必要があります。Microsoft はリカバリディスクの中にブートセクタの修復ユーティリティである {{Ic|FIXBOOT}} と MBR の修復ユーティリティである {{Ic|FIXMBR}} を用意しています。インストールディスクから使うことができる場合もあります。修復できたら、本来のとおりに MBR に [[GRUB]] を再インストールしてください。
   
 
Windows が使用できるように戻したい場合、{{Ic|FIXBOOT}} コマンドを使うことで Windows オペレーティングシステムが自動的にロードされるようにすることができます。
 
Windows が使用できるように戻したい場合、{{Ic|FIXBOOT}} コマンドを使うことで Windows オペレーティングシステムが自動的にロードされるようにすることができます。
268行目: 270行目:
   
 
{{Ic|ms-sys}} が書き出すことができるのは Windows 98, ME, Vista, 7 の MBR です。詳しくは {{Ic|ms-sys -h}} を見てください。
 
{{Ic|ms-sys}} が書き出すことができるのは Windows 98, ME, Vista, 7 の MBR です。詳しくは {{Ic|ms-sys -h}} を見てください。
  +
  +
==== 間違って削除してしまった EFI システムパーティションを復元する ====
  +
  +
GPT でパーティショニングされているディスクで [[EFI システムパーティション]]を消去してしまった場合 (例えば、{{ic|mkfs.fat -F32 /dev/sd''x''}} で)、''Windows Boot Manager'' がブートオプションから消えたり、そのオプションを選択すると UEFI に戻されたりします。
  +
  +
これを修正するには、Windows のインストールメディアを起動し、{{ic|Shift+F10}} を押してコンソールを開いてください (または、''次へ > コンピューターを修復する > トラブルシューティング > 詳細オプション > コマンドプロンプト'' をクリックしてください)。そして、diskpart ユーティリティを起動してください:
  +
  +
X:\Sources> diskpart
  +
DISKPART> list disk
  +
  +
以下を入力して、適切なハードドライブを選択してください:
  +
  +
DISKPART> select disk ''number''
  +
  +
「システム」というタイプのパーティション (EFI システムパーティション) が存在することを確認してください:
  +
  +
DISKPART> list partition
  +
  +
そのパーティションを選択してください:
  +
  +
DISKPART> select partition ''number''
  +
  +
そして、そのパーティションに一時的なドライブレターを割り当ててください:
  +
  +
{{hc|1=DISKPART> assign letter=''G'':|2=
  +
DiskPart successfully assigned the drive letter or mount point.
  +
}}
  +
  +
ドライブレターが正しく割り当てられたことを確認してください:
  +
  +
{{hc|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
  +
  +
{{ic|C:\}} (または、あなたのシステムドライブのレター) に移動してください:
  +
  +
X:\Sources> cd /d ''C'':\
  +
  +
次は、「魔法」のコマンドです。BCD ストアを再作成します ({{ic|/s}} はマウントポイント、{{ic|/f}} はファームウェアタイプ、オプションで {{ic|/v}} は詳細を表示します):
  +
  +
C:\> bcdboot C:\Windows /s ''G'': /f UEFI
  +
  +
{{Tip|このコマンドが1分後に固まる場合、{{ic|Ctrl+c}} を押してください。これは時々起こりますが、{{ic|boot files successfully created}} ({{ic|ブート ファイルは正常に作成されました。}}) のようなメッセージが表示され、うまく行きます。}}
  +
  +
これで、ブートオプションとして機能する ''Windows Boot Manager'' が作成され、Windows にアクセスできます。次は EFI システムパーティションをフォーマットしないように気をつけましょう。
  +
  +
{{Note|''マイ コンピュータ''に表示されないようにするために、EFI システムパーティションに割り当てたドライブレター G を解除してください。}}
  +
  +
[https://www.reddit.com/r/archlinux/comments/yprrhr/guide_what_to_do_if_you_accidentally_format_your/]、[https://superuser.com/a/1111656]、[https://superuser.com/a/1507645] を参照。
  +
  +
==== Windows Setup によって作成された EFI システムパーティションが小さすぎる ====
  +
  +
デフォルトでは、[[Wikipedia:Windows Setup|Windows Setup]] は 100 MiB の [[EFI システムパーティション]]を作成します (ただし、[[Advanced Format]] の 4K ネイティブドライブには 300 MiB の ESP が作成されます)。一般的に、このサイズは必要なものを格納するには小さすぎます。ESP をリサイズするには様々なツールを試せますが、たいてい他のパーティションが邪魔をするので難しくなります。
  +
  +
Windows をゼロからインストールする場合、インストール中に EFI システムパーティションのサイズを指定することができます [https://www.ctrl.blog/entry/how-to-esp-windows-setup.html]:
  +
  +
# インストール場所を選んでください。その場所にパーティションが存在しないことを確認してください。
  +
# ''新規'' をクリックし、次に ''適用'' をクリックしてください。すると、Windows インストーラはパーティションを生成し (ほぼ全ての領域がプライマリパーティションに割り当てられます)、EFI には 100MB だけ割り当てられます。
  +
# UI を使って、{{ic|システム}} パーティション、{{ic|MSR}} パーティション、{{ic|プライマリ}} パーティションを削除してください。{{ic|リカバリ}} パーティションは (存在していれば) 残してください。
  +
# {{ic|Shift+F10}} を押し、コマンドプロンプトを開いてください。
  +
# {{ic|diskpart.exe}} と入力し {{ic|Enter}} を押して、ディスクパーティショニングツールを開いてください。
  +
# {{ic|list disk}} と入力し {{ic|Enter}} を押して、ディスクの一覧を表示してください。変更したいディスクを見つけ、ディスク番号をメモってください。
  +
# {{ic|select disk ''ディスク番号''}} と入力し、{{ic|Enter}} を押してください。
  +
# {{ic|1=create partition efi size=''サイズ''}} と入力し (''サイズ'' の部分は ESP のサイズをメビバイト (MiB) で入力してください)、{{ic|Enter}} を押してください。推奨される ESP のサイズは [[EFI システムパーティション#パーティションの作成]] に書かれてあるノートを見てください。
  +
# ESP をフォーマットするために {{ic|1=format quick fs=fat32 label=System}} と入力し {{ic|Enter}} を押してください。
  +
# {{ic|exit}} と入力し {{ic|Enter}} を押してディスクパーティショニングツールを終了し、更に {{ic|exit}} と入力し {{ic|Enter}} を押してコマンドプロンプトを閉じてください。
  +
  +
Windows のインストールが終わったら、Windows 内でプライマリパーティションをリサイズすることができます。その後、再起動して、作ったスペース内で通常の Arch インストールを始めてください。
  +
  +
あるいは、Windows をドライブにインストールする'''前に'''、Arch インストールメディアを使って [[EFI システムパーティション]]だけを好きなサイズで作成することもできます。Windows セットアップはその EFI システムパーティションを使ってくれます。
  +
  +
==== BIOS システム上で Windows 累積更新プログラムをインストールできない ====
  +
  +
BIOS システム上では、Windows 累積更新プログラムが ''We couldn’t complete the updates. Undoing changes. Don’t turn off your computer.'' というエラーで失敗する場合があります。その場合、Windows を実行中に [https://superuser.com/a/1405702 Windows パーティションをアクティブに]設定する必要があります。
  +
  +
C:\> diskpart
  +
DISKPART> list disk
  +
DISKPART> select disk ''番号''
  +
DISKPART> list partition
  +
DISKPART> select partition ''番号''
  +
DISKPART> active
  +
DISKPART> exit
  +
  +
Windows 更新プログラムをインストールできたら、上記のコマンドを使って、Linux パーティションをアクティブに戻してください。
   
 
== 時刻系 ==
 
== 時刻系 ==
   
* 推奨: Arch Linux と Windows のどちらも UTC に設定します。簡単な[[時刻#Windows で UTC を使う|レジストリの修正]]が必要です。また、Windows のバージョンによっては、ハードウェアクロックが ''localtime'' にデフォルトでるため、Windows がオンラインで時間の同期をすることができなくなります。時刻あわせ (NTP sync) をしたいときは、Arch Linux 側で [[Network Time Protocol daemon|ntpd]] を使うのが好ましいです。ただしこの問題は Windows 10 では修正されています。
+
* 推奨: [[システム時刻#Windows で UTC を使う]]に従って、Arch Linux と Windows のどちらも UTC に設定します。Windows のバージョンによっては、オンラインで時刻を同期するように設定されている場合、ハードウェアクロックが ''地方時(localtime)'' に戻ります。この問題は Windows 10 では修正されています。
   
 
* 非推奨: Arch Linux を ''localtime'' に設定して [[Network Time Protocol daemon|NTPd]] のような時刻関係のサービスを無効にします。こうするとハードウェアクロックの修正の面倒を Windows に押し付けることになるので、一年に[[Wikipedia:ja:夏時間|夏時間]]が入るときに少なくとも2回(春と秋に)は Windows を起動しないといけないことを覚えておく必要があります。Windows をしばらく起動しなかったら時計が1時間すすんだりおくれたりするのは何故?とフォーラムで聞くのはやめましょう。
 
* 非推奨: Arch Linux を ''localtime'' に設定して [[Network Time Protocol daemon|NTPd]] のような時刻関係のサービスを無効にします。こうするとハードウェアクロックの修正の面倒を Windows に押し付けることになるので、一年に[[Wikipedia:ja:夏時間|夏時間]]が入るときに少なくとも2回(春と秋に)は Windows を起動しないといけないことを覚えておく必要があります。Windows をしばらく起動しなかったら時計が1時間すすんだりおくれたりするのは何故?とフォーラムで聞くのはやめましょう。
284行目: 379行目:
 
* [https://github.com/kaipee/grub-reboot2win One-time boot into Windows partition from desktop shortcut]
 
* [https://github.com/kaipee/grub-reboot2win One-time boot into Windows partition from desktop shortcut]
 
* [https://github.com/ValdikSS/windows2usb Windows 7/8/8.1/10 ISO to Flash Drive burning utility for Linux (MBR/GPT, BIOS/UEFI, FAT32/NTFS)]
 
* [https://github.com/ValdikSS/windows2usb Windows 7/8/8.1/10 ISO to Flash Drive burning utility for Linux (MBR/GPT, BIOS/UEFI, FAT32/NTFS)]
  +
  +
{{TranslationStatus|Dual boot with Windows|2024-06-16|810088}}

2024年7月10日 (水) 20:13時点における最新版

この記事では Arch と Windows を共存させる方法を説明しています。

重要情報

Windows の UEFI と BIOS の制限

Microsoft は Windows のバージョンによって使用できるファームウェアのブートモードとパーティションスタイルを制限しています:

ノート: 以下の項目は Wikipedia:Windows Setup によってサポートされている構成のみをリストしていますが、これらのサポートされない構成でも Windows Setup や Windows 自体は機能するかもしれません。Windows Setup のチェックをバイパスしさえすれば、Windows 11 は BIOS/MBR の構成でも機能するのが良い例です。
  • Windows 8/8.110 x86 32ビット は GPT ディスクからの IA32 UEFI モードによる起動、あるいは MBR/msdos ディスクからの BIOS モードによる起動のみサポートしています。GPT/MBR ディスクからの x86_64 UEFI ブート、MBR/msdos ディスクからの x86_64 UEFI ブート、GPT ディスクからの BIOS ブートなどはサポートしていません。市場に出ているマシンとしては古い Intel Mac (2010年以前のモデル) や Intel Atom System-on-Chip (Clover Trail と Bay Trail) が搭載された Windows タブレットだけに IA32 (U)EFI が含まれており、GPT ディスクからの IA32 UEFI モードによる起動を行います。
  • Windows 8/8.110 x86_64 は GPT ディスクからの x86_64 UEFI モードによる起動、あるいは MBR/msdos ディスクからの BIOS モードの起動をサポートしています。IA32 UEFI ブート、MBR/msdos ディスクからの x86_64 UEFI ブート、GPT ディスクからの BIOS ブートなどには対応していません。
  • Windows 11x86_64 と UEFI モードによる GPT ディスクからの起動のみをサポートしています。

Windows がマシンにプリインストールされている場合:

  • Windows XP, Vista, 7 の32ビット版がプリインストールされているマシンはデフォルトで BIOS-MBR モードで起動します。サービスパックやビット数、Windows のエディション (SKU) やファームウェアが UEFI をサポートしているかどうかは関係ありません。
  • Windows 7 x86_64 がプリインストールされているマシンの大多数はデフォルトで BIOS-MBR モードで起動します。サービスパックやビット数、エディション (SKU) は無関係です。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 では使用しているファームウェアのモードによってパーティションのタイプが強制的に決定されます。Windows が UEFI モードで起動していれば、GPT ディスクにしかインストールすることができません。Windows がレガシー BIOS モードで起動している場合、MBR ディスクにしかインストールできません (別名 msdos)。これは Windows インストーラーによる制約であり、2014年4月現在、UEFI-MBR や BIOS-GPT の組み合わせで Windows をインストールする公式(Microsoft)の方法はありません。したがって Windows は UEFI-GPT あるいは BIOS-MBR しかサポートしていません。

ヒント: Windows 10 version 1703とそれ以降のバージョンは、MBR2GPT.EXEを使うことで BIOS/MBR から UEFI/GPT への変換をサポートしています。

Linux カーネルにはそのような制限はありませんが、使用するブートローダーやその設定方法が変わってきます。ブートローダーのインストール手順はファームウェアの種類やディスクのパーティショニングの設定に依るので、Windows と Linux を同一のディスクからデュアルブートする場合、Windows の制限には注意が必要です。できる限り、Windows が使用する方法、つまり UEFI-GPT あるいは BIOS-MBR ブートにあわせることを推奨します。詳しくは https://support.microsoft.com/kb/2581408 を見てください。

ブートローダーの UEFI と BIOS の制限

ほとんどの Linux ブートローダーはインストールされたものと別のタイプのファームウェアのブートローダーを起動したりチェインロードすることができません。したがって、Arch を UEFI-GPT あるいは UEFI-MBR モードでインストールして、Windows を他のディスクに BIOS-MBR モードでインストールした場合、Arch の UEFI ブートローダーで Windows をチェインロードすることは不可能です。同じように BIOS-MBR や BIOS-GPT モードで Arch をインストールして、Windows を UEFI-GPT を使って他のディスクにインストールした場合、Arch の BIOS ブートローダーで Windows をチェインロードすることはできません。

Apple Mac における GRUB(2) だけが上記の例外であり、appleloader コマンドを使って EFI でインストールされた GRUB(2) から BIOS でインストールされた OS を起動したり、rEFInd を使って UEFI 環境からレガシー BIOS の OS を起動できますが、ツールの作者である Rod Smith によれば Apple 以外の UEFI 環境では機能しません

ただし Arch を BIOS-GPT でインストールして、Windows を他のディスクに BIOS-MBR でインストールした場合、ブートローダーが他のディスクをチェインロードできれば、Arch の使用しているブートローダーで他のディスクに入っている Windows を起動できます。

ノート: Arch と Windows を同一のディスクから起動する場合、Windows によって使用されているのと同じファームウェアのブートモードとパーティションタイプの組み合わせを使ってください。

Windows セットアップ は 100 MiB の EFI システムパーティション を作成します(ただし、Advanced Format の 4K ネイティブドライブには 300 MiB の ESPが作成されます)。故に、使用できるカーネルの数は制限されます。回避策は:

  • ESP を /efi にマウントする。そして、ファイルシステムドライバーがあり、他のパーティションにあるカーネルを起動できるブートローダーを使用する。
  • ESP を拡張する。通常の方法としては、回復パーティションのサイズを減らすか、Windows パーティションを移動する(これにより UUID が変わります)かです。
  • バックアップをとり、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 のインストールメディアは現在 Secure Boot をサポートしています。セキュアブート#インストールメディアを起動するを見てください。

Arch Linux を起動する前に UEFI Secure Boot を無効化することが推奨されます。Secure Boot を無効にしても Windows 8/8.1, 10, 11 は問題なく起動できるはずです。UEFI Secure Boot のサポートを無効化するには物理的にコンピュータにアクセスして、ファームウェアの設定で Secure Boot オプションを無効化する必要があるというのが唯一の問題です。Microsoft は、Windows 8/8.1 以上のプリインストール済みのシステムにおいて、リモートで、または(OS 中から)プログラムを使って Secure Boot を無効化する方法を明確に禁止しています。

ノート:
  • Windows で Bitlocker を使用していて、起動時に自動的にロックを解除するために TPM 内にキーを保存している場合、セキュアブートを無効化すると起動に失敗して Bitlocker の回復画面が表示されます。しかし、これは恒久的なものではなく、単にセキュアブートを有効化すれば Windows を簡単に再び起動できるようになります。
  • Windows 11 では、TPM が正常に動作している限り、インストール後にセキュアブートを無効化しても問題は発生しません。

高速スタートアップとハイバネート

ノート: Windows ではハイバネートは休止状態とも呼ばれます。

ハイバネート可能な OS が2つあるとき、Windows と Linux (または、他の OS)の一方をハイバネートしてもう一方を起動したり、両方をハイバネートする場合があります。

警告: Windows がハイバネートしているときに、Windows と Linux の両方から読み書き可能な、Windows によってマウントされているファイルシステム(例えば NTFS)上のファイルに対して、デュアルブートしている他の OS から変更を加えるとデータの損失が発生する可能性があります[3]。Windows と Linux の立場が逆の場合でも同じです。Windows ではシャットダウンのボタンを押してもハイバネートするかもしれません。#Windows 設定を見てください。

同じ理由で、1つの EFI システムパーティションを Windows と Linux の間で共有している場合に、Windows をハイバネート(または、高速スタートアップを有効化した状態でシャットダウン)して Linux を起動したり、その逆をしたりすると、EFI システムパーティションが損傷するかもしれません。

ハイバネートされたディスクを読み書きでマウントすることを防ぐセーフガードntfs-3g には追加されていますが、Linux カーネルの NTFS ドライバーにはそうしたセーフガードが存在しません。

Windows はデフォルトで、Linux で一般的に使用されている ext4 のようなファイルシステムを読み込むことができません。Windows にこれらのファイルシステム用のドライバーをインストールしていない限り、これらのファイルシステムを考慮する必要はありません。

Windows 設定

Windows 8 以上には高速スタートアップという新しい機能が含まれており、シャットダウンを実際に行う代わりにハイバネートをすることで起動時間を短縮します。

高速スタートアップとハイバネートに対する Windows 設定の複数の選択肢が次のセクションで言及されています。

  • 高速スタートアップとハイバネートを無効化する
  • 高速スタートアップを無効化し、ハイバネートを有効化する
  • 高速スタートアップとハイバネートを有効化する

高速スタートアップを無効化する手順については、Windows 8 はここにWindows 10 はここにWindows 11 はここにあります。如何なる設定を無効化する場合においても、Linux をインストールする前にその設定を無効化したことを確認して Windows をシャットダウンしてください。再起動では不十分であることに注意してください。

高速スタートアップとハイバネートを無効化する

この選択肢は、ある OS から別の OS に再起動するときにユーザの注意を最も必要としません。よって最も安全で、先の問題についてよくわからない場合に推奨されます。1つの同じ EFI システムパーティションを Windows と Linux の間で共有することができます。

Windows のコマンドラインシェルを管理者権限で実行し、以下のコマンドを実行してください:

> powercfg /H off
高速スタートアップを無効化し、ハイバネートを有効化する

この選択肢は、ある OS から別の OS に再起動するときにユーザの注意を必要とします。 一般的な使用ケースとして、Windows がハイバネートしているときに Linux を起動したい場合:

  • EFI システムパーティション(ESP)を Windows 用と Linux 用とで分けなければならず、Windows が Linux 用の ESP をマウントしないようにしなければなりません。ドライブごとに1つの ESP しか存在できないので、Linux 用の ESP は Windows 用の ESP があるドライブとは別のドライブに存在していなければなりません。この場合、Linux の root パーティションとは別のドライブに Linux 用の ESP を置けば、Windows と Linux は同じドライブの別々のパーティションにインストール可能です。
  • Windows がハイバネートしているときに、Windows によってマウントされているファイルシステムを読み書き可能な状態で Linux からマウントすることはできません。これについては非常に注意するべきです。また、自動マウント の挙動についても考慮すべきです。
  • Windows をハイバネートでなく完全にシャットダウンした場合は、先に述べたようなファイルシステムを読み書き可能な状態でマウントすることができます。
ノート: ドライブに関するこの問題は、Windows でドライブを外部ドライブとしてマウントし、ハイバネートする前にそのドライブを Windows から取り外すことにより回避できます。
高速スタートアップとハイバネートを有効化する

「高速スタートアップを無効化し、ハイバネートを有効化する」場合と同じ考慮が適用されますが、Windows が完全にシャットダウンされずハイバネートするだけなので、Windows がハイバネートしているときに、Windows によってマウントされていたファイルシステムを読み書き可能な状態でマウントすることはできません。

ノート: [4]で報告されているように、Windows アップデートは高速スタートアップを再有効化するかもしれません。

Windows のファイル名の制限

Windows ではファイルパスが 260 文字 以下までに制限されています。

また、Windows はファイル名で 特定の文字を使用禁止 にしています。これは昔の DOS の名残です:

  • < (小なり)
  • > (大なり)
  •  : (コロン)
  • " (ダブルクオーテーション)
  • / (スラッシュ)
  • \ (バックスラッシュ)
  • | (縦線またはパイプ)
  •  ? (クエスチョンマーク)
  • * (アスタリスク)

以上の制約は Windows のものであって NTFS にはありません、つまり NTFS パーティションを使用する他の OS は影響を受けません。Windows はこれらのファイルを検出することができなくて chkdsk を実行すると大抵はファイルを削除しようとします。

NTFS-3G では windows_filenames オプションを使用すると Windows の制限が新しく作成したファイルに適用されます (fstab を見てください)。

インストール

Linux/Windows のデュアルブートをセットアップする場合、最初に Windows をインストールするのが推奨されます。Windows はディスクの一部を使ってパーティションを作ります。Windows のセットアップが終わったら、Linux のインストール環境にブートして、既存の Windows のパーティションには触れずに Linux 用のパーティションを作成することができます。Windows をインストールすると、Linux のブートローダーから使うことができる EFI System Partition が作成されます。

Linux の前に Windows をインストール

BIOS システム

Linux のブートローダーを使う

マルチブートをサポートする BIOS ブートローダーを使うことができます。

Windows 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 を起動して下さい、Windows から linux.bin ファイルにアクセス可能なはずです。コマンドプロンプト cmd を管理者として実行し以下を実行してください(スタート > 全てのプログラム > アクセサリ から コマンドプロンプト を右クリックして 管理者として実行 を選択):
    bcdedit /create /d "Linux" /application BOOTSECTOR
    BCDEdit はエントリの UUID を返します。以下の残りの手順では、この 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 のブートローダーを使うことにより、二番目の電源ボタンを Windows の代わりに Linux を起動するようにすることができます。(例: Dell Precision M4500)

詳細については https://www.iceflatline.com/2009/09/how-to-dual-boot-windows-7-and-linux-using-bcdedit/ をご覧ください。

UEFI システム

既に Windows がインストールされている場合、GPT でフォーマットされたディスクにはいくつかのパーティションがすでに作成されています。

  • Windows 回復環境パーティション。一般的に 499 MiB で、Windows の起動に必要なファイルが含まれます(例えば、Linux の /boot に相当します)。
  • FAT32 ファイルシステムの EFI システムパーティション
  • Microsoft 予約パーティション。一般的に 128 MiB。
  • NTFS ファイルシステムの Microsoft basic data パーティション。C: に対応します。
  • もしかすると、システム回復用かバックアップ用のパーティションや他のデータパーティション(D: などに対応)もあるかもしれません。

Windows の「ディスクの管理」ユーティリティを使って、パーティションのラベルやタイプを調べられます。これは、どのパーティションが Windows に必須で、どのパーティションを再利用できるかを理解する助けになります。Windows の「ディスクの管理」ユーティリティは Windows の(NTFS)パーティションを縮小するのにも利用できます。これで Linux パーティション用の空き領域を作ることができます。

警告: 上記のリストのうち最初の4つのパーティションは必須です。削除しないでください。

そしたら、必要に応じてパーティショニングの作業に移れます。使用するブートローダーは、Windows や Linux とデュアルブートするために他の EFI アプリケーションのチェインロードをサポートしている必要があります。追加の EFI システムパーティションは作成すべきではありません。作成すると Windows が起動できなくなるかもしれません。

ノート: 2台目のハードディスクにLinuxをインストールし、2台目のハードディスクに新しいEFIシステムパーティションを作成した場合のみ表示されます。

単にすでにある EFI システムパーティションをマウントしてください。

ヒント:

新しいバージョンの Windows を搭載しているコンピュータではしばしばセキュアブートが有効化されています。セキュアブートを無効化するかインストールメディアをセキュアブートに対応させるには追加の手順を踏む必要があります(このページの上の部分に行ってリンクページを見てください)。

Windows の前に Linux をインストール

Linux/Windows をデュアルブートするには Windows からインストールするのが推奨されますが、逆に Linux からインストールすることも可能です。Linux の前に Windows をインストールする場合とは対照的に、Windows 用のパーティションを(例えば40GB以上)確保しておく必要があります。あるいは、パーティショニングされていないディスク領域を用意しておいたり、Windows のインストール前に Linux から Windows 用のパーティションを作成しリサイズしておく必要があります。

UEFI ファームウェア

Windows はすでに存在しているEFI システムパーティションを使用します。

ファームウェアでセキュアブートが無効になっていることを前提として概要に移ります。

  1. Windows インストーラーを起動してください。意図したパーティションのみを使用させるように注意してください。それ以外は Linux がインストールされていないかのように動作させてください。
  2. #高速スタートアップとハイバネートセクションに従ってください。
  3. 起動時に Linux をロードできるように修正してください。おそらく、#Windows をインストールしたら Linux が起動できなくなったに従えばできます。#UEFI システムで言及されているように、一部の Linux ブートマネージャーは Windows Boot Manager を自動検出します。新しい Windows インストーラーには高度な再起動オプションがあり、それを使って Linux を起動できます。しかし、Arch インストールメディアや live CD などの Linux を起動するには別の方法を取ることを推奨します。
GRUB で Windows 10 を起動

以下ではブートローダーとして GRUB が使用されていることを前提とします(ですが、他のブートローダーの場合でも手順は似ているでしょう)。また、EFI システムパーティションがすでにある GPT ブロックデバイス上に Windows 10 がインストールされるとします(さらなる情報については、Microsoft documentation の "System partition" セクションをご覧ください)。

gdisk を使ってブロックデバイス上に以下の3つのパーティションを新しく作成してください。より正確なパーティションサイズは[5]をご覧ください。

最小サイズ コード 名前 ファイルシステム
16 MB 0C01 Microsoft 予約領域 N/A
~40 GB 0700 Microsoft 基本データ NTFS
300 MB 2700 Windows リカバリ領域 NTFS

ntfs-3g パッケージに含まれる mkntfs プログラムを使って、NTFS ファイルシステムを新しい Microsoft basic data パーティション上と Windows RE (recovery) パーティション上に作成してください。

システムを再起動し、Windows 10 インストールメディアを起動してください。インストール画面が表示されたら、カスタムインストールオプションを選び、先ほど作成した Microsoft basic data パーティション上に Windows をインストールしてください。これで EFI システムパーティション上に Microsoft EFI ファイルもインストールされるはずです。

インストール後は(Windows のセットアップとログインは必要ありません)、再起動して Linux を起動し、GRUB の設定ファイルを生成して、GRUB のブートメニューから Windows ブートマネージャーを利用できるようにしてください。

トラブルシューティング

Couldn't create a new partition or locate an existing one

Windows 8.1 のインストール USB スティックは MBR パーティションテーブルを必要としており、存在しない場合、パーティションは作成されるのにかかわらず、"Couldn't create a new partition or locate an existing one" と出力されます。

Windows をインストールしたら Linux が起動できなくなった

UEFI#Windows によってブート順序が変わってしまうを見てください。

Windows のブートレコードの修復

習慣的に、Windows は1番目のパーティションにインストールされ、パーティションの1番目のセクタにパーティションテーブルとブートローダーの位置がインストールされることになっています。間違えて GRUB などのブートローダーを Windows のパーティションにインストールしてしまったなど何らかの理由でブートレコードを破損した場合は、ユーティリティを使用して修復する必要があります。Microsoft はリカバリディスクの中にブートセクタの修復ユーティリティである FIXBOOT と MBR の修復ユーティリティである FIXMBR を用意しています。インストールディスクから使うことができる場合もあります。修復できたら、本来のとおりに MBR に GRUB を再インストールしてください。

Windows が使用できるように戻したい場合、FIXBOOT コマンドを使うことで Windows オペレーティングシステムが自動的にロードされるようにすることができます。

また、ms-sysAUR という Linux ユーティリティも存在します。ただし、このユーティリティが書き込むことができるのは新しい MBR とブートセクタだけです。ほとんどの LiveCD にはユーティリティがデフォルトでは含まれていないため、あらかじめインストールするか、Parted Magic などのようなレスキュー CD が必要です。

まず、パーティション情報 (パーティションテーブル) を書き出すには:

# 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 でパーティショニングされているディスクで EFI システムパーティションを消去してしまった場合 (例えば、mkfs.fat -F32 /dev/sdx で)、Windows Boot Manager がブートオプションから消えたり、そのオプションを選択すると 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
ヒント: このコマンドが1分後に固まる場合、Ctrl+c を押してください。これは時々起こりますが、boot files successfully created (ブート ファイルは正常に作成されました。) のようなメッセージが表示され、うまく行きます。

これで、ブートオプションとして機能する Windows Boot Manager が作成され、Windows にアクセスできます。次は EFI システムパーティションをフォーマットしないように気をつけましょう。

ノート: マイ コンピュータに表示されないようにするために、EFI システムパーティションに割り当てたドライブレター G を解除してください。

[6][7][8] を参照。

Windows Setup によって作成された EFI システムパーティションが小さすぎる

デフォルトでは、Windows Setup は 100 MiB の EFI システムパーティションを作成します (ただし、Advanced Format の 4K ネイティブドライブには 300 MiB の ESP が作成されます)。一般的に、このサイズは必要なものを格納するには小さすぎます。ESP をリサイズするには様々なツールを試せますが、たいてい他のパーティションが邪魔をするので難しくなります。

Windows をゼロからインストールする場合、インストール中に EFI システムパーティションのサイズを指定することができます [9]:

  1. インストール場所を選んでください。その場所にパーティションが存在しないことを確認してください。
  2. 新規 をクリックし、次に 適用 をクリックしてください。すると、Windows インストーラはパーティションを生成し (ほぼ全ての領域がプライマリパーティションに割り当てられます)、EFI には 100MB だけ割り当てられます。
  3. UI を使って、システム パーティション、MSR パーティション、プライマリ パーティションを削除してください。リカバリ パーティションは (存在していれば) 残してください。
  4. Shift+F10 を押し、コマンドプロンプトを開いてください。
  5. diskpart.exe と入力し Enter を押して、ディスクパーティショニングツールを開いてください。
  6. list disk と入力し Enter を押して、ディスクの一覧を表示してください。変更したいディスクを見つけ、ディスク番号をメモってください。
  7. select disk ディスク番号 と入力し、Enter を押してください。
  8. create partition efi size=サイズ と入力し (サイズ の部分は ESP のサイズをメビバイト (MiB) で入力してください)、Enter を押してください。推奨される ESP のサイズは EFI システムパーティション#パーティションの作成 に書かれてあるノートを見てください。
  9. ESP をフォーマットするために format quick fs=fat32 label=System と入力し Enter を押してください。
  10. exit と入力し Enter を押してディスクパーティショニングツールを終了し、更に exit と入力し Enter を押してコマンドプロンプトを閉じてください。

Windows のインストールが終わったら、Windows 内でプライマリパーティションをリサイズすることができます。その後、再起動して、作ったスペース内で通常の Arch インストールを始めてください。

あるいは、Windows をドライブにインストールする前に、Arch インストールメディアを使って EFI システムパーティションだけを好きなサイズで作成することもできます。Windows セットアップはその EFI システムパーティションを使ってくれます。

BIOS システム上で Windows 累積更新プログラムをインストールできない

BIOS システム上では、Windows 累積更新プログラムが We couldn’t complete the updates. Undoing changes. Don’t turn off your computer. というエラーで失敗する場合があります。その場合、Windows を実行中に Windows パーティションをアクティブに設定する必要があります。

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

Windows 更新プログラムをインストールできたら、上記のコマンドを使って、Linux パーティションをアクティブに戻してください。

時刻系

  • 推奨: システム時刻#Windows で UTC を使うに従って、Arch Linux と Windows のどちらも UTC に設定します。Windows のバージョンによっては、オンラインで時刻を同期するように設定されている場合、ハードウェアクロックが 地方時(localtime) に戻ります。この問題は Windows 10 では修正されています。
  • 非推奨: Arch Linux を localtime に設定して NTPd のような時刻関係のサービスを無効にします。こうするとハードウェアクロックの修正の面倒を Windows に押し付けることになるので、一年に夏時間が入るときに少なくとも2回(春と秋に)は Windows を起動しないといけないことを覚えておく必要があります。Windows をしばらく起動しなかったら時計が1時間すすんだりおくれたりするのは何故?とフォーラムで聞くのはやめましょう。

Bluetooth ペアリング

Bluetooth デバイスを Linux と Windows の両方でペアリングする場合、両方のシステムは同じ MAC アドレスを持ちますが、ペアリング処理で生成された異なるリンクキーを使用します。その結果、一方の OS にペアリングすると、もう一方の OS からの接続が切断されます。再ペアリングせずにどちらの OS からも接続できるようにするには、Bluetooth#デュアルブートペアリングに従ってください。

参照

翻訳ステータス: このページは en:Dual boot with Windows の翻訳バージョンです。最後の翻訳日は 2024-06-16 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。