Posso correggere l'errore 0xc0000225 senza reinstallare Windows?


16

Ho un sistema che avvia dual Gentoo Linux e Windows 7 usando GRUB2. Il computer ha quattro unità e Windows è installato sulla terza (ultima) partizione dell'unità n. 2. Il layout dell'unità è simile al seguente:

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

( boote homesono partizioni Linux) È una configurazione strana ma ha sempre funzionato, fino a quando non ho deciso di ridurre la partizione di Windows usando Gparted. Il nuovo layout è:

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

Dopo aver apportato queste modifiche alla partizione, quando seleziono l'opzione Windows in GRUB2 e passa il controllo al bootloader di Windows, ricevo il messaggio di errore:

Windows Boot Manager  

Impossibile avviare Windows. Una recente modifica hardware o software potrebbe essere la causa. Per fissare il problema:   1. Inserisci il disco di installazione di Windows e riavvia il computer.   2. Scegli le impostazioni della lingua, quindi fai clic su "Avanti".   3. Fai clic su "ripara il computer". Se non si dispone di questo disco, contattare l'amministratore di sistema o il computer produttore per assistenza.   Stato: 0xc0000225   Informazioni: la selezione di avvio non è riuscita perché un dispositivo richiesto è inaccessibile.

Non sono particolarmente sorpreso che ciò accada, ma mi chiedo se posso risolvere questo problema senza reinstallare Windows.

Ho provato ad avviare il computer utilizzando il DVD di installazione di Windows (in particolare, un DVD di aggiornamento di Windows 7). Dopo aver scelto la lingua e la tastiera e aver fatto clic su "Ripara questo computer", la schermata Opzioni di ripristino del sistema non rileva la mia partizione di Windows . Posso comunque fare clic su "Avanti" e quindi utilizzare Ripristino all'avvio, che non riesce a risolvere il problema , oppure provare gli strumenti da riga di comando, vale a dire bootrec(suggeriti da diversi siti Web) sfc, e chkdsk. Nessuno di loro ha fatto la differenza; Ricevo ancora lo stesso messaggio di errore. (Vedi sotto per l'output dettagliato.)

Inoltre, come suggerito in domande simili, ho provato a utilizzare la funzionalità "Ricostruisci BS" (ricostruisci settore di avvio) in TestDisk , in esecuzione su Linux, agendo sulla partizione di Windows. Anche questo non ha cambiato l'errore che ricevo.

Non ho visto alcun segno di corruzione dei dati su entrambe le partizioni e le unità non hanno subito danni fisici, quindi sembra abbastanza certo che la modifica del layout delle partizioni sia la causa di questo errore. Suppongo che Windows debba avere il settore iniziale e / o la dimensione della partizione memorizzata da qualche parte all'interno del suo filesystem (il registro?), Suggerendo che in linea di principio dovrebbe essere possibile risolvere questo problema twiddling un paio di byte in un file da qualche parte. Ma quale file? O c'è qualcosa di più complicato?

Se aiuta, ecco la sezione di configurazione di GRUB2 corrispondente a 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
}

Ancora una volta, quello che sto cercando è, idealmente, un modo per risolvere questo problema senza reinstallare Windows. Se ciò non è possibile, la reinstallazione è un piano B accettabile, ma posso gestirlo da solo.


Ecco una trascrizione delle sessioni del mio prompt dei comandi durante l'avvio nell'ambiente di riparazione utilizzando il DVD di installazione di Windows 7. Ho rimosso alcune righe vuote per la leggibilità. Quanto segue è con tutte le altre unità disconnesse :

>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

Quando eseguo gli stessi comandi con tutte le unità collegate, l'output è lo stesso, tranne per il fatto che diskpartmostra correttamente tutte le unità e la lettera di unità per la partizione di Windows in questione è Dinvece di C(perché ho una partizione di dati NTFS sull'unità n. 1 ).

Vorrei sottolineare che bootrec /fixmbrsovrascrive l'MBR dell'unità n. 2, sostituendo l'MBR inserito da GRUB2. Quando provo quindi ad avviare da quel disco, ricevo semplicemente il messaggio "Sistema operativo mancante" invece dell'errore 0xc0000225. Posso quindi avviare Linux e utilizzare grub-installper ripristinare l'MBR di GRUB2, quindi scegliere l'opzione Windows in GRUB2 restituisce nuovamente 0xc0000225.


La clonazione di Windows richiede spesso manipolazioni della partizione che interrompono il processo di avvio di Windows: Windows non si avvia se la partizione si trova in una posizione diversa sul disco rispetto a quando era durante l'installazione. Sarebbe bello usare i tuoi risultati :)
Basilevs


@ ali786 bene, preferirei reinstallare Windows piuttosto che spendere $ 20 su uno strumento per risolvere il problema. Ma per il resto sarebbe un'opzione. (Ho già guardato quel sito mentre preparavo questa domanda.)
David Z,

Che ne dici di usare il disco di installazione e fare clic su Aggiorna ora invece di eseguire un'installazione pulita? È una specie di reinstallazione ma mantieni i tuoi file.
Rsya Studios,

1
@RsyaStudios L'installer grafico non rileva la mia installazione di Windows esistente, quindi non credo di poterlo fare.
David Z,

Risposte:


11

A seconda del metodo utilizzato, alcune cose possono cambiare durante l'avanzamento:

I dettagli della partizione : utilizzare activein diskpart per riattivare la partizione.

Il settore di avvio : lo strumento bootsect può essere utilizzato per ripristinare il settore di avvio. (es. bootsect /nt60 C:)

