Ripari Time Machine sparsebundle che non monterà più


24

Ho incasinato il mio backup di Time Machine in qualche modo. Non sono più in grado di montare il file sparsebundle poiché viene visualizzato un errore che indica che non esistono file system montabili.

Ho usato il comando hdiutil per allegare il file sparsebundle:

hdiutil attach -nomount -readwrite flattop.sparsebundle

che ha prodotto i seguenti / dev / dispositivi:

/dev/disk2              Apple_partition_scheme
/dev/disk2s1            Apple_partition_map
/dev/disk2s2            Apple_HFSX

Successivamente ho eseguito il comando fsch_hfs per controllare il volume principale (/ dev / disk2s2):

fsck_hfs -drf /dev/disk2s2

Ciò ha comportato l'avviso che il volume dei backup di Time Machine è danneggiato e deve essere riparato:

Unable to open block device /dev/disk2s2: Permission deniedjournal_replay(/dev/disk2s2) returned 13
** /dev/rdisk2s2 (NO WRITE)
    Using cacheBlockSize=32K cacheTotalBlock=32768 cacheSize=1048576K.
   Executing fsck_hfs (version diskdev_cmds-540.1~34).
Non-empty journal:  start = 66310144, end = 94912512
   Journal need to be replayed but volume is read-only
** Checking Journaled HFS Plus volume.
** Detected a case-sensitive volume.
   The volume name is Time Machine Backups
** Checking extents overflow file.
   Unused node is not erased (node = 3568)
   Unused node is not erased (node = 3574)
   Unused node is not erased (node = 3575)
** Checking catalog file.
** The volume Time Machine Backups was found corrupt and needs to be repaired.
    volume type is pure HFS+ 
    primary MDB is at block 0 0x00 
    alternate MDB is at block 0 0x00 
    primary VHB is at block 2 0x02 
    alternate VHB is at block 2865568974 0xaacd1cce 
    sector size = 512 0x200 
    VolumeObject flags = 0x07 
    total sectors for volume = 2865568976 0xaacd1cd0 
    total sectors for embedded volume = 0 0x00 

Come puoi vedere c'è anche un errore che dice "Impossibile aprire il dispositivo a blocchi / dev / disk2s2: autorizzazione negatajournal_replay (/ dev / disk2s2) restituita 13".

Pensavo che ciò potesse essere dovuto al fatto di non eseguire il comando fsck_hfs come su, quindi l'ho provato con sudo ma questo ha avuto lo stesso risultato.

