Bagaimana cara membaca dan menulis HDD eksternal HFS + yang telah dijurnal di Ubuntu tanpa akses ke OS X?

162

Saya memiliki HFS+ journaledhard drive eksternal dan harus dapat menulisnya di Ubuntu. Saya tidak memiliki akses ke Mac saya, itu ribuan mil jauhnya dan saya tidak akan memiliki akses ke sana selama tiga bulan.

Adakah yang bisa dilakukan tanpa kehilangan data pada HDD?

oppochips
sumber
cajapengguna ubuntu-MATE : Solusi apa pun di bawah yang Anda pilih, melakukan killall caja && caja .akan membantu Anda mendapatkan "berita", bahwa folder tersebut sekarang dapat ditulis.
Frank Nocke

Jawaban:

171

Lihat Cara memasang partisi HFS di Ubuntu sebagai Baca / Tulis? - Pengguna Super

Mengutip dari jawaban kedua / ketiga ke bawah:

Pertama, pastikan Anda telah menginstal hfsprogs. Contoh perintah pemasangan:

sudo apt-get install hfsprogs

Selanjutnya, pasang atau pasang kembali drive HFS +; perintah harus sebagai berikut:

sudo mount -t hfsplus -o force,rw /dev/sdXY /media/mntpoint

atau

sudo mount -t hfsplus -o remount,force,rw /mount/point

...

Akhirnya, jika drive tidak terpasang dengan benar atau telah menjadi rusak sebagian, jalankan fsck.hfsplus ... dengan demikian:

sudo fsck.hfsplus -f /dev/sdXY

Ada tambang emas informasi lain di sana mengenai pemasangan sistem file HFS +.

Richard
sumber
terima kasih, saya akan mencobanya. Info yang saya temukan menunjukkan bahwa ubuntu tidak dapat menangani drive htfs + yang dijurnal, dan mengatakan bahwa itu harus "tidak dijurnal" di OSX. Saya tidak memiliki akses ke OSX selama tiga bulan ke depan dan dengan demikian tidak dapat membalik jurnal.
oppochips
1
Saya mencoba dan mendapatkan sudo mount -t hfsplus -o force, rw / dev / sdb2 / media / sdb2 mount: / dev / sdb2 sudah terpasang atau / media / sdb2 sibuk mount: menurut mtab, / dev / sdb2 sudah terpasang di / media / 1ad12b58-c2f2-39d3-955f-54ea66a96b2b Drive (a hfs + volume yang dijurnal) dipasang sebagai hanya baca. apakah mungkin untuk menulis kepadanya tanpa harus membatalkan penjurnalan di mac os? Saya mencoba perintah terakhir dan mendapatkan ** Memeriksa volume HFS Plus. fsck_hfs: Volume dijurnal. Tidak ada pemeriksaan yang dilakukan. fsck_hfs: Gunakan opsi -f untuk memaksa memeriksa.
oppochips
Dari tautan yang diposting di atas: "Anda harus mematikan penjurnalan jika Anda ingin menulis dari Ubuntu. Ubuntu hanya memiliki dukungan untuk menulis ke volume HFS + yang tidak dijurnal. Pada Mac Anda: Buka Disk Utility di bawah Aplikasi -> Utilitas Pilih volume untuk menonaktifkan penjurnalan aktif. Pilih Nonaktifkan Penjurnalan dari menu File. (Pada versi Mac OS nanti Anda harus menahan tombol opsi ketika Anda mengklik menu File. Atau jika Anda suka Apple + J) "Saya tidak ' t memiliki akses ke mac ,, mungkinkah mendapatkan akses baca dan tulis di drive tanpa kehilangan data? terima kasih b
oppochips
Anda harus mencoba: sudo mount -t hfsplus -o remount,force,rw /dev/sdXY /media/mntpoint(atau tinggalkan /dev/sdXYdan arahkan ke tempat itu saat ini dipasang) sebagai gantinya. Saya akan mengedit ini menjadi jawaban saya.
Richard
1
Terima kasih. Apa yang harus saya letakkan selain "mountpoint"? Saya mencoba sdb2 dan mendapatkan sudo mount -t hfsplus -o remount, force, rw / dev / sdb2 / media / dev / sdb2 mount: mount point / media / dev / sdb2 tidak ada dan kemudian mencoba sudo mount -t hfsplus -o remount, paksa, rw / dev / sdb2 dan dapatkan:
oppochips
30

Langkah-langkah ini cocok untuk saya (Ubuntu Studio 14.04):

sudo apt-get install hfsprogs

Periksa status drive:

sudo fsck.hfsplus -f /dev/sdXY

Lepaskan deivce:

sudo umount /media/sebastian/devicename

(buat folder untuk memasang drive)

Pasang drive dengan izin HFS + baca / tulis:

