Bisakah saya memperbaiki kesalahan 0xc0000225 tanpa menginstal ulang Windows?

16

Saya memiliki sistem yang melakukan dual-boot Gentoo Linux dan Windows 7 menggunakan GRUB2. Komputer memiliki empat drive, dan Windows diinstal pada partisi ketiga (terakhir) drive # 2. Layout drive terlihat seperti ini:

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

( bootdan homemerupakan partisi Linux) Ini adalah pengaturan yang aneh tapi selalu berhasil, sampai saya memutuskan untuk mengecilkan partisi Windows menggunakan Gparted. Layout baru adalah:

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

Setelah membuat perubahan partisi ini, ketika saya memilih opsi Windows di GRUB2 dan itu menyerahkan kontrol ke bootloader Windows, saya mendapatkan pesan kesalahan:

Windows Boot Manager  

Windows gagal memulai. Perubahan perangkat keras atau perangkat lunak terbaru mungkin menjadi penyebabnya. Menyelesaikan masalah:   1. Masukkan disk instalasi Windows Anda dan restart komputer Anda.   2. Pilih pengaturan bahasa Anda, lalu klik "Berikutnya."   3. Klik "perbaiki komputer Anda." Jika Anda tidak memiliki disk ini, hubungi administrator sistem atau komputer Anda pabrikan untuk bantuan.   Status: 0xc0000225   Info: Pilihan boot gagal karena perangkat yang diperlukan tidak dapat diakses.

Saya tidak terlalu terkejut bahwa ini terjadi, tetapi saya bertanya-tanya apakah saya dapat memperbaikinya tanpa menginstal ulang Windows.

Saya sudah mencoba mem-boot komputer menggunakan DVD instalasi Windows (khususnya, DVD upgrade Windows 7). Setelah saya memilih bahasa dan keyboard dan klik "Perbaiki komputer ini", layar Opsi Pemulihan Sistem tidak mendeteksi partisi Windows saya . Saya dapat mengklik "Berikutnya" dan kemudian menggunakan Startup Repair, yang gagal untuk memperbaiki masalah , atau mencoba alat baris perintah, yaitu bootrec(disarankan oleh beberapa situs web) sfc,, dan chkdsk. Tak satu pun dari mereka membuat perbedaan; Saya masih mendapatkan pesan kesalahan yang sama. (Lihat di bawah untuk output terperinci.)

Juga seperti yang disarankan dalam pertanyaan serupa, saya mencoba menggunakan fungsionalitas "Rebuild BS" (rebuild boot sector) di TestDisk , berjalan di Linux, bekerja pada partisi Windows. Itu juga tidak mengubah kesalahan yang saya dapatkan.

Saya belum melihat tanda-tanda korupsi data di partisi mana pun, dan drive belum mengalami kerusakan fisik, jadi tampaknya cukup yakin bahwa perubahan tata letak partisi adalah penyebab kesalahan ini. Saya kira Windows harus memiliki sektor awal dan / atau ukuran partisi yang tersimpan di suatu tempat di dalam sistem berkasnya (registri?), Menunjukkan bahwa pada prinsipnya harus dimungkinkan untuk memperbaikinya dengan memutar-mutar beberapa byte dalam file di suatu tempat. Tapi file yang mana? Atau ada sesuatu yang lebih rumit?

Jika ini membantu, berikut adalah bagian konfigurasi GRUB2 yang sesuai dengan Windows:

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
}

Sekali lagi, yang saya cari adalah, idealnya, cara untuk memperbaikinya tanpa menginstal ulang Windows. Jika itu tidak memungkinkan, maka instal ulang adalah paket B yang dapat diterima, tetapi saya dapat mengatasinya sendiri.


Berikut ini adalah transkrip dari sesi prompt perintah saya saat boot ke lingkungan perbaikan menggunakan DVD instalasi Windows 7. Saya telah menghapus beberapa baris kosong agar mudah dibaca. Berikut ini adalah semua drive lain yang terputus :

>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