Il mio file sparsebundle si trova su un NAS Synology DS408 ed è in esecuzione senza problemi da circa 2 anni :(

Qualcuno ha idea di come andare oltre?

Cordiali saluti, Niels R.

AGGIORNAMENTO: Come sospettavo mentre scrivevo questa domanda, probabilmente ho un problema con le autorizzazioni di lettura / scrittura. Ora vedo apparire il volume in Utility Disco e quando faccio clic su "Verifica" ottengo il seguente output:

Verifying volume “Time Machine Backups”
Checking file systemJournal need to be replayed but volume is read-only
Checking Journaled HFS Plus volume.
Detected a case-sensitive volume.
Checking extents overflow file.
Unused node is not erased (node = 3568)
Checking catalog file.
Keys out of order
The volume Time Machine Backups was found corrupt and needs to be repaired.
Error: This disk needs to be repaired. Click Repair Disk.

Posso semplicemente chmod il file sparsebundle per impostare le giuste autorizzazioni?

Risposte:


26

Ho un commento su come provare e riparare errori sparsebundle basati su NAS sul mio blog . In sintesi:

  1. hdiutil attach -nomount -noverify -noautofsck /Volumes/{name of your disk}/{name of}.sparsebundle

    Vedrai quindi qualcosa di simile

    /dev/diskx Apple_partition_scheme
    /dev/diskxs1 Apple_partition_map
    /dev/diskxs2 Apple_HFSX
    

    Dove x è l'id del disco per il disco esterno. x potrebbe essere 2, 3, 4 o superiore. Sei interessato a quello con l'etichetta Apple_HFSX o Apple_HFS.

  2. fsck_hfs -drfy /dev/diskxs2 utilizzando qualsiasi dispositivo pertinente si trovasse nel passaggio 1.

    Spero che alla fine vedrai

    Il volume è stato riparato correttamente

  3. hdiutil detach /dev/diskxs2


Tuttavia, dal momento che OS X 10.6.3, Time Machine rifiuterà di scrivere su un volume di destinazione che non supera la sua verifica. Anche se il processo sopra riportato riesce a ripristinare il backup, potrebbe essere necessario rimuovere i segni neri che Time Machine ha scritto quando la verifica non è riuscita.

  1. Sblocca lo sparsebundle

    chflags -R nouchg /Volumes/{name of your disk}/{name of}.sparsebundle
    
  2. Riportalo nella posizione originale

    mv /Volumes/{name of your disk}/{name of}_YYYY-MM-DD.sparsebundle /Volumes/{name of your disk}/{name of}.sparsebundle
    
  3. Nella directory di livello superiore dello sparsebundle, modifica il file com.apple.TimeMachine.MachineID.plist.

    • Rimuovere

      <key>RecoveryBackupDeclinedDate</key>
      <date>{whatever-the-date}</date>
      
    • Modificare

      <key>VerificationState</key>
      <integer>2</integer>
      

      a

      <key>VerificationState</key>
      <integer>0</integer>
      

3
La chiamata a fsck_hfsrestituire: Impossibile aprire il dispositivo a blocchi / dev / disk7s2: Risorsa busyjournal_replay (/ dev / disk7s2) restituito 16
Stefan Müller,

3
fsck_hfs -drfy / dev / disk2s2 Impossibile aprire il dispositivo a blocchi / dev / disk2s2: autorizzazione negatajournal_replay (/ dev / disk2s2) restituita 13 ** / dev / rdisk2s2 (NO WRITE)
malhal

Queste istruzioni non hanno funzionato per me, ma il collegamento di Christian L ha funzionato.
Malhal,

Questo ha risolto il problema per me, grazie! Ecco l'output dall'esecuzione dei comandi (per renderlo più ricercabile) gist.github.com/oleander/d3d37a46940d0ac4b538da62e0745601 Suggerimento professionale: non eseguire i comandi precedenti su Wi-Fi (802.11n, 200Gb). Ho provato prima e ho dovuto interrompere dopo 30h +. Finì per usare un cavo ethernet, che "solo" impiegava 2 ore.
Linus Oleander,

1
Se fsck_hfs dice che non è possibile riparare provare diskutil repairVolume / dev / disk2s2
malhal

6

Gli attributi estesi sullo sparsebundle potrebbero impedire la scrittura sul file:

Correre

chflags -R nouchg flattop.sparsebundle

Ma attenzione, lo sparsebundle potrebbe essere stato protetto perché è veramente rotto.


Se è veramente rotto, c'è qualcosa da perdere? Comprendo che l'unica altra opzione è cancellarla e avviare un nuovo backup.
Matt,

4

Non è così semplice come Chmod. In primo luogo, sembra che 10.5 / 10.6 / 10.7 presentino differenze minori nel modo in cui viene gestito un bundle sparse. In secondo luogo, le bandiere e lo stato sporco / cattivo di un pacchetto sparse sono memorizzati altrove. Terzo, potrebbe essere necessario attaccare il pacchetto sparso stesso, non il filesystem contenuto all'interno.

La soluzione migliore è lasciare che Utility Disco si rompa nel riparare l'immagine prima di guardare il filesystem incorporato. Funziona sia sul bundle che sul filesystem, oltre a sapere come Apple ha archiviato le cose.

I dettagli del bundle sono proprietari o difficili da discernere dai documenti per sviluppatori - e non è certamente qualcosa che altre utility di terze parti sono desiderosi di risolvere a questo punto. Finché stai usando una versione uguale o più recente di Utility Disco rispetto al Mac che ha effettuato i backup, dovresti andare bene. Una volta che hai rinunciato a Utility Disco - potresti provare qualcosa come Drive Genius o Disk Warrior - ma continuerei con lo strumento di Apple se speri di riutilizzare questo bundle.

La natura dei bundle sparsi - in particolare i collegamenti reali e il concetto che non è compattato quando i file vengono eliminati, c'è molto lavoro da fare . DiskUtility è stato eseguito per due settimane e non ho ancora completato un passaggio di riparazione su un archivio di dimensioni pari a 800 MB.

In pratica, potrebbe essere meglio tornare a una versione precedente del NAS se ha snapshot o è eseguito il backup stesso. Alla fine - se ci sono errori che fsck / Disk Utility non possono correggere, il tuo pacchetto sparse verrà contrassegnato come non valido e verrà bloccato. Puoi quindi leggere le cose, ma non scriverle mai più. Verifica se riesci a connettere una macchina all'archiviazione e correggere le cose (le connessioni DAS o ad alta velocità sono migliori, come è l'ideale una macchina che può avere il tempo di riparare le cose e non riavviarsi)

