Bagaimana cara memperbaiki partisi EFI yang rusak?

24

Saya memiliki iMac yang menjalankan OSX Lion. Saya juga menginstal bootcamp dan Windows 7. Selama instalasi Windows 7 saya tidak memperhatikan sepenuhnya dan menghapus dan memformat partisi EFI.

Saya tidak benar-benar menyadari pentingnya ini karena mesin terus bekerja dengan baik, mem-boot keduanya ke Windows dan OSX.

Saya memang memperhatikan bahwa pembaruan firmware EFI gagal untuk menginstal, tetapi tidak mempedulikannya.

Namun sekarang saya ingin menginstal Mountain Lion dan ada banyak masalah. Mountain Lion tidak akan menginstal tanpa partisi EFI yang valid.

Ini tabel partisi saya.

   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                  Apple_HFS EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            799.0 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:       Microsoft Basic Data BOOTCAMP                200.3 GB   disk0s4

Seperti yang Anda lihat, saya sudah memperbaiki partisi EFI dengan perintah berikut:

newfs_hfs -v EFI / dev / disk0s1

Ini sepertinya tidak menciptakan jenis partisi yang benar, itu menciptakan Apple_HFS bukan EFI.

Pertanyaan saya adalah (tanpa memformat disk) bagaimana cara membuat partisi EFI?

Rich terima kasih

Kaya
sumber
Lihat juga jawaban ini untuk mengubah tipe partisi: apple.stackexchange.com/a/342139/14586
mivk

Jawaban:

31

Anda dapat membuat ulang Partisi Sistem EFI (ESP) menggunakan gptalat baris perintah. Itu harus dimulai di sektor 40, dan itu harus 409600 sektor (tepat 200MiB) panjangnya. Jenis entri GPT seharusnya C12A7328-F81F-11D2-BA4B-00A0C93EC93B, dan jika Anda memiliki MBR hibrid, jenisnya harus ada EE. Format ini sebenarnya adalah subset dari FAT, bukan HFS +. Anda dapat membaca GPT menggunakan perintah sudo gpt -r show disk0di jendela Terminal, ini menghasilkan output yang terlihat seperti ini:

      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  447801712      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
  448211352    1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
  449480888   40753831         
  490234719         32         Sec GPT table
  490234751          1         Sec GPT header

Anda dapat melihat partisi EFI yang benar di indeks 1. Jika baris itu tidak sama persis, cara termudah adalah menghapus partisi di tempatnya dan membuatnya kembali.

Pastikan Anda tahu apa yang Anda lakukan sebelum melanjutkan dari sini - Anda mungkin kehilangan data jika Anda mengacaukannya.

Anda tidak dapat mengedit tabel partisi menggunakan gptsaat partisi pada drive dipasang, jadi Anda harus boot dari drive lain (misalnya stik USB dengan penginstal OSX) atau menjalankan mac dalam mode disk target dan melakukan partisi dari mac lain. Anda mungkin perlu meng-unmount volume yang dipasang secara otomatis menggunakan diskutil unmountDisk disk0sebelum melanjutkan, dan di antara perintah .

Untuk menghapus partisi EFI "buruk" Anda, jalankan perintah ini:

sudo gpt remove -i 1 disk0

Pastikan disk0 benar-benar disk yang ingin Anda ubah - jumlahnya dapat berubah di antara reboot. Juga, ini hanya akan berfungsi jika Anda sudah memiliki partisi non-ESP di tempat ESP - jika tidak, menghapus partisi 1 bisa menjadi bencana! Dalam hal ini, Anda harus memindahkan indeks, karena saya pikir ESP harus memiliki indeks 1. Dengan suara itu, ini tidak akan diperlukan dalam kasus Anda.

Setelah dihapus, tambahkan kembali partisi dengan tata letak dan jenis yang benar:

sudo gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk0

Ini harus memilah partisi itu sendiri, tetapi karena Anda telah membuat partisi HFS di tempatnya, Anda perlu memperbaiki formatnya juga.

Format Partisi Sistem EFI didokumentasikan oleh Apple di sini . Seperti yang Anda lihat, mereka merekomendasikan Anda mengkloning ESP yang sudah ada daripada membuat ulang sistem file dengan newfs_msdos. Jika Anda memiliki drive eksternal dengan tabel partisi GPT (OSX install stick seharusnya memilikinya), Anda dapat mengkloningnya.

Pastikan Anda memiliki nomor disk dan partisi dengan benar atau Anda dapat menimpa data:

Jika disk1 adalah drive eksternal Anda, dan itu berisi ESP sebagai partisi pertama (disk1s1) dan disk0 adalah drive yang ESP-nya (disk0s1) ingin Anda perbaiki, jalankan perintah ini:

sudo dd if=/dev/disk1s1 of=/dev/disk0s1

Ini akan menyalin setiap blok ESP disk1 dan menimpa blok yang sesuai di ESP disk0 dengannya.

Atau, ikut bertaruh dengan newfs_msdos.

