web-dev-qa-db-ja.com

既存のパーティションを台無しにすることなくWindows10EFIファイルを復元する

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

Grub2をキックオフするためにMBRを使用してDebian-Windows-10デュアルブートセットアップを行いました。最近、DebianをAntergosに切り替え、その機会を利用して、EFIブートロードを使用してGPTパーティションフォーマットに移行しました。

私はこのようなパーティションリストを持っていました:

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

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

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

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

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

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

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

その後、実際にgrubを正常に復元することができました。どうやら、そのパーティションからいくつかのファイルがWindowsを実行するために必要ですが。そのため、Windowsインストールディスクを使用してそのパーティションを回復し、自動修復とEFIパーティションの作成、およびbcdbootを使用した復元の両方を行うことにしました。ただし、エラーfailure when attempting to copy boot filesのみを受け取りました。

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

  • ntldrがありません
  • EFIにいくつかの構成がありません

インターネットからランダムなソリューションを適用することはすでに週末全体を費やしており、何をすべきかを理解するための非常に効果的な方法ではないため、私は現在何をしようとすべきかわかりません。だから私の質問は:最初からすべてを再インストールせずにWindows10を復元するために何が離れているでしょうか?

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

1

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

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

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

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

1
Rod Smith

WindowsEFIのコピーを作成することができました。

まず、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を使おうとすると、helpコマンドで提案されたにもかかわらず、「システムEFIパーティションをマウントできません」などのエラーが表示されました。

EFIをマウントすると、

bcdboot C:\Windows /s Z:

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

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


誰かが私と同じ状況にいることに気付くとしたら、彼らはそれを準備しなければならないと思います:

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