Puis-je corriger l'erreur 0xc0000225 sans réinstaller Windows?

16

J'ai un système qui double-démarre Gentoo Linux et Windows 7 en utilisant GRUB2. L'ordinateur dispose de quatre lecteurs et Windows est installé sur la troisième (dernière) partition du lecteur n ° 2. La disposition du lecteur ressemble à ceci:

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

( bootet homesont des partitions Linux) C'est une configuration étrange mais cela a toujours fonctionné, jusqu'à ce que je décide de réduire la partition Windows en utilisant Gparted. La nouvelle disposition est la suivante:

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

Après avoir effectué ces modifications de partition, lorsque je sélectionne l'option Windows dans GRUB2 et qu'il transfère le contrôle au chargeur de démarrage Windows, j'obtiens le message d'erreur:

Windows Boot Manager  

Windows n'a pas pu démarrer. Une modification récente du matériel ou du logiciel peut en être la cause. Pour résoudre le problème:   1. Insérez votre disque d'installation Windows et redémarrez votre ordinateur.   2. Choisissez vos paramètres de langue, puis cliquez sur "Suivant".   3. Cliquez sur "réparer votre ordinateur". Si vous n'avez pas ce disque, contactez votre administrateur système ou votre ordinateur fabricant pour assistance.   Statut: 0xc0000225   Info: La sélection de démarrage a échoué car un périphérique requis est inaccessible.

Je ne suis pas particulièrement surpris que cela se produise, mais je me demande si je peux résoudre ce problème sans réinstaller Windows.

J'ai essayé de démarrer l'ordinateur à l'aide du DVD d'installation de Windows (en particulier, un DVD de mise à niveau de Windows 7). Après avoir choisi la langue et le clavier et cliqué sur "Réparer cet ordinateur", l'écran Options de récupération système ne détecte pas ma partition Windows . Je peux quand même cliquer sur "Suivant" puis utiliser la Réparation de démarrage, qui ne parvient pas à résoudre le problème , ou essayer les outils de ligne de commande, à savoir bootrec(suggérés par plusieurs sites Web),, sfcet chkdsk. Aucun d'eux n'a fait de différence; Je reçois toujours le même message d'erreur. (Voir ci-dessous pour une sortie détaillée.)

Aussi, comme suggéré dans des questions similaires, j'ai essayé d'utiliser la fonctionnalité "Rebuild BS" (reconstruire le secteur de démarrage) dans TestDisk , fonctionnant sous Linux, agissant sur la partition Windows. Cela n'a pas non plus changé l'erreur que j'obtiens.

Je n'ai vu aucun signe de corruption de données sur l'une ou l'autre partition, et les disques n'ont subi aucun dommage physique, il semble donc assez certain que le changement de disposition de la partition est la cause de cette erreur. Je suppose que Windows doit avoir le secteur de départ et / ou la taille de la partition stockés quelque part dans son système de fichiers (le registre?), Suggérant qu'il devrait en principe être possible de résoudre ce problème en tournant quelques octets dans un fichier quelque part. Mais quel dossier? Ou y a-t-il quelque chose de plus compliqué?

Si cela peut vous aider, voici la section de configuration de GRUB2 correspondant à 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
}

Encore une fois, ce que je recherche est, idéalement, un moyen de résoudre ce problème sans réinstaller Windows. Si ce n'est pas possible, la réinstallation est un plan B acceptable, mais je peux m'en occuper moi-même.


Voici une transcription de mes sessions d'invite de commandes lors du démarrage dans l'environnement de réparation à l'aide du DVD d'installation de Windows 7. J'ai supprimé quelques lignes vierges pour plus de lisibilité. Voici tous les autres disques déconnectés :

>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

