GRUB2を使用してGentoo LinuxとWindows 7をデュアルブートするシステムがあります。コンピューターには4つのドライブがあり、Windowsはドライブ#2の3番目(最後)のパーティションにインストールされています。ドライブレイアウトは次のようになります。
|boot|-----------------home-----------------|-------------windows-------------|
(boot
とhome
私は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 /fixmbr
GRUB2によってそこに置かMBRを交換し、ドライブ#2の上書きMBRを。その後、そのディスクから起動しようとすると、0xc0000225エラーではなく、単に「Missing operating system」というメッセージが表示されます。その後、Linuxを起動しgrub-install
てGRUB2 MBRを元に戻し、GRUB2でWindowsオプションを選択すると、0xc0000225が再び表示されます。