Buona fortuna - questo potrebbe non essere recuperabile dai dettagli forniti.


1

La risposta di @ Garth non ha funzionato per me. Ho dovuto aggiungere l' -readwriteopzione a hdiutilper farlo funzionare per la mia immagine crittografata. Senza questa opzione, hdiutilnon richiede la password.

Al passo fsck, ho incontrato a Disk full error. Per risolvere il problema, ho usato l' resizeopzione per ingrandire la dimensione dell'immagine prima di eseguire fsck.

Ecco i comandi che ho usato per risolverlo:

# chflags -R nouchg MyImage.sparsebundle

# hdiutil attach -nomount -noverify -readwrite -noautofsck MyImage.sparsebundle
Enter the password to access „MyImage.sparsebundle“: 
/dev/disk2              GUID_partition_scheme           
/dev/disk2s1            EFI                             
/dev/disk2s2            Apple_HFS                       

# hdiutil resize -size 1.5t MyImage.sparsebundle
Enter the password to access „MyImage.sparsebundle“: 

# fsck_hfs -drf /dev/disk2s2
** Checking Journaled HFS Plus volume.
** Detected a case-sensitive volume.
   The volume name is Time Machine-Backups
** Checking extents overflow file.
** Checking catalog file.
** Rebuilding catalog B-tree.
…

# hdiutil detach /dev/disk2s2

Come spiegato nelle altre risposte, il percorso del dispositivo può variare, quindi invece di disk2s2utilizzare il disco stampato dal hdiutil attachcomando. Inoltre, è necessario il resizepassaggio solo se è stato visualizzato Disk full errordurante l'esecuzione del fsck_hfscomando. Inoltre, al posto del mio 1.5tdovresti inserire una nuova dimensione ragionevole che è leggermente più grande della tua dimensione attuale dell'immagine (controlla con du -hs MyImage.sparsebundle).


Grande ma ho dovuto staccare prima di ridimensionare altrimenti hdiutil: ridimensionare: fallito. Risorsa temporaneamente non disponibile (35)
malhal il

0

Ho un NAS Syology e ho riscontrato l'errore NO-WRITE durante il tentativo di eseguire la correzione, ma mi sono imbattuto in questa versione ottimizzata che mi ha salvato la pancetta.

http://tonylawrence.com/blog/2012/08/11/fixing-corrupted-time-machine-backups/


2
Benvenuti a chiedere diverso! Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il collegamento come riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia.
grg

Anche io non mi scrivevo, queste erano le uniche istruzioni che funzionavano per me e ho provato tutte le altre.
Malhal,

0

Se si esegue il backup di un'immagine del disco bundle sparsa su una macchina e si tenta di aprirla su un'altra, è possibile che venga visualizzato il messaggio di errore "Nessun file system montabile", soprattutto se i nomi utente dei proprietari differiscono tra le due macchine.

La mia soluzione stava copiando il bundle sul mio disco locale ed era in esecuzione

sudo chown -R MyUserName nonmounting.sparsebundle

su di essa.

Dopo ciò si aprì bene e tutto andò bene per il mondo.


0

Ho fatto tutti i passaggi precedenti ma dopo un po 'non è stato possibile riparare l'immagine usando fsck_hfs o hdutil, molti errori relativi a thread o nodi danneggiati.