sudo mount -t hfsplus -o force,rw /dev/sdXY /home/sebastian/foldername
Sebastian Carullo
sumber
3
ini dipasang baik-baik saja sebagai folder, tetapi masih bersifat read-only .... :( ... tampaknya tidak dapat menemukan cara sederhana untuk mendapatkan dengan pembatasan sistem jurnal hfs +
Amphibio
Ini bekerja. Tetapi mengapa kita membutuhkannya force?
qweruiop
3
Saya mendapatkan kesalahan berikut: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.
Jamie Hutber
24

Saya punya masalah ini juga. Saya mencoba fsck.hfsplus,, umountremount dengan sudo mount -t hfsplus -o remount,force,rwtidak ada yang berhasil untuk saya.

Apa yang berhasil bagi saya adalah:

  1. lepas dengan sudo umount /media/myMountPoint
  2. hapus titik mount dengan sudo rmdir
  3. buat kembali titik mount dengan sudo mkdirdan
  4. remount dengan sudo mount -t hfsplus -o force,rw /dev/xxxx /media/myMountPoint

Semoga ini juga bekerja untuk kalian.

bob
sumber
kau telah menyelamatkan hidupku!
Alex Chan
Ini berhasil karena beberapa alasan. Saya tidak tahu kenapa. Direktori itu kosong dan memasangnya sebelum menghapus yang langsung dipasang dengan robahkan dengan force,rw. Menghapus dan menciptakan kembali direktori berhasil.
Umar Ahmad
Alasan di balik '2.' mungkin, bahwa direktori mount point adalah 'pengguna: pengguna'. ( ls -l to verify). In other words: sudo chown -c root: root myMountPoint / `mungkin juga akan memperbaikinya. (unmount sebelum masih diperlukan)
Frank Nocke
Dan berdasarkan pengalaman saya: jika Anda tidak melakukan mount point di bawah /media/<username>/tetapi di tempat lain (saya suka /mnt), Ubuntu MATE yang "pintar" misalnya tidak akan menghapus dan (salah) membuat ulang folder mount Anda berkali-kali. - Lebih mudah untuk skrip mount yang berlangsung ...
Frank Nocke
12

Karena saya tidak bisa berkomentar (tidak cukup reputasi di sini :). Saya akan memposting jawaban ini untuk menunjukkan bahwa jawaban di atas tampaknya untuk hfs + HD yang tidak dijurnal. Perintah 'fsck.hfsplus' perlu dikeluarkan dengan opsi '-f' untuk bekerja pada volume yang dijurnal. Untuk menghindari kebingungan, saya telah menyalin perintah di bawah ini:

$ sudo fsck.hfsplus /dev/sdXY

** /dev/sdXY
[snip....]
** The volume ########### appears to be OK.

Ini hanya akan berjalan pada volume yang belum dijurnal. Bahkan dengan opsi '-f' pada volume journalled pemeriksaan ini dengan sendirinya tidak akan memungkinkan volume remounted dipasang baca / tulis. Saya percaya jurnal harus dimatikan.

Tampaknya tidak ada kode stabil yang tersedia untuk mematikan journalling dari linux. Lihat tautan yang disediakan oleh Richard: http://ubuntuforums.org/showthread.php?t=1420673

Jika penjurnalan dimatikan dan disk pada awalnya mount sebagai read-only unmount dan remounting harus memungkinkan baca / tulis jika disk tidak rusak. Jika rusak maka fsck.hfsplus perlu dijalankan.

Jonathan Gutow
sumber
11

Meminjam dari jawaban sebelumnya, langkah-langkah berikut ini berhasil untuk saya. Semoga ini bermanfaat bagi orang lain:

  1. Tancapkan HDD eksternal.

  2. Perhatikan bahwa Ubuntu memasangnya secara otomatis tetapi hanya-baca.

  3. Lepas drive (Saya melakukan ini hanya dengan mengklik tombol eject di file explorer).

  4. sudo apt-get install hfsprogs

  5. $ sudo fsck.hfsplus /dev/sdXY 
    
    ** /dev/sdXY
    ** Checking HFS Plus volume.
    ** Detected a case-sensitive catalog.
    ** Checking Extents Overflow file.
    ** Checking Catalog file.
    ** Checking multi-linked files.
    ** Checking Catalog hierarchy.
    ** Checking Extended Attributes file.
    ** Checking volume bitmap.
    ** Checking volume information.
    ** The volume ########### appears to be OK.
    

    ( sudo fsck.hfsplus -f /dev/sdXYjika sistem file dijurnal.)

  6. Remount drive (Saya melakukan ini hanya dengan mengklik drive di file explorer).

  7. Drive sekarang baca-tulis.

brianpeiris
sumber
1
Disk yang diberikan di atas benar, tidak mengaktifkan penjurnalan.
akostadinov
2
Saya mengikuti langkah-langkah Anda dan semuanya berfungsi seperti yang diharapkan hingga 6. Tetapi pada 7 drive terus dibaca saja.
Guilherme Salomé