1 votes

Comment réutiliser le disque dur HDD de TimeCapsule sans perdre les données ?

J'ai mis à jour mon routeur de l'Apple TimeCapsule au Keenetic Ultra. Keenetic prend en charge le HFS+ et mon boîtier de disque externe, cependant lorsque je branche le disque de TimeCapsule, seule une partition de 1 Go s'affiche et elle ne contient pas les données de la TimeMachine.

0 votes

Je serais méfiant de continuer à compter sur un disque dur s'il a plus de 5 ans.

0 votes

@benwiggy Peut-être, mais selon ce que je sais, ils se dégradent surtout avec l'utilisation, et non pas avec l'âge. Servir de partage de fichiers à domicile est beaucoup moins exigeant que d'être dans un PC réel. Malgré cela, j'ai 2 disques durs de 2007 dans des PC, qui fonctionnent toujours sans erreurs.

3voto

Andrew Morozko Points 201

Cela se produit parce que le disque TimeCapsule contient 3 partitions avec le même UUID (tant pour être Universellement Unique) égal à tout "0". macOS est livré avec un utilitaire pour attribuer un nouvel ID unique aléatoire au volume.

Vous devez attacher le disque TimeCapsule à macOS et démonter toutes les partitions (utilisez diskutil list et diskutil info diskXsY pour trouver les disques et vous assurer que les UUID sont mis à zéro, démontez avec diskutil umount diskXsY).

Après cela, vous pouvez attribuer de nouveaux UUID aux deux volumes de 1 Go, laissant le volume de données principal tel quel (au cas où).

/System/Library/Filesystems/hfs.fs/Contents/Resources/hfs.util -s disk2s1
/System/Library/Filesystems/hfs.fs/Contents/Resources/hfs.util -s disk2s2

Cela devrait suffire à faire apparaître le volume de données.

Je ne suis pas sûr que TimeCapsule s'attende à ce que l'UUID soit tout en 0. Si c'est le cas, cette opération empêchera le lecteur de fonctionner dans TimeCapsule, et vous ne pouvez pas définir l'UUID manuellement en utilisant hfs.util. Le fragment suivant est construit en observant les modifications que hfs.util -s apporte à l'en-tête du disque. C'est aussi sûr que la chirurgie du cerveau ouverte, mais autant que je puisse le dire, le hfs.util ne fait que écrire 8 octets à un emplacement sur le disque, à 1128 octets du début de la partition. Ce script python met ces emplacements à zéro, espérant ramener le disque à son état d'origine :

with open("/dev/disk2s2", "wb") as f:
    f.seek(0x468)
    f.write(bytes([0]*8))

Tout compte fait, c'est très dangereux, faites des sauvegardes, au moins de la partie en-tête du disque, mais cela peut quand même corrompre les données.

MISE À JOUR : Il s'avère qu'Apple a rendu open-source le hfs.util. Je suis correct, ce script fait tout ce qui doit être fait, mais l'offset codé en dur est toujours une mauvaise pratique, car l'en-tête du système de fichiers peut être à un endroit différent sur le vrai disque.

Si quelqu'un a vraiment besoin de mettre l'UUID à zéro sur le disque, vous devriez modifier le hfs.util lui-même : https://opensource.apple.com/source/hfs/hfs-183/hfs_util/ Ou vous pouvez me contacter dans les commentaires, je suis prêt à le faire si quelqu'un en a réellement besoin.

0 votes

Votre script devrait probablement imprimer les valeurs originales, juste au cas où. (En outre, c'est très dangereux; cela rend les informations du noyau obsolètes.)

1 votes

@wizzwizz4 Il devrait idéalement sauvegarder l'en-tête FS, je suis juste paresseux. En ce qui concerne l'en-tête - je ne suis pas sûr. Cela modifie la structure FS sur un lecteur non monté, l'en-tête ne devrait pas être impliqué. hfs.util fait la même chose

0 votes

*Concernant noyau

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X