Davanıza tam olarak uyan bir cevap eklemek için, cevabımı " kopya " bağlantısında biraz değiştirdim ve tekrar buraya gönderdim.
İkincisi ve dahili diskinizin üçüncü bölümü yanlış bölüm türünü aldı, verileriniz muhtemelen kaybolmayacak.
Önyüklenebilir bir OS X bölümü (Recovery HD hariç) ya standart bir OS X bölümü için GUID 48465300-0000-11AA-AA11-00306543ECAC ya da CoreStorage bölümü için GUID 53746F72-6167-11AA-AA11-00306543ECAC'ye sahiptir. FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFFF, bilinmeyen bir bölüm türüdür (ancak 000000-0000-0000 ... bir gibi bölüm yoktur ).
Standart bir OS X bölümünün ilk bloğu sıfır içermez, CoreStorage bölümünün ilk bloğu bazı sıfır içermez. Bir bölümün ilk 3 bloğunu almak için hexdump / xxd yerine kullanmanız gerekir (her ikisi de Kurtarma Modu / OS X Yükleyici önyükleme sürücüsünde mevcut değildir). Bulduğum en iyi şey dd if=/dev/diskXsY count=3 | vis -c
.
GUID bölüm tablosu ile değiştirilebilir gpt
. gpt, yalnızca bir diskin ilk 5 ve son 33 bloğuna (512) veya bir 4k diskin ilk 6 ve son 5 bloğuna yazar. Bölümleme tablosu (hatta yanlış) değiştirme, diskinizdeki herhangi hacminin içeriğini değiştirmez eğer sen ilklendir yok ya isteği ile bir hacim / diski onarmak. Yine de doğrulayabilirsiniz.
- Internet Recovery Mode veya bir OS X Installer önyükleme sürücüsüne önyükleme yapın
- Menü çubuğundaki Terminal'i açın Utilities> Terminal
- İle genel bakış alın
diskutil list
Önceki komutta bulunan disk tanımlayıcıyla dahili diskinize bir genel bakış alın. Aşağıda, iç diskinizin disk tanımlayıcısının disk0 olduğunu kabul ediyorum (ortamınızda bulduğunuzla değiştiriniz)
gpt -r show disk0
- Disk0 ile bağlantısını kes
diskutil umountDisk disk0
FFFF ... bölümünün ilk 3 bloğu karşısında:
dd if=/dev/disk0s2 count=3 | vis -c
Önceden standart bir bölümünüz varsa, ilk 1024 Bayt yalnızca yazdırılamaz (sıfır) içeriyorsa: \ 0 \ 0 ... ~ Bayt 1030'da şu sırayı göreceksiniz: \ 0HFSJ \ 0
Bir CoreStorage bölümünüz varsa, ilk 512 Bayt'ta bazı sıfır olmayanlar ve CS ( ...\0CS\^A...
) dizgisi gösterilir:
\^U\^D\^A\M-s\M^?\M^?\M^?\M^?\^A\0\^P\0\0\0\M-W\^A\a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\^B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\M^Pu\M-\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0CS\^A\0\0\0\^D\0\0\^P\0\0\0\0@\0X\M-7}\^C\0\0\0\0X\M-;}\^C\0\0\0\0X\M-?}\^C\0\0\0\0X\M-C}\^C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\^P\0\0\0\^B\0\0\0006j v\^R\M-+\^U\M^[\f\M^CdG\M-y\^]...
Şimdi üçüncü, dördüncü ve ikinci bölümleri kaldırın:
diskutil umountDisk disk0
gpt remove -i 3 disk0
diskutil umountDisk disk0
gpt remove -i 4 disk0
gpt remove -i 2 disk0
Eğer "kaynak meşgul" gibi bir hata mesajı alırsanız, sadece diski tekrar çıkartın veya inatçı hacimleri çıkarın diskutil umount disk0sX
.
Kurtarma bölümünü uygun tipte fakat aynı indeks numarasıyla tekrar ekleyin, başlangıç bloğu ve daha önce sahip olduğu boyut:
gpt add -i 3 -b 227212504 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk0
Ana bölümü uygun tipte fakat aynı indeks numarasıyla tekrar ekleyin, başlangıç bloğu ve daha önce sahip olduğu boyut:
Normal bir OS X bölümü ( dd ... vis
adımdaki normal bölümün tipik izlerini bulmuşsanız ):
gpt add -i 2 -b 409640 -s 226802864 -t 48465300-0000-11AA-AA11-00306543ECAC disk0
veya (bir CoreStorage bölümünün tipik izlerini bulduysanız):
gpt add -i 2 -b 409640 -s 226802864 -t 53746F72-6167-11AA-AA11-00306543ECAC disk0
Standart bir OS X bölümü bulduysanız, diskiniz nihayet böyle görünmelidir:
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 226802864 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
227212504 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
228482040 8496103
236978143 32 Sec GPT table
236978175 1 Sec GPT header
ya da bu, eğer bir CoreStorage hacmi bulmuşsanız:
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 226802864 2 GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
227212504 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
228482040 8496103
236978143 32 Sec GPT table
236978175 1 Sec GPT header
Sonunda diski diskutil verifyDisk disk0
ve / veya ile doğrulayın / onarın diskutil verifyVolume disk0s2
. Onarım gerekliyse, yukarıdaki komutlarda önek olarak onarım (doğrulama yerine) kullanın, ancak onarımdan önce benimle iletişime geçin ve hata mesajını gönderin .
TeamViewer oturumları aracılığıyla yapılan diğer araştırmalar, EFI bölümünün ve Recovery HD bölümünün bozuk olduğunu ortaya koydu. Ana birim şifrelenmiştir. Recovery HD, o zaman özel bir ara FileVault anahtarı içeriyor. Anahtar eksikse, ana sistem önyükleme yapmaz. Yine de sürücünün kilidini açmak mümkündü diskutil cs unlockVolume ...
.
Başparmak sürücüye tam bir macOS yükledikten ve başlattıktan sonra, FileIguult olmayan başka bir sürücünün (aslında Sierra VM'nin sürücüleri) EFI bölümü ve Kurtarma HD'si bozuk sürücüye kaydedildi. Hala sürücüden önyüklenen FileVault birimi, Finder'daki birime sağ tıklayıp "Birimin şifresini çöz" seçeneğini seçip geçerli bir kullanıcı şifresi girerek standart bir birime geri döndü. Bu, FileVault birimindeki uygun bir kullanıcı hesabının parolası olmalıdır. Birimin şifresini çözmek için diskutil cs revert lvUUID
veya diskutil cs decryptVolume lvUUID
yalnızca sanal makinede test edilen diğer yöntemler de işe yaramadı. Bu olsa VM'lerin bir kısıtlaması olabilir.
Ana bölümü (disk0s2) tam boyuta genişletmek için, Disk Yardımcı Programını veya diskutil resizeVolume ...
komutu kullanın.
Birim başlangıçta Sistem Tercihleri> Başlangıç altDiski'nde görünmüyordu , ancak Mac'in başlatılması ana birimi ortaya çıkardı. Bu muhtemelen birimin boot.efi'sini düzgün bir şekilde yeniden kutsadı. (Şimdi standart) birim, Başlangıç Disketinde tekrar görünür.