web-dev-qa-db-ja.com

BootMgrがない、通常の修正が機能しない

私はこの質問が以前に尋ねられたことを知っていますが、私は通常の修正をすべて試しましたが何も機能しません。

基本的に、ハードドライブにはVistaとWindows 7の2つのパーティションがありました。スペースを増やすためにVistaパーティションを削除し、Windows 7パーティションを拡張してドライブをいっぱいにしました(GPartedを使用)。

私はもう試した:

  1. スタートアップ修復を実行しています-問題は見つかりません。
  2. パーティションをアクティブに設定-機能しました。
  3. bootsect /nt60 c:-機能しました。
  4. BootRec /FixMbr-機能しました。
  5. BootRec /FixBoot-機能しました。
  6. BootRec /ScanOs-「識別されたWindowsインストールの総数:0」というメッセージが表示されます
  7. BootRec /RebuildBcd-「識別されたWindowsインストールの総数:0」というメッセージが表示されます

BcdEditは、C:パーティション上のWindowsブートマネージャーとWindowsブートローダーを示しています。

[更新]

  1. BCDの名前を変更して再実行BootRec /RebuildBcd-機能しました。
  2. DVDからbootmgrをコピーします-ファイルがすでにあるためブロックされます。

[更新2]

他のコマンドについて言及している記事 here を見つけました。

  1. C:\chkdsk /f /r-機能しました。
  2. sfc /scannow /offbootdir=c:\ /offwindir=c:\windows-機能しました( ここ を参照)。

他に何を試すことができますか?

19
parsley72

私はそれを修正しました:

  1. パーティションを外部ドライブにバックアップします(GPartedを使用)。
  2. パーティションを削除します。
  3. (現在は空の)ドライブにWindows 7を再インストールします。
  4. パーティションの内容をWindowsの新規インストールにコピーします(System Rescue CDを使用)。

Windowsは正しく起動し、以前とまったく同じに見えます。

7
parsley72

パーティション1としてディスク上にVistaがあり、次にパーティション2としてWindows 7があり、その後Vistaを削除したと思います。つまり、Windows 7がパーティション1上にあることになります。

残念ながら、Windowsはパーティションを番号で識別しているため、Windows 7レジストリ内のすべてのパーティション参照は正しくなくなり、使用できなくなります。

Windows 7を再インストールする必要があると思います。単純な Repair Installation で十分です。Windowsを更新するだけで、インストールされているアプリケーションに影響を与えません。

または、卑劣なソリューションの場合、ディスク上に小さな空きスペースを作成するbefore Windows 7パーティションをNTFSとしてフォーマットし、実際にはWindows 7パーティションを復元する代理ダミーパーティション1を再作成することができます。ディスク上の2番目の位置に。まだスタートアップ修復を行う必要があるかもしれません。

[編集]

DVDから[修復]のコマンドプロンプトオプションを起動して次のように入力することにより、WindowsにBCDストアパーティションを強制的に再作成させることができます。

bcdedit /export C:\BCD_Backup
ren c:\boot\bcd bcd.old
bootrec /rebuildbcd

権限に問題がある場合は、名前を変更する前にattrib bcd -s -h -rコマンドを使用してください。再起動し、それが機能しない場合は、スタートアップ修復を再度実行します。

別の絶望的な解決策は、bootmgrが破損していると想定し、上記のように起動して、次のようにします。

ren c:\bootmgr deletemelatter
bootrec /rebuildbcd
bootrec /fixboot

何も機能しない場合は、ディスク全体を再フォーマットして、最初からインストールします。すべての問題を分析できるわけではなく、解決策もありません。

5
harrymc

Windows 7のリカバリパーティションがアクティブに設定されていることを確認してください!!

アクティブパーティションがC:\に設定されているため、問題が発生しました

5
Felipe Tenorio

コマンドプロンプトでレスキューディスクをすでに知っていて起動していると仮定して、同じ問題が発生し、以下で修正されました。bcdboot.exeツールを使用してBCDを再作成しました。

bcdboot c:\Windows /l en-gb /s x:

ここで、xSystemラベルが付いているドライブです。

3

ここにリストされている修正を試してください: bootmgrには修正がありません

さまざまな修正が多数あります。ソリューション#2がうまくいきました。これが他の人を助けることを願っています。

1
Mithras Adam

これは、ナルケビッチの発言に対する明確なコメントにすぎません(コメントを追加したかっただけですが、禁止されているようです)

/ s x:オプションが必要なかったのは、デフォルトで、bcd bootが現在アクティブなボリュームのbcdを変更するためです。ほとんどの場合、それが必要です。/sとドライブ文字を指定する場合、1。ドライブ文字はアクティブボリュームであり、コマンドは/ sxなしで同じことを行います。それと同じです。または2.ドライブ文字が現在アクティブなものと異なりますボリューム。この場合、起動時に実際に何が起こるかは、アクティブディスクのbcdが破損している場合にのみ影響を受ける可能性があります。または2.後で、アクティブとマークされているディスクを/ sの後に指定されたディスクに変更します。

乾杯

1
Scott Petrack

私はパセリ72が与えた解決策を改善したいと思います:

パーティションをコピーする代わりに、Windowsをインストールしてからコピーします。

CDから起動できます(システムレスキューディスクまたはWindowsセットアップディスクのいずれか)。SRDを使用して自分の問題を修正します。次に、[Windowsの修正]オプションを選択します。それは魔法です!

その理由は、C:(復元されたOS、MBRなど)にすべてが既にあるためだと思います。残っているのは、Windowsがブート情報を見つけることだけです(Windowsソフトウェアだけが実行できること)。

論理的ですか?

1
minh

Windowsブートローダーは、セクターのオフセット+ MBRの4バイトのディスク署名によってパーティションを識別します。したがって、GPartedを使用してシステムパーティションを移動すると、2つの奇妙なことが起こりました。

1)Win7システムパーティションのディスクオフセットが変更され、BCDおよびSYSTEMレジストリハイブに保存されているすべての参照が壊れるようになりました。

2)Win7システムパーティションのIDがWinVistaシステムパーティションと同じになったため、2つの参照が衝突します。古い設定のブートローダーがWin7をVistaとしてブートしようとしますが、失敗します。

基本的に、BCDレジストリハイブを削除してゼロから再構築する必要があります。また、システムレジストリハイブのWin7のMountedDevicesにあるディスクC:への参照を修正する必要があります。

緊急ブートCD を使用すると、「ファイルマネージャー」でBCDを削除してから、BCDを最初から再作成し、「マウント&ブートセンター」でMountedDevicesを修正できます。

1
Mikhail Kupchik