Arch Linux'ta HFS + bölümünü bağlama


22

Arch Linux'a bir hfs + bölümü monte etmede bazı sorunlar yaşıyorum.

Çalıştırdığımda sudo mount -t hfsplus /dev/sda2 /mnt/macbu hatayı alıyorum:

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.

Koşu dmesg | tail:

[ 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

Bu bölümü monte etmenin bir yolu var mı?

DÜZENLE :

Kullanma sudo mount -t hfsplus -o ro,loop,offset=409640,sizelimit=879631488 /dev/sda2 /mnt/mackurtulur hfsplus: invalid secondary volume headeriçindedmesg | tail

Yanıtlar:


36

HFS bölümü bir CoreStorage birimine (OS X 10.10'dan beri varsayılan) sarıldığından, HFS biriminin bağlanma olasılığı düşüktür. Durumun böyle olup olmadığını aşağıdakilerin çıktısında doğrulayabilirsiniz fdisk -l: fdisk çıkışı

HFS + biri birim içine 1024 diğeri cihazın sonundan ikincil 1024 olmak üzere iki birim başlığı kullanır . Spesifikasyona göre, bir bölüm monte edilirken ikincil başlığın bölümün ucundan tam olarak 1024 bayt olması beklenir, ancak CoreStorage artık HFS birimini sararak artık durmaz. Sen geçebilir -o sizelimit=Niçin mountelle HFS hacmi boyutu belirtmek ve bu sorunu gidermek için, ama nasıl biri için sihirli değerini alıyor N?

Yardımcı testdiskprogram bölümleri tarayabilir, HFS bölümünün gerçekten nerede bittiğine işaret eder. Dikkatli olun - testdisk'te yanlış seçenekleri seçmek bölüm tablonuza zarar verebilir!

  1. İle TestDisk'i başlatın testdisk /dev/sdXve ardından OKsürücüyü seçmek için
  2. IntelMBR veya EFI GPTGPT biçimli sürücüler için seçin
  3. Tuşuna Analyseve ardındanQuick Search
  4. Birkaç dakika sonra bulunan bölümleri yazdırmalıdır: testdisk sonuçları

    Belirtilen bölüm, daha fdisk -lönce rapor edilen 623463232 sektörünün gerçek bölüm büyüklüğüne çok yakın (ancak biraz daha küçük) görünüyor .

    TestDisk çıktısı sektör kullandığından, HFS birim boyutunu bayt cinsinden almak için bunu sürücünün mantıksal sektör boyutuyla (genellikle 512 veya 4096 bayt) çarpmamız gerekir. HFS birimini monte ederken Nkullanacağımız değer budur -o sizelimit=N.

    Sürücünüzün mantıksal sektör boyutunu bilmiyorsanız, aşağıda gösterilen satırda bildirilen ikinci ilk sayının çıktısını kontrol edin fdisk -l:diskinizin mantıksal sektör boyutunu bulma

  5. qProgramdan çıkmak için birkaç kez basın

  6. Diski takın: mount /dev/sdXn -t hfsplus -o ro,sizelimit=N

3
Kullanıcı edmonde'dan : Bu tarif benim için harika çalıştı, ancak toplam hacim boyutunu hesaplamak için fiziksel sektör boyutunun aksine mantıksal sektör boyutunu (iki sayının ilki, benim durumumda 512'ye karşı 4096) kullanarak değiştirmek zorunda kaldım. Neden olduğundan emin değilim ama harika çalıştı.
fixer1234

Bu benim sorunumu çözdü. Diğer kaynaklar bir kullanarak önerdi offsetbu kombine, ancak kullanarak zaman işi olmadı parametreyi sadece sizelimit bayt sayısı olarak ayarlanmış bile olmayan CoreStorage bölümleri için, bir cazibe gibi çalıştı (* sektörleri bayt)
cdeszaq

Bu benim için işe yaramıyor. İçeri giriyorum mount failed: Unknown error -1ve hiçbir şey girmiyor dmesg. hfspluskesinlikle yüklü.
Dan

+1 mantıksal sektör boyutu kullanılarak düzeltildi
Jake

1
Bu çözüm, OSX'te bu çalışmayı durduran bir güncellemeden sonra benim için iyi çalışıyordu. Başka kimse bu sorunu yaşadı mı? Herhangi bir tavsiye?
Vik

2

Başka bir seçenek de, bir OS X makinesi mevcutsa CoreStorage'dan kurtulmaktır. Bu, eğer kullanıyorsan şifre çözme işleminden de kurtulur ve şifrenin çözülmesi bitene kadar beklemeniz gerekir (güce takılı ve OS X'e, hatta kurtarma işlemine bile önyüklenir).

Akılda olmayan bir diske önyükleme yapmanız gerekir, tercihen internet kurtarma (varsa, yeniden başlatma sırasında command-option-r). Terminali açın ve aşağıdakileri yapın:

diskutil cs list

Çıktı, CoreStorage birimlerinizi göstermelidir ve hepsinden biri, Geri döndürülebilir durumudur. Evet gösteriyorsa, devam etmek için iyi durumda olacaksınız. Sonra koşacaktınız:

diskutil cs revert /dev/ diskXsY

(Burada X, disk numarası ve Y, bölüm numarasıdır).

Daha sonra aynı "diskutil cs list" komutuyla durumunu kontrol edebilirsiniz. Şifrelenmemişse, zaten standart bir GPT bölüm düzenine geri dönmelidir ve Arch'a tekrar monte etmeyi deneyebilirsiniz. Disk İzlencesi'nde yapabileceğinizi değiştirmek isterseniz, yine de günlüğe kaydedilmelidir.

Şifrelenmişse, işlem biraz zaman alacaktır, ancak "diskutil cs list", ilerlemeyi yüzde olarak gösterecektir.

CoreStorage olmayan HFS + diskleri ve bölümleri kendim Arch'a monte ederken sorun yaşamadım. Sonunda verileri taşıdım, ext4 olarak bölümlere ayırdım ve veriyi onlara geri taşıdım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.