Windowsを再インストールせずにエラー0xc0000225を修正できますか?


16

GRUB2を使用してGentoo LinuxとWindows 7をデュアルブートするシステムがあります。コンピューターには4つのドライブがあり、Windowsはドライブ#2の3番目(最後)のパーティションにインストールされています。ドライブレイアウトは次のようになります。

|boot|-----------------home-----------------|-------------windows-------------|

boothome私はGPartedのを使用して、Windowsのパーティションを縮小することを決定するまで、Linuxパーティションです)、それは奇妙な設定だが、それは常に働きました。新しいレイアウトは次のとおりです。

|boot|-----------------------home-----------------------|-------windows-------|

これらのパーティションを変更した後、GRUB2でWindowsオプションを選択し、Windowsブートローダーに制御を渡すと、エラーメッセージが表示されます。

Windows Boot Manager Windowsの起動に  

失敗しました。最近のハードウェアまたはソフトウェアの変更が原因である可能性があります。 問題を修正するには:   1. Windowsインストールディスクを挿入し、コンピューターを再起動します。   2.言語設定を選択して、[次へ]をクリックします。   3.「コンピューターの修復」をクリックします。 このディスクがない場合は、システム管理者またはコンピューターに連絡してください メーカーの支援。   ステータス:0xc0000225   情報:必要なデバイスにアクセスできないため、ブート選択に失敗しました。

これが発生することは特に驚いていませんが、Windowsを再インストールせずにこれを修正できるかどうか疑問に思っています。

WindowsインストールDVD(具体的には、Windows 7アップグレードDVD)を使用してコンピューターを起動しようとしました。言語とキーボードを選択して[このコンピューターを修復]をクリックした後、[システム回復オプション]画面でWindowsパーティションが検出されません。とにかく「次へ」をクリックしてから、スタートアップ修復を使用して問題の修正に失敗するか、コマンドラインツールbootrec(複数のWebサイトで推奨)sfc、およびを試してくださいchkdsk。それらのどれも違いをもたらしませんでした。それでも同じエラーメッセージが表示されます。(詳細な出力については、以下を参照してください。)

同様の質問で示唆されたように、Linuxで実行され、Windowsパーティションで動作するTestDiskの「Rebuild BS」(ブートセクターの再構築)機能を使用してみました。それはまた、私が得るエラーを変えませんでした。

どちらのパーティションでもデータ破損の兆候は見られず、ドライブは物理的な損傷を受けていません。そのため、パーティションレイアウトの変更がこのエラーの原因であると確信しています。Windowsでは、ファイルシステム(レジストリ?)内のどこかに開始セクターやパーティションサイズを保存する必要があると思います。原則として、ファイル内の数バイトを調整することでこれを修正できるはずです。しかし、どのファイルですか?それとももっと複雑なものがありますか?

役立つ場合は、Windowsに対応するGRUB2構成セクションを以下に示します。

menuentry 'Windows 7 (loader) (on /dev/sdb3)' --class windows --class os $menuentry_id_option 'osprober-chain-1F9948EB30A986A0' {
        insmod part_msdos 
        insmod ntfs
        set root='hd1,msdos3'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos3 --hint-efi=hd1,msdos3 --hint-baremetal=ahci1,msdos3  1F9948EB30A986A0
        else
          search --no-floppy --fs-uuid --set=root 1F9948EB30A986A0
        fi
        chainloader +1
}

繰り返しますが、私が探しているのは、理想的には、Windowsを再インストールせずにこれを修正する方法です。それが不可能な場合、再インストールは許容可能なプランBですが、私はそれを自分で処理できます。


Windows 7インストールDVDを使用して修復環境を起動したときのコマンドプロンプトセッションのトランスクリプトを次に示します。読みやすくするために、いくつかの空白行を削除しました。以下は、他のすべてのドライブが切断された状態です。

>bootrec /fixmbr
The operation completed successfully,

>bootrec /fixboot
The volume does not contain a recognized file system.
Please make sure that all required file system drivers are loaded and that the volume is not corrupted.

>bootrec /scanos
Scanning all disks for Windows installations.
Please wait, since this may take a while...
Successfully scanned Windows installations.
Total identified Windows installations: 1
[1]  C:\Windows
The operation completed successfully.

>bootrec /rebuildbcd
Scanning all disks for Windows installations.
Please wait, since this may take a while...
Successfully scanned Windows installations.
Total identified Windows installations: 1
[1]  C:\Windows
Add installation to boot list? Yes(Y)/No(N)/All(A):y
The volume does not contain a recognized file system.
Please make sure that all required file system drivers are loaded and that the volume is not corrupted.

