come montare un HFS + in crash su Ubuntu 14


0

Ho un disco rigido Mac che si sta arrestando in modo anomalo da cui sto provando a estrarre tutti i file. Voglio essere in grado di rimuovere i file dall'unità in modo da poter restringere il punto in cui i problemi devono cercare di salvare il più possibile il contenuto. Per fare questo ho bisogno di essere in grado di modificare l'unità su Linux, quindi ho seguito le informazioni trovate qui: Come montare una partizione HFS in Ubuntu come Lettura / Scrittura? . Non sono mai stato in grado di montare l'unità come RW usando i metodi di montaggio standard, anche se sarebbe stata visualizzata come ancora sola lettura. Provai:

sudo fsck.hfsplus /dev/sdx

che è stato elencato più in basso e ha ottenuto le seguenti informazioni

** /dev/sdc2
** Checking HFS Plus volume.
** Checking Extents Overflow file.
** Checking Catalog file.
   Missing thread record (id = 26)
   Missing thread record (id = 105)
   Missing thread record (id = 6856404)
   Missing thread record (id = 6936575)
   Incorrect number of thread records
(4, 6)
   Incorrect number of thread records
(4, 6)
** Checking Catalog hierarchy.
** Volume check failed.

Da allora il dispositivo non è montato e viene visualizzato l'errore:

Error mounting /dev/sdc2 at /media/paul/02eeaa8b-9ebd-3290-a8a5-0dd8d3e1bf7a: Command-line `mount -t "hfsplus" -o "uhelper=udisks2,nodev,nosuid" "/dev/sdc2" "/media/paul/02eeaa8b-9ebd-3290-a8a5-0dd8d3e1bf7a"' exited with non-zero exit status 32: mount: No such file or directory

Il dispositivo viene comunque visualizzato utilizzando lo strumento dischi come una partizione da 315 MB nel punto / dev / sdc1 chiamata EFI System e una partizione da 4 TB nel punto / dev / sdc2 chiamata Hard Disk da 4.0 TB. Qualsiasi aiuto per risolvere questa catastrofe sarebbe apprezzato.

spiegazione in dettaglio: ho scoperto che il disco rigido che contiene tutte le immagini dei miei figli stava andando in crash mentre era in procinto di capire che il disco esterno non stava eseguendo il backup con il resto del mac. Vedo molti più file sul disco rigido sotto Linux, poi su Mac e quindi sto usando Linux per fare il trasferimento. Ho fatto un paio di tentativi per estrarre tutti i 600 GB di contenuto dall'unità: 1) Un aereo cp dell'unità si guasta (e si schianta la scatola di Linux) quando viene colpito un settore danneggiato. 2) Uno script basato su bash che ha copiato immagini e filmati dall'unità ma non fa un buon lavoro nel mostrarmi cosa succede se qualcosa è mancato

Nel tentativo di migliorare i risultati da 2 ho tentato di passare a 3 che utilizza mv anziché cp per trasferire i file in modo da poter visualizzare ciò che è stato perso. mv richiede l'accesso RW che ha portato alla domanda sopra.

Aggiornamento : sto provando dd (dopo un altro tentativo fallito), la velocità di trasferimento è inferiore a 300kB / s (credo che sia in una brutta posizione) e poiché ci sono 400 gB di dati ci vorrà del tempo prima di vedere se ha funzionato. L'ultimo passaggio attraverso il disco ha richiesto ~ 5 giorni.

Aggiornamento finale : ho su dd dato che si stava trasferendo a Kb / s senza modifiche per un periodo di 3 giorni e non avrei mai finito i 400 GB di dati. Alla fine è tornato alle utility Mac che sembrano aver resuscitato l'unità abbastanza a lungo da estrarre i file.

Risposte:


0

Non sono sicuro che questi aiuteranno, ma comunque:

Un'alternativa a cp e mv è "rsync", che potrebbe essere migliore di mv almeno.
http://www.thegeekstuff.com/2010/09/rsync-command-examples/
fornisce alcuni esempi

Se hai lo spazio per i dati, potresti provare

sudo dd conv = noerror, sincronizza if = / dev / sdx di = FILENAME
o anche
sudo dd conv = noerror, sincronizza if = / dev / sdx | gzip --fast --stdout> FILENAME.gz

Entrambi dovrebbero consentire di ottenere i dati dall'unità - con una sola lettura, per tentativi di recupero successivi - non sono sicuro di quanto sia facile. Nota che "noerror" continuerà a superare gli errori di lettura, "sync" lo riempie in pezzi che non erano modificabili con dati azzerati (necessario per non interrompere tutto ciò che viene dopo).


Sembra che la sintassi di dd su linux sia più simile a questa: sudo dd if = / dev / sdx of = FILENAME conv = noerror, sincronizza apparentemente i file di sincronizzazione in errori con zeri. L'ho trovato qui hints.macworld.com/article.php?story=20050302225659382 (il link ne parla su OSX ma la stessa sintassi gira sotto Ubuntu.
Paul Dickson

Ah, troppo veloce su quello, rimediato sopra.
Hannu,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.