MBAのWindows7(32bit)をGPT対応したかったが

先日、ここで書いたように自作PCからMacBookAirに移動させたWindows7(32bit Pro)だが、調べてみたところ32bitだとGPTに対応していないらしい。。。
http://archlinux-blogger.blogspot.com/2016/11/windows-uefi.html

なので、64bit化、もしくはWindows8.1以降へのアップデートが必要になる。

BOOTCAMPパッケージからドライバを入れて使えるようにしてみたももの、

  • 電源投入後からWindowsのブート開始までに、MBRモードで起動するための30秒がやっぱり長くて我慢ならない
  • 4GB中2.16GBしか使えない(ハードウェア予約が1GB以上もあった…)

という状況で、結局GPT対応必須、できれば+64bit化をしようという結論に至った。

Windows7 32bitがGPTで対応していないよ、とわかったのはついさっきで、それまでいろいろ(64bit専用の記事とはしらず)いろいろなWebページを参考に以下を試す無駄な時間を過ごした。

1回目:MBRパーティションをデータを損なわずGPT変換し、Windowsインストールメディアからbcdboot

こちらを参考にした。
まずLinuxを起動、fdiskから①既存のパーティション構成をメモ②パーティション削除③GPT変換後パーティション再作成を行った。
位置とフォーマットさえ合っていれば、中のファイルはそのまま読み出せた。
この状態で、Windowsインストーラからコマンドプロンプトを起動し、diskpartでドライブレターを適切に設定した後bcdboot C:\Windows /l ja-JP /s I: /f UEFIを実行。
→エラー発生で設定出来ず。

GPTでボリューム構成を作った後xcopy

つづいてこちらの記事にたどり着き、実施した。
稼働中のWindowsからシステム復旧イメージ(vhdファイル)を作成しておく。
Windowsいストールメディアのコマンドプロンプトからdiskpartを起動し、上記のvhdをマウント、およびパーティションを以下の構成で設定。

# Disk0
1-100 EFI fat32 => I:
101-200 MSR
201- Primary NTFS => C:

# Volume
C: <= 構築中のシステムドライブ(予定地)
I: <= 構築中のEFI
E: <= バックアップイメージをマウントしてできた、もともと稼働していたOSの仮想ドライブファイル

ただしくマウントし、ドライブレターを割り当てられたらxcopy。
「アクセスが拒否されました」は1回だけ出るはず。
前にドライブを縮退させるなど、ディスクエラーが疑われる場合には事前にマウントしたバックアップイメージに対してchkdskしておくこと。
途中でエラーが起きると中断されるし、xcopyで権限等も上書きしてしまうので再実行は不可(もしそうなったらボリュームを定義し直すところからやりなおし)

E:
xcopy * C:\ /e /c /h /k /o /b /q /y

システムドライブの準備が出来たところでbootrec
→失敗。正確なメッセージは忘れたが「システムドライブが見つかりません」的なメッセージが出る。

bootrec /RebuildBcd

bootrecではなく手作業で.efiファイルをコピーしようとするも、ファイルが見つからず。
ここで調べたところ、Windows7 32bitでは対応していないことが判明した。

およそ2週間かけて試してみたが残念ながら目的は達成できなかったものの
diskpartやfdiskには詳しくなれてよかった。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です