Ketika saya menjalankan perintah yang sama dengan semua drive yang terhubung, outputnya sama, kecuali yang diskpartmenunjukkan semua drive dengan benar, dan huruf drive untuk partisi Windows yang dimaksud Dbukan C(karena saya memiliki partisi data NTFS pada drive # 1 ).

Saya akan mencatat bahwa bootrec /fixmbrmenimpa MBR drive # 2, menggantikan MBR yang diletakkan di sana oleh GRUB2. Ketika saya kemudian mencoba untuk boot dari disk itu, saya hanya mendapatkan pesan "Sistem operasi yang hilang" alih-alih kesalahan 0xc0000225. Saya kemudian bisa boot ke Linux dan gunakan grub-installuntuk mengembalikan GRUB2 MBR, dan kemudian memilih opsi Windows di GRUB2 memberikan 0xc0000225 lagi.

David Z
sumber
Kloning Windows sering memerlukan manipulasi partisi yang merusak proses boot Windows - windows tidak akan bisa boot jika partisi berada di posisi yang berbeda pada disk daripada saat instalasi. Akan menyenangkan untuk menggunakan temuan Anda :)
Basilevs
@ ali786 baik, saya lebih suka menginstal ulang Windows daripada menghabiskan $ 20 pada alat untuk memperbaiki masalah ini. Tetapi sebaliknya itu akan menjadi pilihan. (Namun, saya sudah melihat situs web itu sambil menyiapkan pertanyaan ini.)
David Z
Bagaimana dengan menggunakan disk instalasi Anda dan mengklik Upgrade Sekarang daripada melakukan instalasi yang bersih? Ini semacam instal ulang tetapi Anda menyimpan file Anda.
Rsya Studios
1
@RsyaStudios Pemasang grafis tidak mendeteksi instalasi Windows saya yang ada, jadi saya rasa saya tidak bisa melakukannya.
David Z

Jawaban:

11

Bergantung pada metode yang digunakan, hal-hal tertentu dapat berubah dalam proses:

Rincian partisi : Gunakan activedi diskpart untuk membuat partisi kembali aktif.

Sektor boot : Alat bootsect dapat digunakan untuk memulihkan sektor boot. (mis. bootsect /nt60 C:)

UUID partisi : Dengan mengubah posisi dan / atau ukuran partisi, UUID berubah; sehingga UUID yang tidak dapat diakses yang disimpan dalam BCD tidak cocok dengan UUID partisi Anda. Untuk memperbaiki ini, hapus dan bangun kembali BCD seperti ini:

bcdedit /export C:\boot\bcd.backup
ren C:\boot\bcd C:\boot\bcd.old
bootrec /rebuildbcd
Tamara Wijsman
sumber
Ini ternyata menjadi masalah yang tepat (dan solusi), tetapi tip Anda tentang pengaturan partisi activeadalah kunci sebenarnya. Saya perlu membuat partisi aktif sehingga bootrecakan tahu di mana harus menulis BCD yang dibangun kembali. Mungkin Anda bisa menambahkan itu ke jawabannya? ( bootsectTernyata tidak harus digunakan .)
David Z
Memperbarui jawabannya dengan menyematkan komentar saya; ya, detail partisi adalah bagian yang hilang di sini.
Tamara Wijsman
"ren C: \ boot \ bcd C: \ boot \ bcd.old" memberi saya kesalahan. Seharusnya "ren C: \ boot \ bcd bcd.old"
user4035
3

Anda mungkin telah menyebabkan masalah dengan mengurangi terlalu banyak partisi Windows.

Windows memiliki beberapa file yang tidak dapat dipindahkan yang mungkin akan dipindahkan oleh produk pihak ketiga. Anda di masa depan harus menggunakan Windows Disk Manager untuk mengubah ukuran partisi, karena tidak akan merusak disk. Ini juga merupakan ide yang baik untuk mematikan dan mengosongkan Recycle Bin, menonaktifkan file Paging dan hibernasi, untuk meminimalkan jumlah file Windows khusus, dan juga menjalankan defragmenter yang memadatkan semua file ke awal file. disk.

Yang mengatakan, Anda bisa melakukan Perbaikan Instal untuk Memperbaiki Windows 7 . Bentuk instalasi ringan ini akan memperbaiki Windows 7 Anda yang saat ini diinstal dan menjaga akun, data, program, dan driver sistem Anda. Artikel tertaut menjelaskan proses secara terperinci dengan tangkapan layar. Anda mungkin harus berurusan dengan kerusakan pada sektor boot GRUB2 sesudahnya.

