Windows 7をUEFIモードでインストールするためのUSBメモリを作成するTech TIPS

Windows 7をUEFIモードでインストールするにはDVDメディアでシステムを起動すればよいが、USBメモリにコピーしたものではファイルが不足していて、UEFIモードで起動できない。これを解決する方法を紹介。

» 2014年04月18日 14時57分 公開
[打越浩幸デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:64bit版Windows 7 / Windows Server 2008 R2



解説

 Windows XPからの移行先として、現在ではまだまだWindows 7を選択する場合も少なくない。もし2TB以上のディスクにインストールしたり(次の関連記事参照)、高速ブートなどの機能を利用したいなら、64bit版OSをレガシーBIOSモードではなく、UEFIモードでインストールしておきたい。

 UEFIモードにを利用するには、PCにWindows OSのインストールメディア(DVDもしくはそれをコピーしたUSBメモリなど)を挿入し、UEFIモードでインストーラーを起動するだけでよく、特に難しいことはない。だがWindows 7のUEFIインストール用のUSBメモリを作るには少し注意が必要である。Windows 8やWindows Server 2012以降のOSの場合と同じようにUSBメモリを作成してもUEFIブートできないからだ。システムにもよるが、Windows 7のインストール用DVDを使ってシステムを起動するとUEFIブートできるのに、そのDVDメディアを使って作成したUSBメモリではUEFIブートできない、ということが起こる。

 これは、DVDメディアには含まれているブート用コードが、USBメモリにコピーしたものでは不足していることに起因する(DVDとそれ以外では、ブートの仕組みが少し異なる)。本TIPSでは、この不足しているファイルを補う方法を紹介する。

操作方法

●手順1―ブータブルUSBメモリを作成する

 最初に以下のいずれかの方法を用いて、ブータブルUSBメモリを作成する。どちらの方法でもよいが、NTFS形式のファイルシステムではUEFIブートできないシステムも存在するので、その場合はFAT32形式を選択するのがよいだろう。

 レガシーBIOS形式は一切使わず、UEFI形式でしかブートするつもりがないなら、もっと簡単に、FAT32形式でフォーマットしたUSBメモリに、インストールDVDメディア内のファイルを全部コピーするだけでもよい。UEFIブートでは、USBメモリの先頭セクターにブートコードを書き込んでおく必要もないし、パーティションをアクティブにしておく必要もないからだ。ファイルシステムとしてアクセスできればUEFIブートできる。

●手順2―「\efi\boot\bootx64.efi」ファイルを作成する

 次はUEFIブート用のファイル「bootmgfw.efi」を用意して、USBメモリ内に「\efi\boot\bootx64.efi」という名前に変更して保存する(このファイルが不足しているので、Windows 7のDVDメディアの内容を単にコピーしただけのUSBメモリではUEFIブートできない)。

 さてこの「bootmgfw.efi」というファイルをどこから持ってくるか(コピーしてくるか)であるが、次のように幾つか方法があるので、環境などに応じて選んでいただきたい。

■方法1.稼働中の64bit版Windows 7からコピーする
 既にインストール済みで実行中の64bit版Windows 7(もしくはそれ以降のOSでも可)環境があれば、そこからコピーしてくるのが一番簡単である。そのWindows OSがUEFIブートしているかレガシーBIOSブートしているかは関係ない。64bit版Windows OSであればどれでもよい。

 64bit版Windows OS上で「%windir%\Boot\EFI」フォルダの内容を確認すると「bootmgfw.efi」というファイルがあるはずなので、これを「\boot\efi」フォルダに「bootx64.efi」という名前にしてコピーする。

C:\>dir %windir%\Boot\EFI ……コピー元の確認。64bit版Windows 7上で実行すること。32bit版Windows 7にはBoot\EFIフォルダは存在しない
ドライブ C のボリューム ラベルは WIN7X64 です
ボリューム シリアル番号は 2C9F-4796 です

C:\Windows\Boot\EFI のディレクトリ

2011/03/17  11:57    <DIR>          .
2011/03/17  11:57    <DIR>          ..
2010/11/20  05:32           672,640 bootmgfw.efi ……このファイルをコピーする
2010/11/20  05:32           669,568 bootmgr.efi ……こちらではない
2009/07/14  12:20    <DIR>          cs-CZ
……(以下省略)……

C:\>mkdir e:\efi\boot ……コピー先フォルダを作成する(E:がUSBメモリとする)

C:\>copy %windir%\Boot\EFI\bootmgfw.efi e:\efi\boot\bootx64.efi ……名前を変えてコピーする
        1 個のファイルをコピーしました。

C:\>dir e:\efi\boot ……確認する
ドライブ E のボリューム ラベルがありません。
ボリューム シリアル番号は 0CC8-1AAE です

e:\efi\boot のディレクトリ

2014/04/11  18:01    <DIR>          .
2014/04/11  18:01    <DIR>          ..
2010/11/20  05:32           672,640 bootx64.efi ……コピーしたファイル
               1 個のファイル             672,640 バイト
               2 個のディレクトリ   3,903,909,888 バイトの空き領域

C:\>



■方法2.64bit版Windows 8などのインストールメディアからコピーする
 「\efi\boot\bootx64.efi」というファイルは、Windows 8以降のインストールDVDメディア(およびそこから作成したUSBメモリ)には存在しているので、ここからコピーしてもよい。64bit版のWindows 8/8.1やWindows Server 2012/R2のインストール用メディアを用意し(評価版でも可)、そこからコピーする。

C:\>mkdir e:\efi\boot ……コピー先フォルダを作成する(E:がUSBメモリとする)

C:\>copy d:\efi\boot\bootx64.efi e:\efi\boot ……コピーする(D:がコピー元ドライブとする)
        1 個のファイルをコピーしました。

C:\>dir e:\efi\boot ……確認する
ドライブ E のボリューム ラベルがありません。
ボリューム シリアル番号は 0CC8-1AAE です

e:\efi\boot のディレクトリ

2014/04/11  18:18    <DIR>          .
2014/04/11  18:18    <DIR>          ..
2013/08/23  04:51         1,615,712 bootx64.efi ……コピーしたファイル
               1 個のファイル           1,615,712 バイト
               2 個のディレクトリ   3,903,909,888 バイトの空き領域

C:\>



■方法3.一時的にインストーラを起動してコピーする
 いったんインストーラを起動して、インストール中のイメージからbootx64.efiファイルをコピーするという方法もある。まずWindows 7のインストールDVDメディアか手順1で作成したUSBメモリを使ってシステムを起動する(UEFIモードでもレガシーBIOSモードでもよい)。インストーラの画面が表示されたら[Shift]+[F10]キーを押して、コマンドプロンプト画面を開く。そしてX:ドライブ(Windows OSのインストールイメージが展開されている一時的なドライブ)の「X:\Windows\boot\efi\bootmgfw.efi」というファイルをUSBメモリに「\efi\boot\bootx64.efi」としてコピーする。

X:\Sources> ……インストールの途中で[Shift]+[F10]キーを押してコマンドプロンプト画面を開くと、X:\Sourcesフォルダが開かれる。これはインストール用のファイルイメージを展開している一時的なフォルダ
X:\Sources>diskpart ……USBメモリのドライブ名を確認しておく

Microsoft DiskPart バージョン 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
コンピューター: MINWINPC

DISKPART> list vol ……ボリューム一覧の表示

Volume ###  Ltr Label  Fs    Type      Size    Status    Info
----------  --- -----  ----  --------- ------  --------  ----
Volume 0    C         FAT32 リムーバブル  7363 MB  正常  ……この例では、USBメモリはC:ドライブになっている


DISKPART> exit ……diskpartコマンドを終了する

DiskPart を終了しています...

X:\Sources>cd \Windows\Boot\EFI ……コピー元フォルダへ移動する

X:\Windows\Boot\EFI>dir *.efi ……コピー元の確認
ドライブ X のボリューム ラベルは Boot です
ボリューム シリアル番号は D60A-0DC2 です

X:\Windows\Boot\EFI のディレクトリ

2010/11/20  22:32           672,640 bootmgfw.efi ……このファイルをコピーする
2010/11/20  22:32           669,568 bootmgr.efi
2010/11/20  22:33           611,200 memtest.efi
               3 個のファイル           1,953,408 バイト
               0 個のディレクトリ      29,958,144 バイトの空き領域

X:\Windows\Boot\EFI>mkdir c:\efi\boot ……コピー先フォルダを作成する

X:\Windows\Boot\EFI>copy bootmgfw.efi c:\efi\boot\bootx64.efi ……UEFI用ブートファイルをコピーする
        1 個のファイルをコピーしました。

X:\Windows\Boot\EFI> ……コピー終了後は、インストーラの実行をキャンセルして終了すること



●UEFIモードでのインストールとモードの確認

 「\efi\boot\bootx64.efi」ファイルのコピーさえできれば準備は完了である。システムにUSBメモリを挿入して起動メニューを表示させ、UEFIモードを選択して起動しよう。このあたりの操作はシステムに大きく依存するが、一般的にはブートデバイスとして「UEFI: 〜〜」のようなデバイス名が表示されるので、それを選んで起動させる。

UEFIモードでブートする例 UEFIモードでブートする例
システムにもよるが、UEFIブート可能なデバイス(DVDメディアやUSBメモリなど)見つかると、UEFIモードとレガシーBIOSモードの2つの選択肢が表示されるので、どちらか1つを選んで起動する。これはASUSの「Q87T」というマザーボードにおけるブートデバイスの選択メニューの例。
  (1)これはUSBメモリをレガシーBIOSモードでブートするメニュー。
  (2)同じUSBメモリをUEFIモードで起動する場合はこちらを選択する。システムにもよるが、UEFIモードを指定しても、UEFIブート用のコードが存在しない場合は、自動的に他のモードや他のブートデバイスから起動するシステムもある。
  (3)これはインストール先のディスク。

 Windows OSのインストーラがUEFIモードとレガシーBIOSモードのどちらで起動しているかは、インストール中に作成されるログファイルを調べれば確認できる。Windows 7のインストーラが起動すると、最初に言語やキーボードなどを選ぶ画面が表示されるので、適切なものを選んで次の画面へ進み、[今すぐインストール]をクリックする。

 インストールの最初の画面(ほとんどの場合はライセンス条項の画面)が表示されたら、[Shift]+[F10]キーを押して、コマンドプロンプト画面を表示させる。そして「\Windows\panther」フォルダへ移動し、「setupact.log」ファイルから「Detected」という単語を検索して表示させる。「Detected boot environment:」が現在実行中のファームウェアのタイプを表しており、UEFI環境なら「EFI」、レガシーBIOS環境なら「BIOS」と表示される。もしUEFIになっていなかったら、手順2のファイルコピーを失敗している可能性があるので、もう一度チェックする。

UEFIブートしているかどうかを調べる UEFIブートしているかどうかを調べる
Windows OSのインストーラを起動して、この段階まで進めるとログファイルにファームウェアのタイプが記録されている。
  (1)インストールの途中で[Shift]+[F10]キーを押すと([今すぐインストール]ボタンをクリックした後で実行すること)、コマンドプロンプト画面が表示される。
  (2)「X:\Windows\panther」フォルダへ移動する。
  (3)「setupact.log」ファイルから「Detected」という文字列を検索する。
  (4)UEFI環境ならこのように「EFI」と表示される。レガシーBIOS環境の場合は「BIOS」と表示される。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。