Repair Sparsebundle di Time Machine che non verrà più montato

20

Ho incasinato il mio backup di Time Machine in qualche modo. Non riesco più a montare il file sparsebundle quando ricevo 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 provocato i seguenti dispositivi / dev /:

/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

Questo ha portato a un avviso che il volume dei backup di Time Machine è corrotto e doveva 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 deniedjournal_replay (/ dev / disk2s2) ha restituito 13".

Ho pensato che questo potrebbe essere dovuto a 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 Synology DS408 NAS ed è stato eseguito senza problemi per circa 2 anni: (

Qualcuno ha un'idea su come procedere ulteriormente?

Cordiali saluti, Niels R.

AGGIORNAMENTO: Come sospettavo mentre scrivevo questa domanda probabilmente ho un problema con i permessi di lettura / scrittura. Ora vedo il volume visualizzato nella Utility Disco e quando clicco 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 modificare il file sparsebundle per impostare le autorizzazioni corrette?

    
posta Niels R. 24.07.2011 - 12:30
fonte

9 risposte

23

Ho una descrizione su come provare e riparare gli errori sparsebundle basati su NAS sul mio blog . In breve:

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

    Vedrai qualcosa di simile

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

    Dove x è l'id del disco esterno. x potrebbe essere 2, 3, 4 o più alto. Sei interessato a quello etichettato Apple_HFSX o Apple_HFS.

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

    Speriamo che alla fine vedrai

    The Volume was repaired successfully

  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 fallisce la sua verifica. Anche se il processo sopra riportato riesce a ripristinare il backup, potrebbe essere comunque necessario rimuovere i segni neri che Time Machine ha scritto quando ha fallito la verifica.

  1. Sblocca Sparsebundle

    chflags -R nouchg /Volumes/{name of your disk}/{name of}.sparsebundle
    
  2. Ritorna alla 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 .

    • Rimuovi

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

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

      a

      <key>VerificationState</key>
      <integer>0</integer>
      
risposta data 09.02.2012 - 19:57
fonte
6

Gli attributi estesi su Sparsebundle potrebbero impedire le scritture sul file:

Esegui

chflags -R nouchg flattop.sparsebundle

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

    
risposta data 28.08.2011 - 15:46
fonte
3

Non è così semplice come chmod. Innanzitutto, appare che 10.5 / 10.6 / 10.7 hanno tutte piccole differenze nel modo in cui viene gestito un pacchetto sparse. In secondo luogo, i flag e lo stato dirty / bad di un bundle sparse sono memorizzati altrove. Terzo, potresti dover attaccare il pacchetto sparse stesso, non il filesystem contenuto in.

La soluzione migliore è lasciare che Utility Disco subisca una crepa nel riparare l'immagine prima di esaminare il file system incorporato. Funziona sia sul bundle che sui filesystem, oltre a sapere come Apple ha memorizzato le cose.

I dettagli del pacchetto sono proprietari o difficili da distinguere dai documenti dello sviluppatore - e certamente non è qualcosa che altre utility di terze parti desiderano risolvere a questo punto. Finché stai utilizzando una versione uguale o più recente di Utility Disco rispetto al Mac che ha creato i backup, dovresti stare bene. Una volta che ti sei arreso su Utility Disco - potresti provare qualcosa come Drive Genius o Disk Warrior - ma rimango con lo strumento di Apple se speri di riutilizzare questo pacchetto.

La natura dei pacchetti sparsi - in particolare gli hard link e il concetto che non è compattato quando i file vengono cancellati, c'è un molto lavoro da fare . Ho eseguito DiskUtility 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 alla versione precedente del NAS se ha istantanee o se è stato eseguito il backup stesso. Alla fine - se ci sono errori che fsck / Utility Disco non è in grado di risolvere, il pacchetto sparse verrà contrassegnato come non valido e verrà bloccato. Puoi quindi leggere le cose, ma non scrivere mai più. Verifica se è possibile connettere una macchina all'archivio e correggere le cose (DAS o connessioni ad alta velocità sono migliori - come è una macchina che può avere il tempo di sistemare le cose e non di riavviarsi è l'ideale)

Buona fortuna: potrebbe non essere recuperabile dai dettagli forniti.

    
risposta data 27.09.2011 - 16:58
fonte
0

Ho un Syology NAS e stavo ottenendo l'errore NO-WRITE quando provavo ad eseguire la correzione, ma mi sono imbattuto in questa versione ottimizzata che mi ha salvato il bacon.

link

    
risposta data 26.07.2014 - 15:17
fonte
0

Se esegui il backup di un'immagine di un pacchetto sparse su un computer e provi ad aprirlo su un altro, potresti ricevere il messaggio di errore "nessun file system installabile", specialmente se i nomi utente dei proprietari differiscono tra le due macchine.

La mia soluzione era copiare il pacchetto sul mio disco locale ed eseguire

sudo chown -R MyUserName nonmounting.sparsebundle

.

Dopo che è stato aperto bene e tutto andava bene con il mondo.

    
risposta data 21.10.2014 - 07:04
fonte
0

Ho fatto tutti i passaggi sopra 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 disco USB da 1 TB esterno formattato HFS Jornaled.
  2. (Opzionale) In Airport Utility, vai su Time Capsule Disks - > Archivia il disco nell'unità collegata a Time Capsule tramite USB. Mi ci sono voluti 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, fai clic su Ricostruisci . Ci sono voluti circa 1 ora.

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

    
risposta data 14.10.2017 - 07:52
fonte
0

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

Nel passaggio fsck, ho riscontrato un Disk full error . Per risolvere il problema, ho usato l'opzione resize 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 disk2s2 devi usare il disco che è stampato dal comando hdiutil attach . Inoltre, è necessario solo il passo resize se hai ottenuto il Disk full error durante l'esecuzione del comando fsck_hfs . Inoltre, al posto del mio 1.5t dovresti inserire una nuova dimensione ragionevole leggermente più grande della dimensione attuale dell'immagine (controlla con du -hs MyImage.sparsebundle ).

    
risposta data 31.05.2018 - 19:01
fonte
0

Questo ha funzionato per me:

  • Fai clic destro sull'immagine del disco, cambia "Tutti" per leggere e scrivere.
  • Apri terminale
  • chmod -R 777 {disk image path}

Si trattava apparentemente di un problema di autorizzazioni.

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

    
risposta data 19.08.2018 - 14:45
fonte
-1

Ho appena avuto lo stesso problema

** /dev/rdisk2s2 (NO WRITE)

durante il tentativo di correggere un TM-sparsebundle con curriculum su QNAP 419II.

Ho "espulso" la montatura TM usando il Finder ed eseguo

hdiutil attach -nomount -noverify -noautofsck ...

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

/dev/disk1s2            Apple_HFSX  

Controllo del registro sys con

tail -f /var/log/fsck_hfs.log

Non 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 portato a un messaggio di backup ripristinato: (

Buona fortuna!

    
risposta data 17.02.2013 - 18:17
fonte

Leggi altre domande sui tag