最近、HDDからSSDへのクローン後に起動しないケースが多く報告されています。UEFIモードで起動していたディスクを新しいディスクやSSDにクローンし、UEFIモードで再起動すると「0xc000000e」というエラーが表示され、起動できないことがあります。一般的には、「bootrec /fixboot」や「bcdboot c:\Windows /l ja-JP」などのコマンドを実行しても、またはリカバリーCDから「スタートアップの修復」を何度行っても修復できない場合があります。このような場合、OSのリカバリーが通常の対処法ですが、それ以前にこの方法での修復を試みることも選択肢の一つです。私はこの方法でUEFI起動問題を修復することに成功しましたが、すべてのケースで成功するわけではないことをご理解ください。
今回のディスクコピー後の0xc000000e症状の原因はいくつか考えられます。
A.新規にWinodws8~10を導入しないでWindows7以降、数回OSをアップグレードを行っている。
B.過去にWindowsのシステムが入っていたディスクを現在別のデータディスク(別ドライブ)として使用している。
C.ディスクのコピー後、コピー前のディスクを外さずに再起動してしまった。
といったケースなどがあります。他にもOSのアップグレードでUEFIの起動がおかしくなることもあります。
この0xc000000eのエラーはファイルが見つからない、または破損しているといったエラーコードです。
まず、フォーマット時に気を付けなければならないのが、SSDを「GPTフォーマット」で行っていたかどうかです。
フォーマットの形態には「GPTフォーマット」と「MBRフォーマット」があります。
GPT: Globally Unique IDentifier Partition Table の略
MBR: Master Boot Record の略
MBR: Master Boot Record の略
ですが、UEFIの起動で行う場合はドライブを「GPTフォーマット」で行う必要があります。次に、「EFIパーティーション」を、きちんとクローンコピーしているかということです。
CドライブやDドライブだけクローンコピーして「EFIシステム」の領域をコピーしていない場合はUEFI起動はできません。その場合はもう一度、SSDを「GPTフォーマット」にし、「EFIシステム」を含めたクローンコピーを行ってください。
きちんとクローンコピーを行って、EFIシステムが存在する。しかしUEFI起動ができないといった場合は次の方法で試してUEFI起動の修復を試みる方法があります。
ただし、この操作は自己責任で行ってください。あくまでもひとつの方法です。
1.まずはBIOS起動を試みる。
UEFI起動で失敗しても、コピー元とコピー先が起動ディスクである場合、従来のBIOS起動で行うことができる可能性があります。
UEFIの起動とBIOSの起動の切替はパソコンのBIOS設定で行います。BIOSの設定はパソコンによって違います。
上記はBIOSの一例です。この画面はコンピュータによって違いますが、BIOSの「BOOT」メニューや「起動順序」などに起動をBIOS/UEFI切替がありますので、この項目を「BIOS」に切り替えてパソコンを起動してみてください。
従来のBIOS起動を行うと、場合によっては「スタートアップの修復」が自動的に実行される場合がります。一旦修復を行いまた再起動を行います。この時、BIOSを「UEFI」に戻して起動してみてください。軽症であれば起動できるかもしれません。しかし、ほとんどはUEFIモードで起動しても同じ「0xc000000e」になると思います。その時はもう一度「BIOS」モードで起動しなおしてください。
2.BIOSモードで起動したらツールを入手
BIOSモードでうまく起動したら、修復に使うツールを入手します。
MiniTool Partition Wizard (vector)
https://forest.watch.impress.co.jp/library/software/partwizhome/
ディスクのパーティーション管理ソフトです。
EasyBCD
EasyBCD日本語化ファイル
WindowsVista以降 起動に必要なブートメニューを編集できる管理ソフトです。
まずはこれらのソフトをダウンロードし、インストールを行ってください。EasyBCD日本語化ファイルはzip解凍後、EasyBCDがインストールされているフォルダの「lang」フォルダの中にコピーします。
3.UEFI領域があるか確認する。
まずはMiniTool Partition Wizardを起動します。そして、UEFI領域がディスク上にあるか確認します。
ディスク上にパーティション名「*.system」、容量「100MB~300MB程度」、タイプ「GPT(EFIシステムパーティーション)」という領域があるか確認します。この領域がない場合はEFIの領域がコピーされていないことになります。その場合はこのEFIパーティーションもコピーを行ってください。
EFI領域が見つかった場合、どのディスク(ディスク1か2か)を確認します。
次に、このパーティーションに一旦ドライブ番号を付けます。上のパーティションの領域図を選択し、右クリックで「パーティーションの表示」を選択します。すると、ドライブ文字を設定できますので、ドライブ文字を設定してください。(ここから先はこのEFIパーティーションのドライブを「S」とします。)
その後、上の「適用」のアイコンをクリックしてください。この「適用」をクリックしなければドライブ文字が設定されません。必ずクリックしてください。
3.ブート情報を確認します。
次にOSのブート情報を確認します。EasyBCDを起動します。起動したら、表示モードを「詳細表示(デバックモード)」に切り替えます。
表示が出たら、まずは「Windows Boot Manager」の項目を確認します。
この項目の中のdevice・pathの項目が
device partition=\Device\HarddiskVolume1
path \efi\microsoft\boot\bootmgfw.efi
path \efi\microsoft\boot\bootmgfw.efi
となっていればOKですが、たぶんなっていないでしょう。これをまず変更する必要があります。
次に「Windows Boot Loader」のWindowsの起動項目を探します。「description」の項目にそれらしき名前を見つけます。この項目の中のdevice・pathの項目が
device partition=C: (起動ドライブ)
path \WINDOWS\system32\winload.efi
path \WINDOWS\system32\winload.efi
となっていればOKです。なっていなければこの項目も修復する必要があります。
次に、このpathの項目のファイルが実際にあるか確認します。
コマンドプロンプトを管理者モードで立ち上げます。(ファイル名を指定して実行でCMDと入力)
画面が出たら
CD S:\efi\microsoft\boot
dir
と入力します。一覧の中に「bootmgfw.efi」というファイルがあるか確認してください。
次に
cd c:(システムドライブ)\WINDOWS\system32
dir
と入力し「winload.efi」があるか確認してください。両方のファイルがあることが確認したら、変更作業に入ります。
3.変更してみる
ここからは症状によって違います。上から順番に行ってください。うまく起動できたら4に進んでください。
作業に入る前にバックアップをとっておきます。
バックアップと復元で現在のブートローダをバックアップを行ってください。次に詳細表示(デバックモード)の内の一覧もすべて選択し、メモ帳などに貼り付け、新規に保存を行います。
バックアップしたら次に進みます。
A.まずはpathを単純に変えてみる
ブートマネジャー側の項目が違っている場合、コマンドで次のように入力します。
Bcdedit /set {bootmgr} device partition=s:// system partition
Bcdedit /set {bootmgr} path \efi\microsoft\boot\bootmgfw.efi
ブートローダー側の項目が違う場合は、まずはidentifierの項目を{}含めてメモ帳などにコピーしておきます。
そして
Bcdedit /set identifierの項目{}含め device partition=c:
Bcdedit /set identifierの項目{}含め osdevice partition=c:
Bcdedit /set identifierの項目{}含め path \windows\system32\winload.efi
例)Bcdedit /set {48482078-3a71-11e8-83d7-3464a90a5c68} device partition=c:
Bcdedit /set {48482078-3a71-11e8-83d7-3464a90a5c68} osdevice partition=c:
Bcdedit /set {48482078-3a71-11e8-83d7-3464a90a5c68} path \windows\system32\winload.efi
入力が終わったら、いったん終了し、UEFIモードで再起動してみます。
B.ブートファイルを再作成してみる。
上記で起動できなかった場合、ブートファイルを復元・修復してみます。EasyBCDを開き、「バックアップと復元」を選択します。
BCD管理オプションの「ブートファイルを再作成・修復」を行い、UEFIモードで再起動してみます。
C.ブートファイルを完全にリセット
上記2つのの方法でもダメだった場合、完全にブートファイルをリセットします。この作業は非常に危険であり、リセット後きちんと設定を終了してから再起動してください。途中で再起動すると立ち上がらなくなります。また自信のない方は絶対に行わないでください。
EasyBCDを開き、「バックアップと復元」から「BCD構成をリセットします」を選択します。
これを選択したらすべて一旦ブートメニューの項目が消えます。
ブート項目がすべて消えたら、まずはメニューを新規登録します。EasyBCDの「新規登録」から
登録してください。この時項目を2つ作成します。一つは「WindowsUEFI」という名前、もう一つは「Windows BIOS」という名前で登録します。
次に、設定を表示を詳細表示(デバックモード)で開きます。
コマンドプロンプトを立ち上げ、ブートマネジャー側を設定します。コマンドプロンプトを立ち上げ、次をコマンドを入力します。
Bcdedit /set {bootmgr} device partition=s:// system partition
Bcdedit /set {bootmgr} path \efi\microsoft\boot\bootmgfw.efi
次に、ブートローダー側を設定します。まずは「WindowsUEFI」側を行います。
Bcdedit /set identifierの項目{}含め device partition=c:
Bcdedit /set identifierの項目{}含め osdevice partition=c:
Bcdedit /set identifierの項目{}含め path \windows\system32\winload.efi次に、「Windows BIOS」側を設定します。
Bcdedit /set identifierの項目{}含め device partition=c:
Bcdedit /set identifierの項目{}含め osdevice partition=c:
Bcdedit /set identifierの項目{}含め path \windows\system32\winload.exe「WindowsUEFI」のパスのファイル名が「winload.efi」「Windows BIOS」のパスのファイル名が「winload.exe」と違っていることに注意してください。
入力が終わったらEasyBCDを閉じ、再度開きます。
次に、EasyBCDの「メニューの設定」を開きます。
「WindowsUEFI」の登録名に「規定のOS」にチェックを入れます。そして、OSが起動するまでの時間にチェックを入れ、秒数を入力し「設定を保存」します。
すべて終わったらすべてを閉じ、UEFIモードで再起動します。この段階までいくとほぼ成功すると思います。UEFIモードでOSの選択が出てきたら「WindowsUEFI」を選択してください。もし、これでも出ない場合はUEFIファイルが破損している可能性があります。その場合BIOSモードで起動しOSの選択で「Windows BIOS」を選択してください。
4.後処理
UEFIモードで起動したら後処理を行います。一番最初でUEFI領域をドライブ設定していたものを解除します。
MiniTool Partition Wizardを起動します。先ほどのドライブ文字を設定したようにパーティションの領域図を選択し、右クリックで「パーティーションの表示」を選択します。そして「ドライブ文字」を「なし」に設定します。
次にEasyBCDをデバックモードで表示します。
ブートマネジャー側のデバイス側がdevice partition=\Device\HarddiskVolume1
(HarddiskVolume1はUEFIが入っているディスク番号、ディスク2に入っている場合HarddiskVolume2」になっています。)
となっているのを確認してください。もしなっていない場合はコマンドプロンプトを管理者モードで開き、
Bcdedit /set identifierの項目{}含め device partition=\Device\HarddiskVolume1
と入力します。この時点で Bcdedit /set の次が {bootmgr}ではなく、{9dea862c-5cdd-4e70-acc1-f32b344d4795}などといった identifierの項目になっているのに注意してください。
この作業は今回私が遭遇し行った作業です。この作業がベストとは必ずしも限りません。ブートメニューの修正は一歩間違えるとOSが立ち上がらなくなります。作業は自己責任でお願いします。また、自信のない方はこの作業を行わないほうが良いと思います。この作業を行う場合は十分注意して行ってください。
コメント