>sfc /verifyonly /offwindir=C:\Windows /offbootdir=C:\
Beginning system scan.  This process will take some time.
Windows Resource Protection did not find any integrity violations.

>chkdsk C: /F
The type of the file system is NTFS.
Volume label is windows.
CHKDSK is verifying files (stage 1 of 3)...
  313344 file records processed.
File verification completed.
  1684 large file records processed.
  0 bad file records processed.
  2 EA records processed.
  158 reparse records processed.
CHKDSK is verifying indexes (stage 2 of 3)...
  416370 index entries processed.
Index verification completed.
  0 unindexed files scanned.
  0 unindexed files recovered.
CHKDSK is verifying security descriptors (stage 3 of 3)...
  313344 file SDs/SIDs processed.
Security descriptor verification completed.
  51514 data files processed.
CHKDSK is verifying Usn journal...
  35406088 USN bytes processed.
Usn Journal verification completed.
Windows has checked the file system and found no problems.
 207510871 KB total disk space.
 104134880 KB in 251224 files.
    137304 KB in 51514 indexes.
         0 KB in bad sectors.
    423075 KB in use by the system.
     65536 KB occupied by the log file.
 102815612 KB available on disk.
      4096 bytes in each allocation unit.
  51877717 total allocation units on disk.
  25703903 allocation units available on disk.
Failed to transfer logged messages to the event log with status 50.

>diskpart
Microsoft DiskPart version 6.1.7600
Copyright (C) 1999-2008 Microsoft Corporation.
On computer: MININT-P92LVUL
DISKPART>list disk
  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online          596 GB      0 B
DISKPART>select disk 0
Disk 0 is now the selected disk.
DISKPART>list part
  Partition ###  Type              Size     Offset 
  -------------  ----------------  -------  -------
  Partition 1    Primary             62 MB    31 KB
  Partition 2    Primary            398 GB    62 MB
  Partition 3    Primary            197 GB   398 GB

接続されたすべてのドライブで同じコマンドを実行すると、出力は同じですが、diskpartすべてのドライブが正しく表示され、問題のWindowsパーティションのドライブ文字がD代わりになりますC(ドライブ#1にNTFSデータパーティションがあるため) )。

私は注意でしょうbootrec /fixmbrGRUB2によってそこに置かMBRを交換し、ドライブ#2の上書きMBRを。その後、そのディスクから起動しようとすると、0xc0000225エラーではなく、単に「Missing operating system」というメッセージが表示されます。その後、Linuxを起動しgrub-installてGRUB2 MBRを元に戻し、GRUB2でWindowsオプションを選択すると、0xc0000225が再び表示されます。


Windowsのクローン作成では、Windowsのブートプロセスを壊すパーティション操作が必要になることがよくあります。パーティションがインストール中とは異なるディスク上の位置にある場合、Windowsはブートしません。あなたの調査結果を使用するといいでしょう:)
バシレフ14


@ ali786さて、問題を解決するためのツールに20ドルを費やすよりも、Windowsを再インストールしたいです。しかし、そうでなければ、それはオプションになります。(ただし、この質問の準備中にすでにそのWebサイトを見ました。)
デビッドZ 14

クリーンインストールを実行する代わりに、インストールディスクを使用して[今すぐアップグレード]をクリックしてください。これは一種の再インストールですが、ファイルは保持します。
Rsyaスタジオ14

1
@RsyaStudiosグラフィカルインストーラーは既存のWindowsインストールを検出しないので、それができるとは思いません。
デビッドZ 14

回答:


11

使用される方法に応じて、進行中に特定のものが変わる場合があります。

パーティションの詳細activediskpartで使用て、パーティションを再度アクティブにします。