Lorsque j'exécute les mêmes commandes avec tous les lecteurs connectés, la sortie est la même, sauf qu'elle diskpartaffiche correctement tous les lecteurs, et la lettre de lecteur pour la partition Windows en question est à la Dplace de C(car j'ai une partition de données NTFS sur le lecteur # 1 ).

Je voudrais noter que bootrec /fixmbrremplace le MBR du lecteur # 2, remplaçant le MBR mis par GRUB2. Lorsque j'essaie ensuite de démarrer à partir de ce disque, j'obtiens simplement le message "Système d'exploitation manquant" au lieu de l'erreur 0xc0000225. Je peux ensuite démarrer sous Linux et utiliser grub-installpour remettre le GRUB2 MBR, puis choisir l'option Windows dans GRUB2 donne à nouveau 0xc0000225.

David Z
la source
Le clonage de Windows nécessite souvent des manipulations de partition qui interrompent le processus de démarrage de Windows - Windows ne démarre pas si la partition est située dans une position différente sur le disque que lors de l'installation. Ce serait bien d'utiliser vos résultats :)
Basilevs
@ ali786 bien, je préfère réinstaller Windows que dépenser 20 $ pour un outil pour résoudre le problème. Mais sinon, ce serait une option. (Cependant, j'ai déjà consulté ce site Web lors de la préparation de cette question.)
David Z
Que diriez-vous d'utiliser votre disque d'installation et de cliquer sur Mettre à niveau maintenant au lieu d'effectuer une nouvelle installation? C'est une sorte de réinstallation mais vous conservez vos fichiers.
Rsya Studios
1
@RsyaStudios Le programme d'installation graphique ne détecte pas mon installation Windows existante, donc je ne pense pas pouvoir le faire.
David Z

Réponses:

11

Selon la méthode utilisée, certaines choses peuvent changer dans la progression:

Les détails de la partition : Utilisez activedans diskpart pour réactiver la partition.

Le secteur de démarrage : L' outil bootsect peut être utilisé pour restaurer le secteur de démarrage. (par exemple. bootsect /nt60 C:)

L'UUID de la partition : en modifiant la position et / ou la taille de la partition, l'UUID change; ainsi l'UUID inaccessible stocké dans le BCD ne correspond pas à l'UUID de votre partition. Pour résoudre ce problème, supprimez et reconstruisez le BCD comme ceci:

bcdedit /export C:\boot\bcd.backup
ren C:\boot\bcd C:\boot\bcd.old
bootrec /rebuildbcd
Tamara Wijsman
la source
Cela s'est avéré être le bon problème (et la bonne solution), mais votre conseil sur la définition de la partition activeétait la vraie clé. J'avais besoin de rendre la partition active pour bootrecsavoir où écrire le BCD reconstruit. Peut-être pourriez-vous ajouter cela à la réponse? (Je n'ai pas eu à utiliser bootsect, car il s'est avéré.)
David Z
Mise à jour de la réponse en intégrant mon commentaire; oui, les détails de la partition étaient la pièce manquante ici.
Tamara Wijsman
"ren C: \ boot \ bcd C: \ boot \ bcd.old" m'a donné une erreur. Doit être "ren C: \ boot \ bcd bcd.old"
user4035
3

Vous avez peut-être causé le problème en réduisant trop la partition Windows.

Windows contient des fichiers non amovibles qu'un produit tiers pourrait décider de déplacer. À l'avenir, vous devriez utiliser le Gestionnaire de disques Windows pour redimensionner ses partitions, car il ne cassera pas le disque. C'est également une bonne idée d'éteindre et de vider la Corbeille, de désactiver le fichier d'échange ainsi que l'hibernation, afin de minimiser le nombre de fichiers Windows spéciaux et d'exécuter un défragmenteur qui compacte tous les fichiers vers le début de la disque.

Cela dit, vous pouvez faire réparer l'installation pour réparer Windows 7 . Cette forme d'installation modérée réparera votre Windows 7 actuellement installé et préservera vos comptes d'utilisateurs, vos données, vos programmes et vos pilotes système. L'article lié décrit le processus en détail avec des captures d'écran. Vous devrez peut-être par la suite faire face à une certaine destruction du secteur de démarrage GRUB2.

Si l'installation de réparation ne fonctionne pas, alors Gparted a détruit votre partition Windows. J'espère que vous avez une sauvegarde dans ce cas, sinon vous devrez peut-être recourir aux utilitaires de récupération de données .

harrymc
la source
Ah, eh bien, c'était intentionnel. J'ai essayé d'utiliser Windows pour redimensionner la partition en premier, après avoir vidé la corbeille et défragmenté (j'ai oublié de désactiver les fichiers spéciaux), mais il n'a pas pu réduire la taille de la partition autant que j'en avais besoin. Je vais essayer l'installation de réparation et voir si cela fonctionne. Sinon, je peux monter la partition Windows à partir de Linux et copier tous les fichiers utiles sur une autre partition, donc je n'aurai pas à recourir à la récupération de données.
David Z
En regardant maintenant, je vois qu'une installation de réparation ne peut être effectuée qu'à partir de Windows, donc cela ne m'aide pas.
David Z
Vous pouvez le faire en utilisant un DVD / USB Windows 7 SP1. Détails dans l'article ci-dessus.
harrymc
1
Non, je ne peux pas. L'article dit explicitement (plusieurs fois) que vous devez déjà exécuter Windows pour effectuer une installation de réparation; d'ailleurs, je l'ai essayé, et il ne me permettra pas d'utiliser l'option de mise à niveau lors du démarrage à partir d'un DVD.
David Z
Est-ce que Linux parvient à monter le disque, et pouvez-vous voir le système de fichiers et en particulier explorer le dossier Windows et même en copier des fichiers? Pouvez-vous démarrer le DVD Windows sous DOS et voir le disque? Essayez également de déconnecter tout périphérique possible de l'ordinateur.
harrymc
1

