Repair Time Machine sparsebundle yang tidak akan lagi me-mount

24

Saya mengacaukan cadangan Time Machine saya dalam beberapa cara. Saya tidak lagi dapat me-mount file sparsebundle karena saya mendapatkan kesalahan yang menyatakan bahwa tidak ada filesystem mountable.

Saya menggunakan perintah hdiutil untuk melampirkan file sparsebundle:

hdiutil attach -nomount -readwrite flattop.sparsebundle

yang menghasilkan / dev / perangkat berikut:

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

Setelah itu saya menjalankan perintah fsch_hfs untuk memeriksa volume utama (/ dev / disk2s2):

fsck_hfs -drf /dev/disk2s2

Ini menghasilkan pemberitahuan bahwa volume Time Machine Backups rusak dan perlu diperbaiki:

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 

Seperti yang Anda lihat ada juga kesalahan yang mengatakan "Tidak dapat membuka blokir perangkat / dev / disk2s2: Izin ditolakjournal_replay (/ dev / disk2s2) mengembalikan 13".

Saya pikir ini mungkin karena tidak menjalankan perintah fsck_hfs sebagai su, jadi saya mencobanya dengan sudo tetapi ini memiliki hasil yang sama.

File sparsebundle saya ada pada Synology DS408 NAS dan telah berjalan tanpa masalah selama sekitar 2 tahun sekarang :(

Adakah yang tahu bagaimana mengambil langkah ini lebih jauh?

Salam, Niels R.

PEMBARUAN: Seperti yang saya duga saat menulis pertanyaan ini, saya mungkin memiliki masalah dengan izin baca / tulis. Saya sekarang melihat volume muncul di Disk Utility dan ketika saya mengklik "Verifikasi" saya mendapatkan output berikut:

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.

Bisakah saya chmod file sparsebundle untuk mengatur izin yang tepat?

Niels R.
sumber

Jawaban:

26

Saya telah menulis tentang cara mencoba dan memperbaiki kesalahan sparsebundle berbasis NAS di blog saya . Singkatnya:

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

    Anda kemudian akan melihat sesuatu seperti

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

    Di mana x adalah id disk untuk disk eksternal. x mungkin 2, 3, 4 atau lebih tinggi. Anda tertarik pada yang berlabel Apple_HFSX atau Apple_HFS.

  2. fsck_hfs -drfy /dev/diskxs2 menggunakan perangkat apa pun yang relevan yang terletak di Langkah 1.

    Semoga, pada akhirnya Anda akan melihat

    Volume berhasil diperbaiki

  3. hdiutil detach /dev/diskxs2


Namun, sejak OS X 10.6.3, Time Machine akan menolak untuk menulis ke volume tujuan yang gagal verifikasi. Bahkan jika proses di atas berhasil memulihkan cadangan, Anda mungkin masih perlu menghapus tanda hitam yang ditulis Time Machine ketika gagal verifikasi.

  1. Buka kunci sparsebundle

    chflags -R nouchg /Volumes/{name of your disk}/{name of}.sparsebundle
    
  2. Pindahkan kembali ke lokasi aslinya

    mv /Volumes/{name of your disk}/{name of}_YYYY-MM-DD.sparsebundle /Volumes/{name of your disk}/{name of}.sparsebundle
    
  3. Di direktori tingkat atas sparsebundle, edit file com.apple.TimeMachine.MachineID.plist.

    • Menghapus

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

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

      untuk

      <key>VerificationState</key>
      <integer>0</integer>
      
Garth Gillespie
sumber
3
Panggilan untuk fsck_hfskembali: Tidak dapat membuka blokir perangkat / dev / disk7s2: Resource busyjournal_replay (/ dev / disk7s2) mengembalikan 16
Stefan Müller
3
fsck_hfs -drfy / dev / disk2s2 Tidak dapat membuka blokir perangkat / dev / disk2s2: Izin ditolakjournal_replay (/ dev / disk2s2) mengembalikan 13 ** / dev / rdisk2s2 (NO WRITE)
malhal
Instruksi ini tidak berhasil untuk saya tetapi tautan Christian L berhasil.
Malhal
Ini menyelesaikan masalah bagi saya, terima kasih! Inilah output dari menjalankan perintah (untuk membuatnya lebih dapat dicari) gist.github.com/oleander/d3d37a46940d0ac4b538da62e0745601 Kiat pro: jangan jalankan perintah di atas melalui Wi-Fi (802.11n, 200Gb). Mencoba terlebih dahulu dan harus membatalkan setelah 30 jam +. Akhirnya menggunakan kabel ethernet, yang "hanya" memakan waktu 2 jam.
Linus Oleander
1
Jika fsck_hfs mengatakan tidak dapat memperbaiki coba diskutil repairVolume / dev / disk2s2
malhal
6

Atribut yang diperluas pada sparsebundle dapat mencegah penulisan pada file:

Menjalankan

chflags -R nouchg flattop.sparsebundle

Tapi hati-hati, sparsebundle mungkin terlindungi karena benar-benar rusak.

James
sumber
Jika benar-benar rusak, adakah yang hilang? Ini pemahaman saya bahwa satu-satunya pilihan lain adalah menghapusnya dan memulai cadangan baru.
Matt
4

Ini tidak sesederhana chmod. Pertama, tampak bahwa 10.5 / 10.6 / 10.7 semua memiliki perbedaan kecil dalam bagaimana bundel jarang ditangani. Kedua, bendera dan status kotor / buruk bundel disimpan di tempat lain. Ketiga, Anda mungkin perlu menyerang bundel itu sendiri - bukan sistem file yang ada di dalamnya.

Taruhan terbaik Anda adalah membiarkan Disk Utility mengambil celah untuk memperbaiki gambar sebelum Anda melihat sistem file yang tertanam di dalamnya. Ini berfungsi baik pada bundel dan sistem file - serta tahu bagaimana Apple menyimpan berbagai hal.

Rincian bundel tersebut merupakan hak milik atau sulit untuk dilihat dari dokumen pengembang - dan itu jelas bukan sesuatu yang ingin diperbaiki oleh pihak ketiga lainnya pada saat ini. Selama Anda menggunakan Disk Utility versi yang sama atau lebih baru dari mac yang membuat cadangan, Anda harus baik-baik saja. Setelah Anda menyerah pada Disk Utility - Anda dapat mencoba sesuatu seperti Drive Genius atau Disk Warrior - tapi saya akan tetap menggunakan alat Apple jika Anda berharap untuk menggunakan kembali bundel ini.

Sifat bundel jarang - khususnya tautan keras serta konsep bahwa itu tidak dipadatkan ketika file dihapus, ada banyak pekerjaan yang harus dilakukan . Saya telah menjalankan DiskUtility selama dua minggu dan masih belum menyelesaikan perbaikan pada arsip berukuran 800MB.

Dalam praktiknya, Anda mungkin lebih baik kembali ke versi NAS Anda sebelumnya jika snapshot atau dicadangkan sendiri. Pada akhirnya - jika ada kesalahan yang tidak dapat diperbaiki fsck / Disk Utility, bundel jarang Anda akan ditandai sebagai buruk dan akan dikunci. Anda kemudian dapat membaca banyak hal, tetapi tidak pernah menulis lagi. Jangan melihat apakah Anda dapat menghubungkan mesin ke penyimpanan dan memperbaiki hal-hal (DAS atau koneksi kecepatan tinggi lebih baik - seperti mesin yang dapat memiliki waktu untuk memperbaiki hal-hal dan tidak bisa di-boot ulang sangat ideal)

Semoga sukses - ini mungkin tidak dapat dipulihkan dari detail yang Anda berikan.

bmike
sumber
1

Jawaban @ Garth tidak berhasil untuk saya. Saya harus menambahkan -readwriteopsi hdiutiluntuk membuatnya berfungsi untuk gambar terenkripsi saya. Tanpa opsi itu, hdiutiltidak meminta kata sandi.

Pada langkah fsck, saya menemui a Disk full error. Untuk memperbaiki itu, saya menggunakan resizeopsi untuk memperbesar ukuran gambar sebelum menjalankan fsck.

Berikut adalah perintah yang saya gunakan untuk memperbaikinya:

# 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

Seperti yang dijelaskan dalam jawaban lain, jalur perangkat dapat bervariasi, jadi alih-alih disk2s2Anda harus menggunakan disk yang dicetak oleh hdiutil attachperintah. Juga, Anda hanya perlu resizelangkah jika Anda mendapatkan Disk full errorketika menjalankan fsck_hfsperintah. Selain itu, alih-alih saya, 1.5tAnda harus memasukkan ukuran baru yang masuk akal yang hanya sedikit lebih besar dari ukuran gambar Anda saat ini (periksa dengan du -hs MyImage.sparsebundle).

Ortwin Gentz
sumber
Hebat tapi saya harus melepaskan sebelum mengubah ukuran jika tidak hdiutil: ukuran: gagal. Sumberdaya tidak tersedia untuk sementara (35)
malhal
0

Saya memiliki NAS Syologi dan mendapatkan kesalahan NO-WRITE ketika mencoba menjalankan perbaikan tetapi saya menemukan versi tweak ini yang menyelamatkan bacon saya.

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

Christian L.
sumber
2
Selamat Datang di Tanya Berbeda! Meskipun tautan ini dapat menjawab pertanyaan, lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini dan memberikan tautan untuk referensi. Jawaban hanya tautan dapat menjadi tidak valid jika halaman tertaut berubah.
grg
Saya juga tidak dapat menulis, ini adalah satu-satunya instruksi yang bekerja untuk saya dan saya mencoba semua yang lain.
Malhal
0

Jika Anda mencadangkan gambar disk bundel jarang pada satu mesin dan mencoba membukanya di yang lain, Anda mungkin mendapatkan pesan kesalahan "no mountable filesystems", terutama jika nama pengguna pemilik berbeda antara kedua mesin.

Solusi saya adalah menyalin bundel ke disk lokal saya dan berjalan

sudo chown -R MyUserName nonmounting.sparsebundle

di atasnya.

Setelah itu terbuka baik-baik saja dan semua beres dengan dunia.

Fistman Berirama
sumber
0

Saya melakukan semua langkah di atas tetapi setelah beberapa saat gambar tidak dapat diperbaiki menggunakan fsck_hfs atau hdutil, banyak kesalahan yang terkait dengan utas atau simpul yang rusak.

Apa yang berhasil untuk saya adalah:

  1. (Opsional) Hubungkan drive USB 1TB eksternal HFS Jornaled yang diformat.
  2. (Opsional) Di Airport Utility, buka Time Capsule Disk -> Archive Disk ke dalam Drive yang terhubung ke Time Capsule oleh USB. Ini membutuhkan waktu 12 jam untuk 600 GB.

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

  4. Kemudian disk itu terlihat menggunakan DiskWarrior . Pada tab Direktori, klik Bangun Kembali . Butuh sekitar 1 jam.

Setelah diperbaiki saya akhirnya bisa memasang dan mencadangkan file saya.

Klik pada Rebuild

Javier Giovannini
sumber
Saya mendapatkan ini: "DiskWarrior telah berhasil membangun direktori baru untuk disk bernama" Time Machine Backups. "Direktori baru tidak dapat menggantikan direktori asli karena disk terkunci." Anda tahu cara membuka kunci?
maxisme
0

Ini bekerja untuk saya:

  • Klik kanan pada gambar disk, ubah "Semua Orang" untuk membaca dan menulis.
  • Terminal terbuka
  • chmod -R 777 {disk image path}

Tampaknya masalah izin.

CATATAN: INI AKAN MEMBUAT CADANGAN ANDA DAPAT DIAKSES KEPADA SIAPAPUN YANG PUNYA AKSES FISIKA

Kyle
sumber
0

Saya harap ini dapat membantu seseorang.

Saya dikunci dari akun brankas file lawas saya setelah pembaruan keamanan El Capitan dengan kesalahan 'no mountable filesystem'.

Apa yang berhasil dalam kasus saya adalah membuka file sparsebundle menggunakan 'tampilkan isi paket' dari menu drop down dan secara manual mengubah akses untuk 'semua orang' dari 'tidak ada akses' menjadi 'baca & tulis' untuk masing-masing item yang terlampir. Untuk direktori 'band' saya menggunakan perintah 'apply to item terlampir' dari menu drop-down.

p_a
sumber
0

Saya memiliki masalah yang sama dengan sparsebundle yang di-host pada mesin Windows. Saya mencoba semua yang ada di utas ini dan lainnya, menghasilkan selalu kesalahan sistem file yang tidak dapat dipasang (menunjukkan 112 kesalahan juga).

Masalahnya adalah Windows Defender, yang mendeteksi salah satu file di sparsebundle sebagai trojan (Trojan: Script / Foretype.A! Ml). Orang lain melaporkan sesuatu positif palsu yang serupa, seperti cache Spotify atau file yang dikompilasi Rust .

Untuk mengatasi masalah, cukup kecualikan file dari karantina Windows Defender dan pasang kembali sparsebundle. Butuh waktu terlalu lama, sehingga Anda bisa mendapatkan output menggunakan perintah ini:

hdiutil attach -verbose -debug -mountpoint /mount/path /path/to.sparsebundle
David Martínez
sumber
-1

Saya hanya punya masalah yang sama

** /dev/rdisk2s2 (NO WRITE)

ketika mencoba untuk memperbaiki TM-sparsebundle pada QNAP 419II.

Saya "mengeluarkan" TM-mount menggunakan Finder dan jalankan

hdiutil attach -nomount -noverify -noautofsck ...

perintah (ditemukan di sini Memperbaiki Waktu Mesin Sparsebundle NAS Berbasis Backup Kesalahan ) lagi, yang (bertentangan dengan jalankan pertama dengan yang dicetak "/ dev / disk2s2 Apple_HFSX") kali ini ia memberi

/dev/disk1s2            Apple_HFSX  

Memeriksa sys-log dengan

tail -f /var/log/fsck_hfs.log

Tidak menunjukkan

/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

Tidak pernah kurang, mengaktifkan kembali TM masih menghasilkan pesan cadangan saat ini :(

Semoga berhasil!

dergab
sumber