L'UUID della partizione : modificando la posizione e / o la dimensione della partizione, l'UUID cambia; pertanto l'UUID inaccessibile memorizzato nel BCD non corrisponde all'UUID della partizione. Per risolvere questo problema, rimuovere e ricostruire il BCD in questo modo:

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

Questo si è rivelato essere il problema (e la soluzione) giusto, ma il tuo consiglio sull'impostazione della partizione activeera la vera chiave. Avevo bisogno di rendere attiva la partizione in modo che bootrecsapesse dove scrivere il BCD ricostruito. Forse potresti aggiungerlo alla risposta? (Non ho dovuto usare bootsect, come si è scoperto.)
David Z

Aggiornato la risposta incorporando il mio commento; sì, i dettagli della partizione erano il pezzo mancante qui.
Tamara Wijsman,

"ren C: \ boot \ bcd C: \ boot \ bcd.old" mi ha dato un errore. Dovrebbe essere "ren C: \ boot \ bcd bcd.old"
user4035

3

Potresti aver causato il problema riducendo troppo la partizione di Windows.

Windows ha alcuni file immobili che un prodotto di terze parti potrebbe decidere di spostare. In futuro è necessario utilizzare Gestione disco di Windows per ridimensionare le sue partizioni, poiché non si romperà il disco. È inoltre consigliabile disattivare e svuotare prima il Cestino, disabilitare il file di paging e l'ibernazione, al fine di ridurre al minimo il numero di file Windows speciali ed eseguire anche una deframmentazione che comprime tutti i file verso l'inizio del disco.

Detto questo, è possibile eseguire Ripristina installazione per correggere Windows 7 . Questa lieve forma di installazione risolverà il tuo Windows 7 attualmente installato e conserverà i tuoi account utente, dati, programmi e driver di sistema. L'articolo collegato descrive il processo in dettaglio con schermate. In seguito potresti dover affrontare un po 'di distruzione nel settore di avvio di GRUB2.

Se l'installazione di riparazione non funziona, Gparted ha distrutto la tua partizione di Windows. Spero che tu abbia il backup in questo caso, altrimenti potresti dover ricorrere a Utilità di recupero dati .


Ah, beh, era intenzionale. Ho provato a utilizzare Windows per ridimensionare prima la partizione, dopo aver svuotato il Cestino e deframmentato (ho dimenticato di disabilitare i file speciali), ma non è stato in grado di ridurre le dimensioni della partizione tanto quanto ne avevo bisogno. Proverò l'installazione di riparazione e vedrò se funziona. Altrimenti, posso montare la partizione Windows da Linux e copiare qualsiasi file utile in un'altra partizione, quindi non dovrò ricorrere al recupero dei dati.
David Z,

Guardandolo ora, vedo che un'installazione di riparazione può essere eseguita solo da Windows, quindi non mi aiuta.
David Z,

Puoi farlo usando un DVD / USB di Windows 7 SP1. Dettagli nell'articolo sopra.
harrymc,

1
No, non posso. L'articolo dice esplicitamente (più volte) che è necessario eseguire Windows per eseguire un'installazione di riparazione; inoltre, l'ho provato e non mi consente di utilizzare l'opzione Aggiorna quando si avvia da un DVD.
David Z,

Linux riesce a montare il disco e riesci a vedere il file system e in particolare eseguire il drill nella cartella Windows e persino copiarne i file? Puoi avviare il DVD di Windows in DOS e vedere il disco? Prova anche a scollegare qualsiasi possibile dispositivo dal computer.
harrymc,

1

Ho avuto un problema simile (stesso codice di errore 0xc0000225) sul mio computer mentre provavo ad aggiornare a Windows 10

Il problema derivava da una partizione EFI vuota ancora presente su una delle mie unità. All'avvio, il computer trova 2 partizioni EFI: una dal mio sistema operativo principale e un'altra corrispondente a un vecchio sistema operativo che ho disinstallato mesi fa (sono passato dal mio primo disco rigido a SSD e ho formulato tutto)

Forse è anche il tuo problema. Ho 2 soluzioni per te, spero che funzioni:

  • Sul pannello di controllo, gestisci il tuo computer, trova l'inutile partizione EFI ed eliminala
  • Esegui il tuo computer con il supporto per l'installazione di Windows (puoi crearne uno scaricando la procedura guidata dal sito Web di Microsoft), esegui il programma di installazione, le impostazioni avanzate e quando ti presenta tutti i volumi, trova la partizione EFI ed eliminala

Ho anche reinstallato Windows ma se si elimina la partizione EFI errata sarà sufficiente

Da allora, nessun problema all'avvio, il mio computer potrebbe installare W10, ecc ...

Scusa se non ti do il nome esatto delle cose su cui devi fare clic, il mio sistema operativo è in francese ^^


-1

Aggiungendo una risposta qui perché questa è la pagina mostrata per me e la risposta di cui avevo bisogno:

0xc0000225 può anche essere causato disabilitando il supporto ACPI APIC nel BIOS (come indicato in questo BIOS). L'ho disabilitato mentre risolvo i problemi di sospensione in Ubuntu, ma Windows in questo caso richiede che sia abilitato.

Ciò ha anche causato l'installazione cd / usb, il ripristino non è riuscito con lo stesso errore, quindi non è stato possibile fare nulla con Windows fino a quando non è stato abilitato.

0xc0000225 si è verificato durante l'aggiornamento di Windows 10 Creators, ma non è stato riavviato in Windows fino a dopo aver disabilitato l'impostazione nel BIOS, quindi sembrava che fosse causato dall'aggiornamento ma in realtà non lo era! Difficile!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.