pmdj
sumber
Terima kasih atas balasan yang sangat detail. Saya akhirnya berhasil memperbaiki masalah saya menggunakan iParition. Namun membaca metode Anda, tampaknya metode yang tepat saya cari seandainya tidak ada iParition. Terima kasih lagi, saya menandai ini sebagai jawaban yang benar.
Kaya
Metode ini bekerja sangat baik untuk saya pada 10.6 setelah GParted mengkloning ESP untuk memblokir 2048 pada SSD. Mem-boot disk instal dan mengikuti yang di atas, saya biasa ddmenyimpan ESP hasil kloning dalam file sebelum menghapus, membuat ulang, dan menulis kembali. Terima kasih!
Nick Westgate
Bekerja hebat di mbp saya dengan drive hybrid SSD. EFI ditimpa oleh instalasi grub dan metode ini bekerja dengan sempurna untuk mengembalikannya.
sean_m
Terima kasih telah berbagi. Untuk menyimpan pengetikan, Anda sebenarnya dapat menentukan EFI sebagai tipe partisi daripada GUID: sudo gpt add -b 40 -i 1 -s 409600 -t EFI disk0
1
Bagaimana saya bisa mengubah indeks partisi sehingga ESP bisa berada di indeks 1?
addison
3

Coba ini:

  1. Cadangkan drive di mesin waktu.
  2. Mulai ulang, reboot pada disk instalasi Lion.
  3. Pergi ke Disk Utility.
  4. Hapus Partisi.
  5. Hapus HD.
  6. Hapus kembali partisi, kali ini beri nama.
  7. Klik pada HD.
  8. Verifikasi HD untuk mengonfirmasi pesan kesalahan EFI tidak lagi muncul.
  9. Kembali ke layar pemasangan.
  10. Pilih pulihkan dari cadangan.
Neilinc
sumber
2

Solusi yang lebih sederhana ditemukan di sini: /unix//a/174522/182014

Partisi EFI dapat dibuat melalui GParted Live CD / USB :

  • Buat drive 200MB (semua ruang kosong saya di awal):
    • Mengetik: fat32
    • Label: EFI
  • Format itu
  • Atur bendera boot (opsi hanya tersedia setelah pemformatan) menjadi "boot, esp"

masukkan deskripsi gambar di sini

Siap!

Aleksey Kontsevich
sumber
0

Coba iPartition 3 atau lebih tinggi. Buka menu dan tampilkan perangkat sistem. Karena tidak memiliki EFI 200MB, perkecil partisi pertama pada disk semoga sebesar 200MB. Buat partisi baru, lalu di jendela disk inspector ada tab. Anda dapat memilih berbagai jenis sistem file. Cukup pilih Partisi Sistem EFI.

Jesse
sumber
0

Ini memperbaiki masalah bagi saya.

1) Cadangkan partisi Bootcamp menggunakan Winclone

2) Cadangkan drive Mac OSX menggunakan Carbon Copy Clone ke drive eksternal

3) Instal Mountain Lion ke flash drive atau drive eksternal

4) Beli salinan iPartition, unduh ke flash drive atau drive eksternal

5) Reboot sambil menahan tombol Option untuk mendapatkan menu boot

6) Pilih flash atau drive eksternal untuk boot

7) Ekstrak iPartition dan jalankan. Pilih View and Inspector dari menu dropdown.

8) Pilih Bootcamp Partition di bawah tab Partition dan centang dua kotak dalam daftar (Aktif dan Terlihat di Windows) kemudian tutup kotak.

9) Tombol Go harus menyala, jika tidak maka tumbuhkan partisi Bootcamp sedikit. Milik saya adalah 2 TB OSX, 500 GB Windows pada Drive 2,5 TB.

10) Setelah tombol Go ditekan, ia akan mulai memproses; meskipun Anda mungkin harus mematikan proses apa pun yang membuatnya tidak berjalan (Selesai dengan Monitor Aktivitas)

11) Setelah selesai dimatikan dan lepaskan perangkat boot eksternal dan kemudian nyalakan kembali Mac. Itu harus diperbaiki dan boot normal - setidaknya milikku lakukan.

Saya menjalankan iMac 27, 3,2 GHz Intel Core i3 dengan 16 GB RAM dan hard drive 2,5 TB. Sebagian besar item yang terdaftar sudah saya lakukan sebelum menginstal Mountain Lion kecuali untuk cadangan saat ini dari drive Bootcamp. Winclone bekerja meskipun Bootcamp tidak mau boot dan proses pemulihan menghasilkan kesalahan saat menulis MBR. Saya hanya mengabaikan kesalahan dan melanjutkan proses selanjutnya. Rupanya Mountain Lion mengacaukan PMBR atau EFI dan bahkan penerima tidak akan memperbaikinya tetapi apa pun yang dilakukan oleh iPartition; sekarang sudah diperbaiki.

*PENOLAKAN**

Meskipun proses ini mungkin berhasil bagi saya, MUNGKIN TIDAK BEKERJA UNTUK ANDA! SEBAGAI DENGAN PROSES APA PUN YANG MENYEDIAKAN DATA PARTITON DAN BOOT DATA, ANDA BERDIRI KESEMPATAN DATA KEHILANGAN. CADANGAN DRIVE ANDA JIKA ANDA INGIN MENYIMPAN DATA ANDA.

Saya sangat merekomendasikan Carbon Copy Clone untuk mencadangkan partisi OSX karena dapat membuat klon bootable yang saya pernah gagal.

Saya yakin orang lain telah sukses di tempat lain dalam menyelesaikan masalah ini dan menghargai semua orang yang telah memposting apa yang telah mereka lakukan karena membantu saya menyelesaikan masalah ini di iMac saya.

Terima kasih untuk semua orang dan saya harap ini membantu orang lain. (Diposting di Forum Apple) https://discussions.apple.com/message/19220149#19220149

kc5mhb
sumber