All Articles

Windows のデュアルブート構成でブートエントリをぶっ壊した場合に BCDEdit でエントリを復元する方法

今回は、Windows のデュアルブート環境でブートエントリが破壊されて OS を起動できなくなった場合の対処方法について紹介します。

なお、本記事の「デュアルブート」とは、1 つのストレージのパーティションを分割して異なる OS をインストールするものではなく、1 台のマシンに複数のストレージを接続し、それぞれに異なる Windows OS をインストールする運用を指しています。

もくじ

デュアルブートマシンの構成

最近購入した ThinkPad E14 Gen6 で Windows のデュアルブート構成を行っています。

ThinkPad E14 Gen6 は、Intel および AMD のどちらのモデルでも、2 スロットの SSD をサポートしており、RAM も DDR5-SODIMM を最大で 64GB 積むことができる非常にカスタマイズ性の高い機体です。

ThinkPad E14 Gen6 には NVMe M.2 2280 と 2242 の 2 枚の SSD をオンボードできます。

そこで私は現在、ThinkPad E14 Gen6 に搭載した 2 枚の SSD に、それぞれ異なる Windows OS をインストールし、デュアルブート構成で運用しています。

このような環境で各ディスクに Windows OS をクリーンインストールした場合、通常は以下のように起動時にどちらの OS を起動するか選択可能な画面が表示されます。

image-20240928000730638

参考:Windows 10でマルチブート時の既定OSや表示名をカスタマイズする - 週刊アスキー

しかし、例えば片方の OS を回復オプションから初期化した場合など、ブートエントリが破壊されて片方の OS を起動できなくなってしまう場合があります。

また、すでに他の端末で利用していた OS をインストールしていた SSD を別の端末に差し替えて利用したい場合もあります。

このような状況では、OS を再度クリーンインストールするのではなく、ブートエントリの復元でデュアルブート構成を復旧する必要があります。

今回は、Windows の BCDEdit ツールを使用してブートエントリを追加/編集することでブートエントリを復元する方法をまとめます。

ブートエントリの復元方法

必須ではありませんが、デュアルブートを構成した場合は事前に管理者権限で起動したコマンドプロンプトで bcdedit コマンドを実行し、元のブートエントリ構成を保存しておくことをおすすめします。

元のブートエントリ構成を保存しておくと、この後の編集操作がスムーズになります。

ブートエントリ構成を復元したい端末で Windows OS にサインインしたら、まずは管理者権限で起動したコマンドプロンプトで以下のコマンドを実行します。

bcdedit /copy {current} /d "OS1"

これによって、現在のブートエントリ構成がコピーされ、システムにもう 1 つ追加されます。

この時、"OS1" の位置にはブートエントリを識別できる任意の名称を設定できます。

コピーしたブートエントリを BCDEdit コマンドで参照すると、identifier に新しい ID が割り当てられていることを確認できます。

img

以降のコマンドでは、この identifier を使用してエントリの変更を行います。

まずは、以下のコマンドで device と osdevice に OS がインストールされているディスクを指定します。

\Device\HarddiskVolume6 の部分については、環境に合わせて変更してください。

bcdedit /set {<identifier>} device partition=\Device\HarddiskVolume6
bcdedit /set {<identifier>} osdevice partition=\Device\HarddiskVolume6

次に、以下のコマンドを使用して recoverysequence と resumeobject を設定します。

ここに設定する ID 情報は、事前にブートエントリ構成を保存しておくとスムーズに再利用できます。

bcdedit /set {<identifier>} recoverysequence {<事前に保存した recoverysequence>}
bcdedit /set {<identifier>} resumeobject {<事前に保存した resumeobject>}

最後に、再設定したエントリをデフォルトエントリに変更します。

bcdedit /default {<identifier>}

エントリをデフォルトエントリに設定すると、OS の起動時に自動的に選択されるエントリとして使用されます。

img

これで、適切にブートエントリ構成が追加された場合、OS を再起動することで再度デュアルブート構成を復元できます。

まとめ

ブートエントリを破壊したときに焦って OS のクリーンインストールで復旧した過去の愚かな私へ。