既存のパーティションを壊さずに Windows 10 EFI ファイルを復元する

既存のパーティションを壊さずに Windows 10 EFI ファイルを復元する

tl;dr: GPT、EFI、デュアルブート Antergos-Windows 10、Windows の EFI パーティションが削除されたため、Antergos でしか起動できず、これを修正したいと考えています。

私は grub2 を起動するために MBR を使用した Debian-Windows-10 デュアル ブート セットアップを使用していました。最近、Debian を Antergos に切り替え、その機会を利用して EFI ブートローディングによる GPT パーティション形式に移行しました。

次のようなパーティション リストがありました。

  1. Windows システム予約済み
  2. ウィンドウズ10
  3. デビアン
  4. スワップ

再インストール後、次のように変更されました:

  1. Windows システム予約済み
  2. ウィンドウズ10
  3. アンテルゴス
  4. スワップ
  5. EFI パーティション

その後、os-probeWindows が見つからなかったので、手動で grub に追加しようとしましたが、どうやらそのセットアップは MBR インストール用だったようです。そこで、UEFI セットアップを使用して Windows を再インストールしようとしました。最終的に、次のような構成になりました。

  1. Windows システム回復
  2. Windows EFI パーティション
  3. Windows システム予約済み
  4. ウィンドウズ10
  5. Windows システム予約済み
  6. アンテルゴス
  7. スワップ
  8. アンジェゴスEFI

(長い空き領域が与えられたときに、Windows インストールが 5 つの個別のパーティションを作成することを決定した理由はわかりません...)

明らかに、EFI パーティションが 2 つあるため、Antergos は起動を停止しました。必要なのは 1 つだけで、Windows EFI には grub で置き換えることができるブートローダーのみが含まれているため、2 番目のパーティションを削除しました。

その後、grub を実際に復元して動作させることができました。どうやら、そのパーティションの一部のファイルは Windows の実行に必要なようです。そこで、Windows インストール ディスクと自動修復の両方を使用してそのパーティションを回復し、EFI パーティションを作成して で復元しようとしましたbcdboot。しかし、エラー しか表示されませんでしたfailure when attempting to copy boot files

現在、試したオプションに応じて、次のようなエラーが表示されます。

  • ntldr が見つかりません
  • EFIにいくつかの設定が欠けています

インターネットからランダムな解決策を試すだけですでに週末を丸々費やしてしまい、何をすべきかを判断するのにあまり効果的な方法ではないため、現在何を試せばよいかわかりません。そこで質問です。すべてを最初から再インストールせずに Windows 10 を復元するにはどうすればよいのでしょうか?

Windows パーティション、Windows インストール ディスク、chroot 用の Antergos Live CD にアクセスできます。役立つ可能性のあるすべてのログとリストを提供できます。

答え1

Windows EFI のコピーを作成できました。

まず、EFI パーティションを次のようにマウントしましたdiskpart:

> diskpart      # start diskpart tool
list volumes    # prints all disks I have: C:, D:, etc
sel vol 8       # on my list EFI partition was unmounted and next to a number 8
assign letter=Z # since I marked EFI partition as selected I can now assign it a letter so that I could use it later on
exit            # I am leaving the tool

以前は失敗しました - 使用しようとすると、コマンドが提案したassign mount=zにもかかわらず、「システム EFI パーティションをマウントできません」などのエラーが表示されましたhelp

EFIをマウントすると

bcdboot C:\Windows /s Z:

Windows EFIファイルをEFIパーティションに配置する既存のgrubファイルに影響を与えずに結果として、GRUB は壊れませんでしたが、UEFI セットアップで Windows を起動するために必要なファイルが存在するようになりました。

その後、os-probeWindows を見つけることができたので、update-grub不足しているエントリをリストに追加しました。


誰かが私と同じ状況に陥った場合、次のことを覚悟しておかなければならないと思います。

  • Windowsはいくつかの新しいパーティションを作成し、EFIはその1つになります。
  • そのパーティションは約 100 MB あり、もっと大きくする必要があると思われるため、私たちが提供しているパーティションに置き換えることができます (使用するツールに応じて、Arch wiki と Microsoft ドキュメントの両方に、これを行う方法に関する優れたリソースがたくさんあります)
  • その前に、Windows EFI パーティションのファイルのコピーを作成することができます (表示されない場合は非表示になっています)。または、私が行ったようにそれを削除してから、上記のすべての手順を実行してください。そのためには、Windows インストール CD が必要です。

答え2

非常に多くの変更が加えられており、実行した特定の手順の結果が常に明確ではないため、コンピュータの現在の状態を適切に把握することは困難です。(これは質問に対する批判ではありません。これらの変更の一部を実行するときにコンピュータ自体が何を行うかを理解するのは難しいだけです。)したがって、重要なユーザーファイルをバックアップし、全てディスク上のパーティションを削除して、最初からやり直してください。まず Windows をインストールし、その上に Linux をインストールします。その後、ユーザー ファイルを復元できます。

最初からやり直すことができない場合は、ブート修復ユーティリティ「BootInfo サマリーの作成」オプションを選択します。(しないでください「推奨修復」をクリックしてください(少なくともまだは)。レポートをアップロードするかどうかを尋ねられたら、「はい」をクリックし、ここで提供された URL を投稿してください。これにより、問題を診断するために必要な、コンピューターの現在の状態に関する詳細な情報が提供されます。

EFI ブート プロセスを理解し、デュアル ブート構成を実行するために、少なくとも次のページのいくつかを読むことを強くお勧めします。

これらのうち 1 つだけ読む場合は、EFI システムに Linux をインストールする方法に関する私のページをお読みください。これは、4 つのページの中で最も実用的なガイドです。Adam Williamson のブログ エントリは優先順位が 2 番目です。急いでいる場合は、Superuser の投稿を参照してください。これらのページには、必要な背景情報が記載されています。ディストリビューションがデフォルトで使用するブート ローダーまたはブート マネージャーを使用しない場合は、私の EFI ブート ローダー ページが役立つ可能性があります。

関連情報