Ciò che ha funzionato per me è stato:

  1. (Opzionale) Collegare un'unità USB esterna da 1 TB formattata con Jornaled HFS.
  2. (Facoltativo) In Airport Utility, vai su Time Capsule Disks -> Archive Disk nell'unità collegata a Time Capsule tramite USB. Mi ci sono volute 12 ore per 600 GB.

  3. hdiutil attach -nomount -noverify -noautofsck /Volumes/DISK/MyFile.sparsebundle

  4. Quindi il disco era visibile usando DiskWarrior . Nella scheda Directory, fare clic su Ricostruisci . Ci sono voluti circa 1 ora.

Una volta risolto, ho potuto finalmente montare e fare il backup dei miei file.

Fai clic su Ricostruisci


Ottengo questo: "DiskWarrior ha creato con successo una nuova directory per il disco denominata" Time Machine Backups ". La nuova directory non può sostituire la directory originale perché il disco è bloccato." sai come sbloccare?
massimo

0

Questo ha funzionato per me:

  • Fare clic con il tasto destro sull'immagine del disco, cambiare "Tutti" per leggere e scrivere.
  • Terminale aperto
  • chmod -R 777 {disk image path}

Apparentemente era un problema di autorizzazioni.

NOTA: QUESTO RENDE IL TUO BACKUP ACCESSIBILE A CHIUNQUE CHE HA ACCESSO FISICO AD ESSO


0

Spero che questo possa aiutare qualcuno.

Sono stato bloccato dal mio account di archivio file legacy dopo un aggiornamento di sicurezza di El Capitan con un errore "nessun file system montabile".

Ciò che ha funzionato nel mio caso è stato l'apertura del file sparsebundle utilizzando "mostra contenuto pacchetto" dal menu a discesa e modificando manualmente l'accesso per "tutti" da "nessun accesso" a "lettura e scrittura" per ciascuno degli elementi allegati. Per la directory "bands" ho usato il comando "applica agli oggetti chiusi" dal menu a discesa.


0

Ho avuto un problema simile con uno sparsebundle ospitato su un computer Windows. Ho provato di tutto in questo e in altri thread, risultando sempre in un errore di file system non montabile (mostrando anche un errore 112).

Il problema era Windows Defender, che rilevava uno dei file nello sparsebundle come un trojan (Trojan: Script / Foretype.A! Ml). Altre persone hanno segnalato qualcosa di simile a falsi positivi, come la cache di Spotify o i file compilati di Rust .

Per risolvere il problema, è sufficiente escludere il file dalla quarantena di Windows Defender e montare di nuovo lo sparsebundle. Ci è voluto troppo tempo, quindi puoi ottenere un output usando questo comando:

hdiutil attach -verbose -debug -mountpoint /mount/path /path/to.sparsebundle

-1

Ho appena avuto lo stesso problema

** /dev/rdisk2s2 (NO WRITE)

quando si tenta di correggere un Cars -undars TM su un QNAP 419II.

Ho "espulso" il supporto TM usando Finder ed eseguito

hdiutil attach -nomount -noverify -noautofsck ...

comando (trovato qui Correggi gli errori di backup basati su NAS Sparsebundle di Time Machine ) di nuovo, che (contrariamente alla prima esecuzione con cui ha stampato "/ dev / disk2s2 Apple_HFSX") questa volta ha dato

/dev/disk1s2            Apple_HFSX  

Verifica del registro di sistema con

tail -f /var/log/fsck_hfs.log

No mostrato

/dev/rdisk1s2: fsck_hfs run at Sun Feb 17 17:53:20 2013
/dev/rdisk1s2: ** /dev/rdisk1s2
/dev/rdisk1s2:    Executing fsck_hfs (version diskdev_cmds-540.1~34).
** Checking Journaled HFS Plus volume.
** Detected a case-sensitive volume.
... LOTS-OF-OUTPUT ...
QUICKCHECK ONLY; FILESYSTEM CLEAN

Tuttavia, la riattivazione di TM ha comunque comportato un messaggio di backup ridotto :(

In bocca al lupo!

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.