Windows とのデュアルブート

提供: ArchWiki
2015年1月6日 (火) 22:40時点におけるKusakata (トーク | 投稿記録)による版 (1版 をインポートしました)
ナビゲーションに移動 検索に移動

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

データを消失する危険性

NTFS パーティションに残っているファイル

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

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

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

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

高速スタートアップ

Windows 8 には高速スタートアップという新しい機能が含まれており、シャットダウンを実際に行う代わりにハイバネートをすることで起動時間を短縮します。Windows がハイバネートを行なっているときに、他の OS にデュアルブートしてファイルに変更を加えてしまうと、ファイルシステムのデータを消失してしまう可能性があります。ファイルシステムを共有する予定がない場合でも、EFI 環境では ESP が破壊されるおそれが存在します。従って、Windows 8 を使っているコンピュータでは、Linux をインストールする前に ここ に記述されているようにして高速スタートアップを無効にしてください。

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

インストール

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

Windows 8 がプリインストールされた新しいコンピュータでは Secure Boot が使われるようになります。現在 Arch Linux では Secure Boot をサポートしていませんが、BIOS から Secure Boot を切ると Windows 8 が起動しなくなることがあります。Secure Boot を使わずに Windows 8 を起動するために、場合によっては BIOS オプションで Secure Boot と Fastboot の両方を止めなくてはなりません。しかしながら Windows 8 のブートで Secure Boot をオフにするのは潜在的なセキュリティのリスクがあります。よって、インストールされている Windows 8 はそのままにして別のハードドライブに Linux をインストールするのがベターな選択肢かもしれません - これなら GPT パーティションテーブルを使ってイチからパーティションを作成することが可能です。新しいハードドライブを用意し、コンピュータが2つのドライブを使えるようにする場合、将来のことを考えて2つめのドライブには ext4/FAT32/swap パーティションを作成していたほうが良いでしょう。ラップトップでは別のドライブを用意するのは難しい、あるいは不可能ということもありえます。今のところ、Secure Boot は信頼に足るような完全に安定した状態とは言えません、それをサポートしている Linux ディストリビューションでさえもです。

BIOS 環境

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

GRUB もしくは Syslinux を使うことができます。

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

このセットアップの場合 Windows のブートローダーが GRUB を読み込んでから Arch を起動します。

Windows 7/8 のブートローダー

以下のセクションには http://www.iceflatline.com/2009/09/how-to-dual-boot-windows-7-and-linux-using-bcdedit/ からの引用が含まれています。

他の設定は通常のインストールと変わりありません。ドキュメントによっては Windows のブートローダーによってロードされるパーティションはプライマリパーティションでなければならないと言及していますが、拡張パーティションも問題なく使用できます。

  • Linux 下でコマンドシェルに以下を入力してブート情報のコピーを取って下さい:
my_windows_part=/dev/sda3
my_boot_part=/dev/sda5
mkdir /media/win
mount $my_windows_part /media/win
dd if=$my_boot_part of=/media/win/linux.bin bs=512 count=1
  • Windows を起動して下さい、FAT32 パーティションが見えているはずです。linux.bin ファイルを C:\ にコピーして下さい。そして管理者権限で cmd を実行します (スタート > 全てのプログラム > アクセサリ から コマンドプロンプト を右クリックして 管理者として実行 を選択):
bcdedit /create /d “Linux” /application BOOTSECTOR
  • BCDEdit はエントリの英数字による識別子を返します。以下、それを {ID} と称します。{ID} を実際に表示された識別子で置き換えてください。例えば {ID} は {d7294d4e-9837-11de-99ac-f3f3a79e3e93} などとなります。
bcdedit /set {ID} device partition=c:
bcdedit /set {ID}  path \linux.bin
bcdedit /displayorder {ID} /addlast
bcdedit /timeout 30

再起動して下さい。Windows のブートローダーを使うことにより、例えば Dell Precision M4500 の二番目の電源ボタンを Windows の代わりに Linux を起動するようにすることができます。

Windows 2000/XP のブートローダー

こちらの方法については http://www.geocities.com/epark/linux/grub-w2k-HOWTO.html を見て下さい。おそらく Linux ブートローダーを使わずにこの方法を使うはっきりとした利点はありません。/boot パーティションが必要で、おそらく設定の難易度は上がります。

UEFI 環境

GummibootrEFInd はどちらも Windows Boot Manager \EFI\Microsoft\Boot\bootmgfw.efi を自動で検出してブートメニューに表示します。そのため手動の設定は必要ありません。

GRUB(2) の場合 GRUB#UEFI-GPT モードでインストールされた Windows のメニューエントリ に従って下さい。

Syslinux (バージョン 6.01) や ELILO は他の EFI アプリケーションのチェインロードをサポートしていないため、\EFI\Microsoft\Boot\bootmgfw.efi をチェインロードするのに使うことはできません。

新しいバージョンの Windows が入っているコンピュータでは secure boot が有効になっていることがあります。secure boot を無効にするか、インストールメディアを secure boot に対応させるかのどちらかの作業をする必要があります。

時刻系

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

参照