web-dev-qa-db-fra.com

Monter une partition HFS + sur Arch Linux

J'ai des problèmes avec le montage d'une partition hfs + sur Arch Linux.

Quand j'exécute Sudo mount -t hfsplus /dev/sda2 /mnt/mac j'obtiens cette erreur:

mount: wrong fs type, bad option, bad superblock on /dev/sda2,
   missing codepage or helper program, or other error

   In some cases useful info is found in syslog - try
   dmesg | tail or so.

Lancer dmesg | tail donne:

[ 6645.183965] cfg80211: Calling CRDA to update world regulatory domain
[ 6648.331525] cfg80211: Calling CRDA to update world regulatory domain
[ 6651.479107] cfg80211: Calling CRDA to update world regulatory domain
[ 6654.626663] cfg80211: Calling CRDA to update world regulatory domain
[ 6657.774207] cfg80211: Calling CRDA to update world regulatory domain
[ 6660.889864] cfg80211: Calling CRDA to update world regulatory domain
[ 6664.007521] cfg80211: Exceeded CRDA call max attempts. Not calling CRDA
[ 6857.870580] perf interrupt took too long (2503 > 2495), lowering kernel.perf_event_max_sample_rate to 50100
[11199.621246] hfsplus: invalid secondary volume header
[11199.621251] hfsplus: unable to find HFS+ superblock

Est-il possible de monter cette partition?

EDIT:

Utiliser Sudo mount -t hfsplus -o ro,loop,offset=409640,sizelimit=879631488 /dev/sda2 /mnt/mac supprime hfsplus: invalid secondary volume header dans dmesg | tail

19
ZuluDeltaNiner

Il est probable que le volume HFS ne soit pas en cours de montage, car la partition HFS est encapsulée dans un volume CoreStorage (valeur par défaut depuis OS X 10.10). Vous pouvez vérifier si c'est le cas avec la sortie de fdisk -l: fdisk output

HFS + utilise deux en-têtes de volume, un 1024 dans le périphérique et le 1024 secondaire à partir de la fin du périphérique . Selon les spécifications, lors du montage d'une partition, l'en-tête secondaire doit être exactement à 1024 octets de la fin de la partition, mais CoreStorage encapsulant le volume HFS, ce n'est plus le cas et il échoue. Vous pouvez passer -o sizelimit=N à mount pour spécifier manuellement la taille du volume HFS et résoudre ce problème, mais comment obtenir la valeur magique pour N?

L'utilitaire testdisk peut rechercher des partitions, indiquant où se termine réellement la partition HFS. Méfiez-vous: choisir les mauvaises options dans testdisk peut endommager votre table de partition!

  1. Lancez TestDisk avec testdisk /dev/sdX, puis OK pour sélectionner le lecteur.
  2. Sélectionnez Intel pour MBR ou EFI GPT pour les lecteurs au format GPT
  3. Appuyez sur Analyse puis Quick Search
  4. Après quelques instants, il devrait imprimer les partitions trouvées: testdisk results

    La partition indiquée semble terriblement proche (mais légèrement inférieure) de la taille réelle de la partition de 623463232 secteurs rapportée par fdisk -l plus tôt.

    Etant donné que la sortie de TestDisk utilise des secteurs, nous devrons la multiplier par la taille de secteur logique du lecteur (généralement 512 ou 4096 octets) pour obtenir la taille du volume HFS en octets. C'est la valeur de N que nous utiliserons pour -o sizelimit=N lors du montage du volume HFS.

    Si vous ne connaissez pas la taille du secteur logique de votre lecteur, vérifiez la sortie du seconde  premier numéro indiqué par fdisk -l sur la ligne indiquée ci-dessous: finding your disk's logical sector size

  5. Appuyez plusieurs fois sur q pour quitter le programme.

  6. Montez le disque: mount /dev/sdXn -t hfsplus -o ro,sizelimit=N
33
Stewart Adam

Une autre option consiste à supprimer CoreStorage si un ordinateur OS X est disponible. Cela éliminerait également le déchiffrement si vous l'utilisiez et vous deviez attendre que le déchiffrement soit terminé (connecté au pouvoir et démarré sous OS X, même en cours de restauration).

Vous devez démarrer sur un disque qui n’est pas celui qui vous intéresse, de préférence une récupération sur Internet (le cas échéant, commande-option-r au redémarrage). Ouvrez le terminal et faites un:

diskutil cs list

La sortie doit afficher vos volumes CoreStorage et tous, l’un d’eux étant son statut Réversible. Si cela indique Oui, vous serez en mesure de continuer. Ensuite, vous courriez:

diskutil cs revert /dev/ diskXsY

(Où X est le numéro du disque et Y le numéro de la partition).

Vous pouvez ensuite vérifier son état avec la même commande "diskutil cs list". S'il n'a pas été chiffré, il devrait déjà être de retour sur une structure de partition GPT standard et vous pouvez essayer de le remonter dans Arch. Il doit quand même être journalisé, ce qui le gardera en lecture seule, si vous souhaitez basculer sur cette option, vous pouvez le faire dans Utilitaire de disque.

Si le processus est crypté, le processus prendra un certain temps, mais la "liste cs diskutil" vous indiquera la progression sous forme de pourcentage.

Je n'ai rencontré aucun problème lors du montage de disques et de partitions non CoreStorage HFS + sur Arch moi-même. J'ai fini par déplacer les données, les repartitionner en tant qu'ext4 et leur transférer les données.

2
Cory T