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-------------|
( boot
et home
sont 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),, sfc
et 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 diskpart
affiche correctement tous les lecteurs, et la lettre de lecteur pour la partition Windows en question est à la D
place de C
(car j'ai une partition de données NTFS sur le lecteur # 1 ).
Je voudrais noter que bootrec /fixmbr
remplace 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-install
pour remettre le GRUB2 MBR, puis choisir l'option Windows dans GRUB2 donne à nouveau 0xc0000225.