55 votes

Hibernation et démarrage dans un autre système d'exploitation : mes systèmes de fichiers seront-ils corrompus ?

IMPORTANT

Si vous êtes venu ici pour trouver une réponse à cette question, lisez ce qui suit tous les réponses ci-dessous. Il existe des témoignages de personnes qui ont perdu des données en procédant ainsi. Si vous envisagez de le faire régulièrement, je vous recommande vivement de le tester par vous-même.


Question originale

Supposons que j'ai Windows et Linux installés sur le même ordinateur. Si je mets Windows en hibernation, puis-je démarrer sur Linux sans corrompre le système de fichiers de Windows lorsque je reprends Windows ? Et dans l'autre sens ? Que se passe-t-il si j'en hiberne un, que je démarre sur l'autre et que je monte le système de fichiers hiberné en lecture/écriture ? En lecture seule ? Si cela n'est pas sûr, existe-t-il un moyen de détecter l'état d'hibernation de l'autre système d'exploitation et d'empêcher le montage de son système de fichiers ?

En gros, jusqu'où puis-je le pousser avant qu'il ne se casse, et quel est le danger près du bord ? Je pense connaître les réponses à certaines des questions ci-dessus, mais pour d'autres, je n'en ai aucune idée, et pour des raisons évidentes, je n'ai pas testé cela sur mon propre ordinateur. Si quelqu'un a testé ces derniers, s'il vous plaît éclairez le reste d'entre nous. Je ne cherche pas nécessairement une réponse spécifique à chaque question ; j'accepterai toute réponse qui répond à une partie raisonnable.


EDITAR

Permettez-moi de préciser que lorsque je parle d'"hibernation", j'entends le processus consistant à écrire le contenu de la RAM sur le disque dur et à éteindre complètement l'ordinateur. Dans cet état, le fait de rallumer l'ordinateur vous fait repasser par le BIOS et le chargeur de démarrage, et vous pouvez théoriquement sélectionner un autre système d'exploitation sur un système multi-boot. Bref, revenons à la question initiale :


Mes résultats

Ok, après que tout le monde m'ait assuré que ça allait marcher, je l'ai testé moi-même. J'ai configuré Ubuntu pour remonter tous les systèmes de fichiers ntfs et les disques externes en lecture seule avant l'hibernation. Il n'y avait pas besoin d'une configuration similaire pour Windows, car Windows ne lit pas les systèmes de fichiers Linux. Ensuite, j'ai essayé d'hiberner alternativement un système d'exploitation et de reprendre l'autre, en faisant des allers-retours plusieurs fois. J'ai même essayé de monter le système de fichiers Windows depuis Ubuntu en lecture-écriture, et de créer quelques fichiers. Windows ne s'est pas plaint lorsque j'ai repris. Donc, en conclusion, vous pouvez plus ou moins librement hiberner dans un scénario de double démarrage Windows/Linux.

Notez que je n'ai pas testé une situation de double co-hibernation Linux/Linux. Si vous avez deux ou plusieurs installations Linux et que vous hibernez l'une d'entre elles, vous pourriez être en mesure de corrompre le système de fichiers en le montant à partir d'une autre.

2voto

DANGER ! Je peux également confirmer qu'il s'agit d'un problème grave pour les volumes FAT32 et NTFS et uniquement lorsque Windows (j'ai Windows 7) est en hibernation. Je pense que c'est lié à la mise en cache et j'ai envisagé de configurer le disque pour une suppression rapide. Cela pourrait résoudre le problème, mais je ne l'ai pas encore essayé parce que je ne veux vraiment configurer qu'une seule partition de cette façon, ce que Windows ne semble pas prendre en charge. Même mon pilote ntfs OSX prend en charge le contrôle du cache par partition, mais pas Windows. De plus, mon pilote OSX ntfs semble reconnaître que le lecteur ne doit pas être monté. Cela semble être lié à ce problème. J'espère que cela vous aidera.

1voto

bladeWalker Points 111

