Memasang partisi HFS + di Arch Linux

22

Saya mengalami beberapa masalah dengan memasang partisi hfs + di Arch Linux.

Ketika saya menjalankan sudo mount -t hfsplus /dev/sda2 /mnt/macsaya mendapatkan kesalahan ini:

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.

Berlari dmesg | tailmemberi:

[ 6645.183965] cfg80211: Calling CRDA to update world regulatory domain
[ 6648.331525] cfg80211: Calling CRDA to update world regulatory domain
[ 6651.479107] cfg80211: Calling CRDA to update world regulatory domain
[ 6654.626663] cfg80211: Calling CRDA to update world regulatory domain
[ 6657.774207] cfg80211: Calling CRDA to update world regulatory domain
[ 6660.889864] cfg80211: Calling CRDA to update world regulatory domain
[ 6664.007521] cfg80211: Exceeded CRDA call max attempts. Not calling CRDA
[ 6857.870580] perf interrupt took too long (2503 > 2495), lowering kernel.perf_event_max_sample_rate to 50100
[11199.621246] hfsplus: invalid secondary volume header
[11199.621251] hfsplus: unable to find HFS+ superblock

Apakah ada cara untuk memasang partisi ini?

EDIT :

Menggunakan sudo mount -t hfsplus -o ro,loop,offset=409640,sizelimit=879631488 /dev/sda2 /mnt/macmenyingkirkan hfsplus: invalid secondary volume headermasukdmesg | tail

ZuluDeltaNiner
sumber

Jawaban:

36

Kemungkinan volume HFS tidak meningkat karena partisi HFS dibungkus dengan volume CoreStorage (default sejak OS X 10.10). Anda dapat memverifikasi apakah ini masalahnya dengan output dari fdisk -l: keluaran fdisk

HFS + menggunakan dua header volume, satu 1024 ke dalam perangkat dan 1024 sekunder dari ujung perangkat . Sesuai spesifikasi, saat memasang partisi header sekunder diharapkan tepat 1024 byte dari akhir partisi, tetapi dengan CoreStorage yang membungkus volume HFS, itu tidak lagi menjadi masalah sehingga dibatalkan. Anda dapat beralih -o sizelimit=Nke mountuntuk secara manual menentukan ukuran volume HFS dan memperbaikinya, tetapi bagaimana cara mendapatkan nilai ajaib untuk N?

The testdiskutilitas dapat memindai partisi, mengisyaratkan mana partisi HFS benar-benar berakhir. Berhati-hatilah - memilih opsi yang salah di testdisk dapat merusak tabel partisi Anda!

  1. Luncurkan TestDisk with testdisk /dev/sdX, dan kemudian OKuntuk memilih drive
  2. Pilih Inteluntuk MBR atau EFI GPTuntuk drive yang diformat GPT
  3. Tekan AnalyselaluQuick Search
  4. Setelah beberapa saat, itu akan mencetaknya partisi yang ditemukan: hasil testdisk

    Partisi yang ditunjukkan terlihat sangat dekat dengan (tetapi sedikit lebih kecil) daripada ukuran partisi sebenarnya dari 623463232 sektor yang dilaporkan fdisk -lsebelumnya.

    Karena output TestDisk menggunakan sektor, kita perlu mengalikannya dengan ukuran sektor logis drive (biasanya 512 atau 4096 byte) untuk mendapatkan ukuran volume HFS dalam byte. Itulah nilai yang Nakan kami gunakan -o sizelimit=Nsaat memasang volume HFS.

    Jika Anda tidak tahu ukuran sektor logis drive Anda, periksa output dari angka pertama kedua yang dilaporkan pada baris yang ditunjukkan di bawah ini:fdisk -lmenemukan ukuran sektor logis disk Anda

  5. Tekan qbeberapa kali untuk keluar dari program

  6. Pasang disk: mount /dev/sdXn -t hfsplus -o ro,sizelimit=N
Stewart Adam
sumber
3
Dari pengguna edmonde : Resep ini bekerja sangat baik untuk saya, tetapi saya harus men-tweak menggunakan ukuran sektor logis (yang pertama dari dua angka, dalam kasus saya 512 versus 4096) sebagai lawan ukuran sektor fisik untuk menghitung ukuran volume total. Saya tidak yakin mengapa tetapi itu berhasil.
fixer1234
Ini memperbaiki masalah saya. Sumber daya lain yang disarankan menggunakan offsetparameter, yang tidak berfungsi ketika digabungkan dengan ini, tetapi menggunakan hanya sizelimit set ke jumlah byte (byte * sektor) bekerja seperti pesona, bahkan untuk partisi non-CoreStorage
cdeszaq
Ini tidak berhasil untuk saya. Saya masuk mount failed: Unknown error -1dan tidak ada apa-apa dmesg. hfspluspasti dimuat.
Dan
+1 diperbaiki dengan menggunakan ukuran sektor logis
Jake
1
Solusi ini berfungsi dengan baik untuk saya sampai setelah pembaruan pada OSX yang menghentikannya. Apakah ada yang mempunyai masalah ini juga? Ada saran?
Vik
2

Pilihan lain adalah menyingkirkan CoreStorage jika mesin OS X tersedia untuk Anda. Ini juga akan menghilangkan dekripsi jika Anda menggunakannya dan Anda harus menunggu sampai dekripsi selesai (dicolokkan ke daya dan boot ke OS X, bahkan pemulihan).

Anda perlu mem-boot ke disk yang tidak ada dalam pikiran, lebih baik pemulihan internet (jika tersedia, opsi-perintah-r saat reboot). Buka terminal dan lakukan:

diskutil cs list

Outputnya harus menunjukkan volume CoreStorage Anda dan semuanya, salah satunya adalah status Revertible-nya. Jika ini menunjukkan Ya maka Anda akan berada dalam kondisi yang baik untuk melanjutkan. Selanjutnya Anda akan menjalankan:

diskutil cs revert /dev/ diskXsY

(Di mana X adalah nomor disk dan Y adalah nomor partisi).

Anda dapat memeriksa statusnya setelah itu dengan perintah "diskutil cs list" yang sama. Jika tidak dienkripsi, seharusnya sudah kembali ke tata letak partisi GPT standar dan Anda dapat mencoba memasang kembali di Arch. Itu masih harus dijurnal yang akan membuatnya hanya baca, jika Anda ingin beralih bahwa Anda dapat melakukannya di Utilitas Disk.

Jika dienkripsi prosesnya akan memakan waktu tetapi "daftar diskutil cs" akan menunjukkan kepada Anda kemajuan sebagai persentase.

Saya tidak punya masalah pemasangan drive dan partisi non-CoreStorage HFS + di Arch sendiri. Saya akhirnya memindahkan data, partisi ulang sebagai ext4 dan memindahkan data kembali kepada mereka.

Cory T
sumber