Jika Perbaikan Instal tidak berfungsi, maka Gparted telah menghancurkan partisi Windows Anda. Saya harap Anda memiliki cadangan dalam hal ini, karena jika tidak, Anda mungkin harus menggunakan Utilitas Pemulihan Data .

harrymc
sumber
Ah, itu memang disengaja. Saya mencoba menggunakan Windows untuk mengubah ukuran partisi terlebih dahulu, setelah mengosongkan Recycle Bin dan defragmenting (lupa tentang menonaktifkan file khusus), tetapi tidak dapat mengurangi ukuran partisi sebanyak yang saya butuhkan. Saya akan mencoba instalasi perbaikan dan melihat apakah itu berhasil. Jika tidak, maka saya dapat me-mount partisi Windows dari Linux dan menyalin file yang berguna ke partisi lain, jadi saya tidak perlu menggunakan pemulihan data.
David Z
Melihat itu sekarang, saya melihat bahwa instalasi perbaikan hanya dapat dilakukan dari dalam Windows, jadi itu tidak membantu saya.
David Z
Anda dapat melakukannya menggunakan Windows 7 SP1 DVD / USB. Detail dalam artikel di atas.
harrymc
1
Tidak, saya tidak bisa. Artikel itu secara eksplisit mengatakan (beberapa kali) bahwa Anda harus sudah menjalankan Windows untuk melakukan instalasi perbaikan; selain itu, saya mencobanya, dan itu tidak akan membiarkan saya menggunakan opsi Upgrade ketika boot dari DVD.
David Z
Apakah Linux berhasil me-mount disk, dan dapatkah Anda melihat sistem file dan terutama menelusuri folder Windows dan bahkan menyalin file dari sana? Bisakah Anda mem-boot DVD Windows ke DOS dan melihat disk? Coba juga untuk melepaskan perangkat apa pun yang mungkin dari komputer.
harrymc
1

Saya memiliki masalah yang sama (kode kesalahan yang sama 0xc0000225) di komputer saya ketika saya mencoba untuk meningkatkan ke Windows 10

Masalahnya berasal dari partisi EFI kosong yang masih tersisa di salah satu drive saya. Saat boot, komputer menemukan 2 partisi EFI: satu dari OS utama saya, dan satu lagi yang sesuai dengan OS lama yang saya hapus bulan lalu (saya pindah dari hard drive pertama ke SSD dan memformat semuanya)

Mungkin itu juga masalahmu. Saya punya 2 solusi untuk Anda, semoga berhasil:

  • Pada panel kontrol Anda, kelola komputer Anda, temukan partisi EFI yang tidak berguna, dan hapus
  • Jalankan komputer Anda dengan dukungan instalasi Windows (Anda dapat membuatnya dengan mengunduh wizard di situs web microsoft), menjalankan program instalasi, pengaturan lanjutan, dan ketika itu menyajikan semua volume, temukan partisi EFI dan hapus

Saya juga menginstal ulang Windows tetapi jika Anda menghapus partisi EFI yang buruk itu sudah cukup

Sejak itu, tidak ada lagi masalah saat boot, komputer saya dapat menginstal W10, dll ...

Maaf jika saya tidak memberi Anda nama yang tepat dari hal-hal yang harus Anda klik, OS saya dalam bahasa Prancis ^^

Ziiik
sumber
-1

Menambahkan jawaban di sini karena ini adalah halaman yang menunjukkan kepada saya dan jawaban yang saya butuhkan:

0xc0000225 juga dapat disebabkan oleh penonaktifan dukungan ACPI APIC di BIOS (sebagaimana dicantumkan dalam BIOS ini). Saya menonaktifkannya saat memperbaiki masalah menangguhkan di Ubuntu, tetapi Windows dalam kasus ini mengharuskannya diaktifkan.

Ini juga menyebabkan pengaturan cd / usb, pemulihan gagal dengan kesalahan yang sama sehingga tidak ada yang bisa dilakukan dengan Windows sampai diaktifkan.

0xc0000225 terjadi selama pembaruan Windows 10 Creators, tetapi tidak mem-boot kembali ke Windows sampai setelah menonaktifkan pengaturan di BIOS sehingga sepertinya itu disebabkan dari pembaruan tetapi sebenarnya tidak! Rumit!

CmosBattery
sumber