Partisi Ubuntu 16.04 dilepas saat membuang sejumlah besar file

0

Saya memiliki dual boot Ubuntu 16.04 / MacOS El Capitan dan partisi bersama dalam format default Mac (HFS +). Dual boot dan pembagian partisi saya berfungsi dengan baik dan saya dapat mengaksesnya dari kedua sisi.

Ketika saya di Ubuntu dan bekerja pada partisi bersama ini (HFS +), file sampah ditransfer dalam folder tempat sampah Ubuntu dan sistem hilang:

  • Saya dapat melihat file di folder tempat sampah tetapi tidak dapat menghapus atau mengembalikannya.
  • Ketika saya menghapus sejumlah besar data (saya bekerja dengan ribuan gambar), partisi secara otomatis dilepas dari sistem Ubuntu saya selama proses penghapusan. Untuk mengaksesnya, saya perlu melakukan pemasangan manual setelah restart atau beralih ke MacOS dan kembali.

Saya mencoba:

  • menghapus file dari baris perintah
  • Kosongkan / pulihkan sampah dari tampilan
  • Bunuh proses sampah dalam menjalankan proses

Adakah yang tahu apa yang menyebabkan masalah dan apa yang bisa saya lakukan untuk memperbaikinya?

hackela
sumber

Jawaban:

1

Pertama, HFS + adalah sistem file non-asli dari perspektif Linux, sehingga beberapa keanehan dengan itu diharapkan. Yang mengatakan, benar-benar melepas sistem file ketika menghapus file melampaui jenis kebiasaan yang saya harapkan, tetapi bisa jadi ini setidaknya bagian dari apa yang terjadi. Jika demikian, dan jika tidak ada saran di bawah ini yang membantu, beralih ke FAT dapat melakukan trik. Meskipun FAT juga bukan asli, drivernya (baik di Linux dan macOS) cukup matang sehingga tidak mungkin menyebabkan masalah seperti itu. OTOH, FAT juga sangat terbatas dibandingkan dengan HFS +, jadi mungkin tidak memadai (seperti jika Anda perlu menyimpan file besar).

Dalam hal apa pun, beberapa masalah spesifik mungkin sedang bekerja di sini:

  • Penjurnalan - Secara default, macOS membuat volume HFS + dengan penjurnalan aktif. Bahkan, default ini tidak dapat dinonaktifkan di versi terbaru macOS saat menggunakan GUI Disk Utility. Namun, penjurnalan kurang didukung di driver HFS + Linux. Jadi, untuk partisi data bersama, yang terbaik adalah menonaktifkan penjurnalan. Sayangnya, saya tidak tahu bagaimana melakukan ini pada volume yang ada; tapi mungkin pencarian Web akan mengubah sesuatu. Jika tidak, atau jika Anda tidak keberatan melakukan juggle backup-reformat-restore, Anda bisa melakukannya. Ketika Anda melakukannya, saya sarankan menggunakan mkfs.hfsplusdi Linux untuk membuat sistem file baru. Untuk membuat filesystem non-journal, Anda akan menghilangkan itu -Jpilihan. (Ketik man mkfs.hfsplusuntuk mempelajari lebih lanjut tentang perintah ini.) Jika perintah tidak diinstal, Anda mungkin perlu menginstalhfsprogspaket. Ada cara baris perintah untuk melakukan ini di macOS, juga; Saya percaya perintahnya newfsatau sesuatu yang serupa. Saya tidak ingat detailnya.
  • ID pengguna terkoordinasi - Secara default, ID pengguna pertama Ubuntu (UID) adalah 1000, sedangkan 501 di macOS. Dengan demikian, ketika Anda mencoba untuk berbagi file pada partisi HFS + di seluruh OS ini, file tersebut akan tampaknya dimiliki oleh pengguna yang berbeda di setiap OS. Meskipun memungkinkan untuk mengatur izin secara longgar atau menggunakan banyak sudountuk memungkinkan berbagi file berfungsi, solusi yang lebih baik adalah mengoordinasikan nilai-nilai UID di kedua instalasi. Jawaban saya untuk pertanyaan inipada AskUbuntu menjelaskan cara melakukan ini di Ubuntu, dan menyediakan petunjuk ke situs lain yang menjelaskan cara melakukannya di macOS. (Membuat perubahan di macOS lebih disukai, tetapi prosesnya lebih membosankan di macOS.) Dalam menyarankan membuat perubahan ini, hipotesis saya adalah bahwa Anda mungkin mengalami masalah izin dan bahwa masalah ini berinteraksi dengan bug filesystem yang menyebabkan filesystem filesystem untuk dilepas.
  • Kesalahan filesystem - Jika filesystem rusak, mungkin menyebabkan kernel unmount secara tiba-tiba. Anda dapat berjalan fsckdi partisi HFS + di Linux, dan itu akan memperbaiki masalah, asalkan hfsprogspaket diinstal. Apple open-source banyak dari kode HFS + mereka, jadi secara teori ini seharusnya cukup identik dengan menjalankan pemeriksaan di macOS; Namun, Apple telah membuat beberapa perubahan pada sistem file mereka akhir-akhir ini, dan saya tidak tahu apakah perubahan-perubahan itu telah berhasil masuk ke dalam paket distribusi Linux, jadi mungkin lebih aman untuk melakukan pekerjaan dari macOS, menggunakan Disk Utility. Jika Disk Utility memberi Anda opsi untuk melakukannya, jangan aktifkan jurnal di partisi, karena alasan yang disebutkan sebelumnya.

Anda mungkin bisa mendapatkan beberapa petunjuk tentang apa yang menyebabkan masalah dengan melihat buffer cincin kernel segera setelah masalah terjadi. Anda dapat melakukan ini dengan mengetik dmesguntuk melihat semuanya, atau dmesg | tailuntuk melihat beberapa baris terakhir. (Anda dapat menambah jumlah baris yang ditampilkan melalui -nopsi menjadi tail, seperti pada dmesg | tail -n 20; atau Anda dapat menggunakan lessdaripada tailuntuk dapat menggulir semuanya). Buffer cincin kernel harusmerekam informasi tentang kegagalan kernel, yang merupakan unmount unmount dari sistem file. OTOH, bisa dibayangkan bahwa apa pun yang menyebabkan unmount bukan benar-benar kegagalan kernel, atau pelaporan kesalahan tidak terjadi karena beberapa alasan. Jika Anda mencoba saran di atas dan itu tidak membantu, tetapi jika buffer cincin kernel menunjukkan sesuatu yang mencurigakan, Anda dapat mencoba memposting detailnya.

Rod Smith
sumber
Terima kasih atas jawaban Anda, Rod Smith, tentang penjurnalan dan ID pengguna, saya awalnya menangani itu dengan menonaktifkan penjurnalan pada makro dan mengatur ID pengguna Ubuntu saya ke 501 untuk mengakses file. Konfigurasi ini telah berfungsi selama berbulan-bulan tanpa masalah, itulah sebabnya saya sedang menyelidiki bug tetapi itu adalah pengingat yang bagus. Saya menjalankan semua perintah debug yang Anda berikan kepada saya tetapi saya tidak menemukan resolusi penyelesaian apa pun. Saya akhirnya memutuskan untuk memformat partisi bersama ini ke / ext4 dan saya akan memberikan hak akses besar ke makro. Ubuntu adalah OS utama saya dan harus menyelesaikan konflik di masa depan.
hackela