Windows’un chkdsk veya başka bir Microsoft aracından, EXFAT birimini içeren cihazınızın bölüm tablosunu hatalı şekilde onarmaktan şüpheleniyorum.
Sonucu sudo gpt -r -vv show /dev/disk2
VM’de oluşturulan ve Disk Utility ile biçimlendirilmiş 4 TB aygıtımın karşılaştırması şuna benziyor:
gpt -r -vv show /dev/disk2
gpt show: /dev/disk2: mediasize=4000655081472; sectorsize=512; blocks=7813779456
gpt show: /dev/disk2: PMBR at sector 0
gpt show: /dev/disk2: Pri GPT at sector 1
gpt show: /dev/disk2: Sec GPT at sector 7813779455
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 2008
411648 7813365760 2 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
7813777408 2015
7813779423 32 Sec GPT table
7813779455 1 Sec GPT header
(Lütfen mediasize'in, blokların ve bazı diğer değerlerin sizinkinden farklı olduğunu düşünün, çünkü burada biraz daha küçük bir örnek disk kullanıyorum.)
Bulmanızdaki farklılıklar açıktır: diskinizin ilk bölümü 4096 bayt sektör boyutuna uygun şekilde hizalanmamıştır ve daha küçüktür. İkinci bölüm çok erken başlar ve muhtemelen çok büyüktür.
Muhtemelen her iki bölümü de düzeltmelisin. Bu, yalnızca sürücüyü Mac OS X'te Disk Utility ile bölümlendirdiyseniz çalışacaktır.
Hazırlık:
Mac'inizi yedekleyin ve ardından tüm harici sürücüleri çıkarın.
İndir ve yükle wxHexEditor . Kök kullanıcısını etkinleştirin ve kök olarak oturum açın.
İpucu: wxHexEditor ile çalışırken kopyala ve yapıştır kullanmayın. Her şeyi manuel olarak girin! Yanlışlıkla doğrudan diskinize yazabilirsiniz.
EXFAT bölümü nerede başlar ve biter?
Öncelikle EXFAT biriminizin başlangıç bloğunu belirlemelisiniz:
Terminal'i açın ve girin diskutil list
. Onarım için diskin tanımlayıcısını alın.
Hesap Makinesi'ni açın. WxHexEditor uygulamasını açın. Salt okunur modda çalıştığınızı kontrol edin ("Seçenekler" - & gt; "Dosya modu" - & gt; "Salt okunur"). Menubar'da "Cihazlar" - & gt; "Disk aygıtını aç" - & gt; uygun diskNumber öğesini seçin.
Arama düğmesine basın (aşağıdaki resimde kırmızı daire ile işaretli) ve EXFAT (aynen resimde olduğu gibi) girin. Lütfen wxHexEditor penceresini aşağıdaki örneklerde olduğu gibi düz kırmızı çizgilerle düzenlemeye çalışın.
EXFAT girişim (aşağıdaki resme bakın) 210763776 numaralı ofsette. Şimdi birimin başlangıç bloğunu şu şekilde hesaplayabilirsiniz: OffsetBytes / 512 = NewStartBlockEXFAT. Benim örneğimdeki başlangıç bloğu 411648.
Önemli ölçüde daha küçük bir başlangıç bloğu (=
EXFAT hacminin bitiş bloğu kolayca belirlenemez; tahmin etmeliyiz (bir şekilde). Sorun, bölüm 2 ile ikinci GPT tablosu arasındaki değişken boşluktur. Senin durumunda 1679 blok var, benim örneğimde 2015 blok var.
Yöntem 1 (EXFAT dizesini ve ikinci GPT tablosunu içeren blok arasındaki "ayrılmamış alanda" maksimum boyut):
Maksimum hacim büyüklüğü StartBlock2ndGPT-NewStartBlockEXFAT'dir. Boyut 8 ile bölünebilir olmalıdır. 8 ile bölünebilir bir boyut elde edene kadar boyutu küçültün.
Örnek: Benim durumumda maksimum boyut 7813779423 (StartBlock2ndGPT) - 411648 (StartBlockEXFAT) = 7813367775 (8 ile bölünemez) olur. En büyük boyut 8'e bölünebilir 7813367768.
Yöntem 2 (EXFAT dizesini içeren blok ile ikinci GPT tablosu arasındaki tüm dolu blokları içeren minimum boyut):
7814037135 (ikincil GPT tablonuzun ilk bloğu) sektörüne atlayabilirsiniz (ok tuşuyla (arama tuşunun solundaki ikinci tuş)) ve geriye doğru ve maç davası devre dışı En son işgal edilen sektörü almak için "Bazı baytları bul" ile. Bu biraz zaman alabilir. Bulgularınızı not edin (eğer makul bir zaman diliminde varsa). Sektör numarasını almak için ofseti 512'ye bölün. Sektör numarası 7814037135'ten küçük olmalıdır. Şimdi hacminizin geçici minimum boyutunu hesaplayın: StartBlockEXFAT + 1-LastOccupiedSector. Sonuç 8 ile bölünebilir olmalıdır. boyut boyutu 8 ile bölünebilir olana kadar blokları ekleyin.
İşlemi sonuçsuz 5 dakika sonra durdurabilirsiniz, çünkü işlemin son işgal edilen blok numarası muhtemelen işlemin 10 MByte / sn (diskinizin son 3 GB'ı) aradığını varsayarak 7807917625'ten daha küçüktür. Yöntem 1'i kullanın o zaman.
Her iki sonuç da muhtemelen EXFAT hacminin yanlış boyutta olmasına neden olur, ancak bu düzeltilebilir olmalıdır. Doğru başlangıç bloğunu elde etmek daha önemlidir. Ek olarak, disk 2 daha önce farklı bir bölüm düzeni kullanarak verilerle tamamen doldurulmuşsa ve daha sonra sıfır doldurulmamışsa, yanlış sonuçlar verebilir.
"Eski" GPT’yi geri yükleme
Burada EXFAT birimini içeren diskin tanımlayıcısının disk0 olduğunu kabul ediyorum.
İlk önce diski sökmeniz gerekir
diskutil umountDisk disk0
Bölüm düzenini kontrol edin, ardından iki bölümü kaldırın:
gpt -r -vv show /dev/disk0
gpt remove -i 2 disk0
gpt remove -i 1 disk0
(Apple-) EFI genellikle sabit bir boyuta sahip olduğundan, kolayca ekleyebiliriz:
gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk0
EXFAT bölümünün ve Boyutunun başlangıç bloğu ile (yukarıdaki Yöntem 1 veya 2 ile bulunan birim boyutu) da ekleyebiliriz:
gpt add -b NewStartBlockEXFAT -i 2 -s Size -t EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 disk0
Disk0 ile şunu yeniden kurun:
diskutil mountDisk disk0
Terminal, Calculator ve wxHexEdit'ten çıkın ve Disk İzlencesi'ni açın.
EXFAT hacminde hata olup olmadığını kontrol edin.
Sorun yaşarsanız (örneğin, uygun EXFAT hacmi boyutunu bulamıyorsanız), hemen şüpheleriniz veya sorularınız varsa hemen benimle iletişime geçin.