J'ai eu un problème similaire (même code d'erreur 0xc0000225) sur mon ordinateur pendant que j'essayais de passer à Windows 10

Le problème venait d'une partition EFI vide qui restait toujours sur l'un de mes disques. Au démarrage, l'ordinateur trouve 2 partitions EFI: une de mon système d'exploitation principal et une autre correspondant à un ancien système d'exploitation que j'ai désinstallé il y a des mois (je suis passé de mon premier disque dur à SSD et j'ai tout formaté)

C'est peut-être aussi votre problème. J'ai 2 solutions pour vous, j'espère que ça marche:

  • Sur votre panneau de contrôle, gérez votre ordinateur, trouvez la partition EFI inutile et supprimez-la
  • Exécutez votre ordinateur avec le support d'installation de Windows (vous pouvez en créer un en téléchargeant l'assistant sur le site Web de Microsoft), exécutez le programme d'installation, les paramètres avancés et lorsqu'il vous présente tous les volumes, trouvez la partition EFI et supprimez-la

J'ai également réinstallé Windows mais si vous supprimez la mauvaise partition EFI, ce sera suffisant

Depuis lors, plus de problème au démarrage, mon ordinateur a pu installer W10, etc ...

Désolé si je ne vous donne pas le nom exact des choses sur lesquelles vous devez cliquer, mon OS est en français ^^

Ziiik
la source
-1

Ajout d'une réponse ici parce que c'est la page qui m'a été montrée et la réponse dont j'avais besoin:

0xc0000225 peut également être dû à la désactivation de la prise en charge ACPI APIC dans le BIOS (comme indiqué dans ce BIOS). Je l'ai désactivé lors de la résolution des problèmes de suspension dans Ubuntu, mais Windows dans ce cas nécessite qu'il soit activé.

Cela a également causé l'échec de la configuration cd / usb, la récupération avec la même erreur, donc rien ne pouvait être fait avec Windows jusqu'à ce qu'il soit activé.

0xc0000225 s'est produit lors de la mise à jour de Windows 10 Creators, mais n'a pas redémarré dans Windows tant qu'après avoir désactivé le paramètre dans le BIOS. Rusé!

CmosBattery
la source