ブートセクターbootsectツールを使用して、ブートセクターを復元できます。(例えば。bootsect /nt60 C:

パーティションUUID:パーティションの位置やサイズを変更すると、UUIDが変わります。したがって、BCDに格納されているアクセスできないUUIDは、パーティションのUUIDと一致しません。これを修正するには、次のようにBCDを削除して再構築します。

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

これが正しい問題(および解決策)であることが判明しましたが、パーティションの設定に関するヒントactiveは本当の鍵でした。bootrec再構築されたBCDの書き込み先がわかるように、パーティションをアクティブにする必要がありました。おそらくあなたはそれを答えに加えることができますか?(bootsect判明したので、使用する必要はありませんでした。)
デイビッドZ 14年

コメントを埋め込んで回答を更新しました。はい、パーティションの詳細はここにありません。
タマラWijsman 14年

「ren C:\ boot \ bcd C:\ boot \ bcd.old」でエラーが発生しました。: "\ブート\ BCD bcd.old REN C"でなければなりません
user4035

3

Windowsパーティションを減らしすぎて問題が発生した可能性があります。

Windowsには、サードパーティ製品が移動することを決定する可能性のある移動できないファイルがいくつかあります。将来、Windowsディスクマネージャを使用してパーティションをリサイズする必要があります。これにより、ディスクが破損することはありません。また、特別なWindowsファイルの数を最小限に抑えるために、最初にごみ箱をオフにして空にし、ページングファイルと休止状態を無効にし、すべてのファイルを先頭に圧縮するデフラグツールを実行することもお勧めしますディスク。

とは言っても、Windows 7を修正するためにインストールを修復することもできます。この穏やかな形式のインストールは、現在インストールされているWindows 7を修正し、ユーザーアカウント、データ、プログラム、およびシステムドライバーを保持します。リンクされた記事では、スクリーンショットを使用してプロセスを詳細に説明しています。その後、GRUB2ブートセクターの破壊に対処する必要がある場合があります。

インストールの修復が機能しない場合、GpartedはWindowsパーティションを破壊していました。この場合、バックアップが必要です。そうしないと、Data Recovery Utilitiesに頼らなければならない場合があります 。


ああ、まあそれは意図的でした。ごみ箱を空にしてデフラグを実行した後、Windowsを使用して最初にパーティションのサイズを変更しようとしました(ただし、特殊ファイルを無効にするのを忘れていました)が、必要なだけパーティションサイズを小さくすることができませんでした。修復インストールを試して、動作するかどうかを確認します。そうでない場合は、LinuxからWindowsパーティションをマウントし、有用なファイルを別のパーティションにコピーすることができます。そのため、データ回復に頼る必要はありません。
デビッドZ 14

今それを見ると、修復インストールはWindows内からしか実行できないことがわかります。
デビッドZ 14

Windows 7 SP1 DVD / USBを使用してそれを行うことができます。上記の記事の詳細。
ハリーマック14

1
いいえ、できません。この記事では、修復インストールを実行するためにWindowsを既に実行している必要があることを(複数回)明示的に述べています。それに加えて、私はそれを試してみましたが、DVDから起動するときにUpgradeオプションを使用することはできません。
デビッドZ 14

Linuxはディスクをマウントできますか?ファイルシステムを確認できますか?特にWindowsフォルダーにドリルダウンして、そこからファイルをコピーすることさえできますか?Windows DVDをDOSで起動してディスクを見ることができますか?また、考えられるデバイスをコンピューターから切断してみてください。
ハリーマック14

1

Windows 10にアップグレードしようとしたときに、コンピューターで同様の問題(同じエラーコード0xc0000225)が発生しました

この問題は、ドライブの1つに空のEFIパーティションが残っていることが原因です。ブート時に、コンピューターは2つのEFIパーティションを見つけます。1つはメインOSから、もう1つは数か月前にアンインストールした古いOSに対応しています(最初のハードドライブからSSDに移動し、すべてをフォーマットしました)

たぶんそれもあなたの問題です。私はあなたのために2つのソリューションを持っています、それがうまくいくことを願っています:

  • コントロールパネルでコンピューターを管理し、役に立たないEFIパーティションを見つけて削除します
  • Windowsインストールサポートでコンピューターを実行し(Microsoft Webサイトでウィザードをダウンロードして作成できます)、インストールプログラム、詳細設定を実行し、すべてのボリュームが表示されたら、EFIパーティションを見つけて削除します

Windowsも再インストールしましたが、悪いEFIパーティションを削除すれば十分です

それ以来、起動時の問題はもうなくなり、私のコンピューターはW10などをインストールできました...

クリックしなければならないものの正確な名前を教えていない場合は申し訳ありませんが、私のOSはフランス語です^^


-1

ここに答えを追加すると、これは私に見せてくれたページであり、必要な答えだからです。

0xc0000225は、BIOSでACPI APICサポートを無効にすることによっても発生する場合があります(このBIOSでラベル付けされています)。Ubuntuでサスペンドの問題を修正するときに無効にしましたが、この場合はWindowsで有効にする必要があります。

これにより、セットアップcd / usbの回復も同じエラーで失敗するため、Windowsを有効にするまで何もできませんでした。

0xc0000225はWindows 10 Creatorsの更新中に発生しましたが、BIOSの設定を無効にするまでWindowsに再起動しないため、更新によるもののように見えましたが、実際にはそうではありませんでした!トリッキー!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.