Voici mon expérience. J'utilise un système à double démarrage avec Windows et Kubuntu (11.04). La plupart de mes fichiers sont sur une partition NTFS de Windows et je l'utilise principalement depuis Linux. Elle est montée à l'aide de FUSE.

C'est ce qui s'est passé :

  1. Fenêtres en hibernation
  2. Au démarrage suivant, j'ai démarré sous Linux et l'ai utilisé pendant deux semaines, sans démarrer sous Windows.
  3. Redémarrage sous Windows (parce qu'un test en ligne ne fonctionnait que dans Internet Explorer et rien d'autre, d'une certaine manière ie4linux n'était pas suffisant)

Lorsque Windows a repris, j'ai remarqué que tous les fichiers créés au cours de ces deux semaines avaient disparu. J'ai redémarré sur Linux pour vérifier et j'ai constaté que des fichiers manquaient également. Je suppose que Windows a restauré le système de fichiers NTFS à l'état où il était lorsqu'il était en hibernation et l'a restauré à ce moment-là.

J'ai essayé des outils comme ntfsundelete et testdisk. Ces fichiers manquants ne sont pas répertoriés. De plus, Linux monte ce disque en mode RW même lorsque Windows a hiberné et n'a pas été arrêté. Je suppose que Linux prévient ou monte simplement le disque en mode lecture seule, mais cela ne s'est pas produit ici.

1voto

Varso Points 11

Je peux également confirmer que le partage d'une partition non système entre deux O/S différents en état d'hibernation entraîne la corruption du système de fichiers et la perte de données.

Scénario : J'ai 3 partitions NTFS : 1. Windows XP 2. Windows 7 3. Données ( Je dois encore utiliser XP pour les anciennes applications qui ne fonctionnent pas bien en mode de compatibilité).

Exemple : Démarrer à partir de la partition 1 (XP) et lancer Thunderbird qui stocke des fichiers sur la partition 3. Puis hibernation (le système d'exploitation vide la RAM dans un fichier d'hibernation et éteint le PC). Démarrez depuis la partition 2 (7) et exécutez Thunderbird qui stocke des fichiers sur 3. C'est là que le problème commence avec l'accès aux fichiers etc. parfois avec ou sans chkdsk. Retour au démarrage depuis la partition 1 et les fichiers corrigés par OS_2_7 sont à nouveau corrompus, même pire certains fichiers ouverts avant l'hibernation (ex. Firefox) sont corrompus maintenant.

Donc oui. Hiberner deux systèmes d'exploitation, peu importe qu'ils utilisent une partition système ou non, entraînera une corruption des données. Pourquoi ? Je suppose que la cause principale est le fichier LOCK et MFT. Après le réveil de l'hibernation, le système d'exploitation ne rafraîchit pas le MFT, donc il est toujours supposé trouver les fichiers dans les anciens secteurs, donc tout fichier qui a changé de taille ou de place sera corrompu.

0voto

Lie Ryan Points 4241

J'avais l'habitude de faire exactement ça. Je ne montais jamais le disque système de la machine en hibernation pour éviter les accidents, et chaque système d'exploitation avait sa propre partition d'échange. Cependant, j'avais une partition de données dédiée, que j'utilisais pour transférer des données entre les deux OS en hibernation. J'y ai même placé mon profil Firefox et Thunderbird, ce qui m'évite d'avoir à conserver deux profils distincts. Veillez simplement à fermer Firefox sur une machine avant de la mettre en hibernation.

Je ne me souviens pas avoir eu de problèmes avec la configuration, et je l'ai utilisé pendant assez longtemps.

-3voto

ChrisR Points 303

Je ne pense pas que ce soit possible.

Lorsque vous mettez votre ordinateur en hibernation, il est "verrouillé" (faute d'un meilleur terme) à ce système d'exploitation. Vous n'hibernez pas le système d'exploitation, vous hibernez l'ordinateur tout entier. Lorsque vous sortez de l'hibernation, vous n'avez pas à repasser par le BIOS et le POST.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X