61 votes

Comment OneDrive fait-il pour que son dossier ne soit pas fonctionnel pour les anciennes versions de Windows ?

Après la mise à jour Creators Update de l'automne 2017 pour Windows 10, il est impossible d'accéder au dossier OneDrive en utilisant les versions antérieures de Windows. Cette bizarrerie est décrite à l'adresse suivante site officiel :

Si vous avez installé la mise à jour Fall 2017 Creators Update pour Windows 10 et que vous synchronisez des fichiers OneDrive sur un lecteur externe, il se peut que vous ne puissiez pas ouvrir vos fichiers OneDrive si vous déplacez le lecteur externe sur un ordinateur exécutant un système d'exploitation plus ancien que la mise à jour Fall 2017 Creators Update pour Windows 10.

La solution de contournement proposée est la suivante "Utilisez un ordinateur exécutant la mise à jour Créateurs de l'automne 2017 pour Windows 10 (ou une version plus récente) pour ouvrir le contenu". .

J'ai réussi à reproduire le problème avec Windows 7 en branchant un disque dur avec un dossier OneDrive, créé en utilisant Windows 10 plus tôt. Maintenant, quand j'essaie de faire quelque chose avec le répertoire (le supprimer, ou cd dans celui-ci), j'obtiens une erreur :

The file cannot be accessed by the system.

Il n'y a pas d'erreurs logiques dans le FS selon chkdsk Je suis également le propriétaire du dossier et j'ai tous les privilèges de sécurité. Aucun processus n'utilise le volume. Quoi qu'il en soit, je ne peux rien faire avec ce (et seul) dossier. Quel est le mécanisme de blocage ?

76voto

James Mertz Points 390

NTFS possède une fonction appelée repars les points Dans ce cas, un fichier ou un répertoire peut être marqué pour un traitement spécial par le système d'exploitation. Il est utilisé pour mettre en œuvre un grand nombre de fonctionnalités, par exemple les points de montage de volume (l'alternative Unix aux lettres de lecteur), les jonctions et les liens symboliques, les répertoires épars GitVFS, les fichiers qui sont réellement stockés dans une image WIM, les fichiers qui ont été transférés sur bande ou sur un autre support de stockage lent, et ainsi de suite.

Versions récentes de OneDrive utilisent également des points reparse pour implémenter des "fichiers en ligne" - ils sont d'abord placeholders, mais téléchargés à la demande. Les versions antérieures faisaient cela au niveau de Shell, ce qui ne fonctionnait pas avec de nombreux programmes ; l'utilisation d'un point reparse et le déplacement du téléchargement automatique dans le système d'exploitation de base les rend presque indiscernables des fichiers locaux.

Naturellement, les nouvelles balises entraîneront une erreur lorsque le chemin d'accès sera utilisé par un ancien système d'exploitation ; le pilote NTFS ne sait pas que le chemin d'accès a été modifié. ce qu'il faut faire avec de tels articles, donc il rejette simplement l'accès. Il pourrait par exemple afficher un répertoire vide, mais cela pourrait rapidement causer plus de dommages lorsque l'ancien système d'exploitation essaierait d'y écrire.

Vous pouvez utiliser fsutil reparsepoint via Cmd pour voir la balise de point de reparsage, s'il y en a une, qui a été attachée à un fichier ou un répertoire.

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