깨진 EFI 파티션을 수정하는 방법?


24

OSX Lion을 실행하는 iMac이 있습니다. 또한 bootcamp와 Windows 7도 설치했습니다. Windows 7을 설치하는 동안 완전히주의를 기울이지 않고 EFI 파티션을 삭제하고 포맷했습니다.

Windows와 OSX로 부팅하면서 컴퓨터가 계속 잘 작동함에 따라 이것의 중요성을 실제로 알지 못했습니다.

EFI 펌웨어 업데이트를 설치하지 못했습니다.

그러나 이제 Mountain Lion을 설치하고 싶을 때 많은 어려움이 있습니다. 유효한 EFI 파티션이 없으면 Mountain Lion이 설치되지 않습니다.

여기 내 파티션 테이블이 있습니다.

   #:                       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

보시다시피 다음 명령을 사용하여 EFI 파티션을 수정했습니다.

newfs_hfs -v EFI / dev / disk0s1

이것은 올바른 유형의 파티션을 생성하는 것 같지 않고 EFI 대신 Apple_HFS를 생성했습니다.

내 질문은 (디스크를 포맷하지 않고) EFI 파티션을 어떻게 만듭니 까?

고마워 리치


파티션 유형을 변경하려면이 답변을 참조하십시오. apple.stackexchange.com/a/342139/14586
mivk

답변:


31

명령 줄 gpt도구를 사용하여 EFI 시스템 파티션 (ESP)을 다시 만들 수 있습니다 . 섹터 40에서 시작해야하며 길이는 409600 섹터 (정확히 200MiB) 여야합니다. GPT 항목의 유형은이어야 C12A7328-F81F-11D2-BA4B-00A0C93EC93B하고 하이브리드 MBR이있는 경우 유형이이어야합니다 EE. 형식은 실제로 HFS +가 아닌 FAT의 하위 집합입니다. sudo gpt -r show disk0터미널 창에서 명령 을 사용하여 GPT를 읽을 수 있습니다. 그러면 다음과 같은 출력이 생성됩니다.

      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

인덱스 1에서 올바른 EFI 파티션을 볼 수 있습니다. 해당 행이 정확하게 일치하지 않으면 가장 쉬운 방법은 파티션을 삭제하고 다시 만드는 것입니다.

여기에서 계속 진행하기 전에 수행중인 작업을 확인하십시오. 엉망이되면 데이터가 손실 될 수 있습니다.

gpt드라이브의 파티션이 마운트되어있는 동안에는 파티션 테이블을 편집 할 수 없으므로 다른 드라이브 (예 : OSX 설치 프로그램이있는 USB 스틱)에서 부팅하거나 대상 디스크 모드에서 Mac을 실행하고 파티션을 수행해야합니다. 다른 맥. diskutil unmountDisk disk0진행하기 전과 명령 사이에서 자동 마운트 된 볼륨을 마운트 해제해야 할 수도 있습니다 .

"나쁜"EFI 파티션을 삭제하려면 다음 명령을 실행하십시오.

sudo gpt remove -i 1 disk0

disk0이 실제로 변경하려는 디스크인지 확인하십시오. 재부팅 사이에 숫자가 변경 될 수 있습니다. 또한 ESP 대신 비 ESP 파티션이 이미있는 경우에만 작동합니다. 그렇지 않은 경우 파티션 1을 삭제하면 재앙이 될 수 있습니다! 이 경우 ESP에 인덱스 1이 있어야한다고 생각하기 때문에 인덱스를 따라 이동해야합니다.

삭제 한 후에 올바른 레이아웃과 유형으로 파티션을 다시 추가하십시오.

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

이렇게하면 파티션 자체가 정렬되지만 대신 HFS 파티션을 만들었을 때 형식도 수정해야합니다.

EFI 시스템 파티션 의 형식은 여기 Apple에 문서화되어 있습니다 . 보다시피,을 사용하여 파일 시스템을 다시 만드는 대신 기존 ESP를 복제하는 것이 좋습니다 newfs_msdos. GPT 파티션 테이블이있는 외부 드라이브가있는 경우 (OSX 설치 스틱에 있어야 함)이를 복제 할 수 있습니다.

디스크와 파티션 번호가 올바른지 확인하십시오. 그렇지 않으면 데이터를 덮어 쓸 수 있습니다.

disk1이 외부 드라이브이고 첫 번째 파티션 (disk1s1)으로 ESP를 포함하고 disk0이 ESP (disk0s1)를 수정하려는 드라이브 인 경우 다음 명령을 실행하십시오.

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

이것은 disk1의 ESP의 모든 단일 블록을 복사하고 disk0의 ESP에있는 해당 블록을 덮어 씁니다.

또는로 도박을하십시오 newfs_msdos.


매우 자세한 답변에 감사드립니다. 결국 iParition을 사용하여 문제를 해결했습니다. 그러나 귀하의 방법을 통해 읽는 것은 iParition이 존재하지 않는 정확한 방법 인 것 같습니다. 다시 한 번 감사드립니다. 정답으로 표시하고 있습니다.
Rich

이 방법은 GParted가 SSD에서 2048을 차단하기 위해 ESP를 복제 한 후 10.6에서 효과적이었습니다. 설치 디스크를 부팅하고 위의 내용 dd을 따라 복제 된 ESP를 파일에 저장하여 삭제, 재 작성 및 쓰기 작업을했습니다. 감사!
Nick Westgate

SSD 하이브리드 드라이브로 내 MBP에서 훌륭하게 작동했습니다. 그럽 설치로 EFI를 덮어 쓰고이 방법을 사용하여 완벽하게 복구했습니다.
sean_m

공유해 주셔서 감사합니다. 입력을 저장하려면 실제로 GUID 대신 EFI를 파티션 유형으로 지정할 수 있습니다. sudo gpt add -b 40 -i 1 -s 409600 -t EFI disk0

1
ESP가 인덱스 1이되도록 파티션의 인덱스를 어떻게 변경합니까?
addison

3

이 시도:

  1. 타임머신에 드라이브를 백업하십시오.
  2. Lion 설치 디스크에서 재부팅하고 다시 시작하십시오.
  3. 디스크 유틸리티로 이동하십시오.
  4. 파티션 지우기.
  5. HD를 지 웁니다.
  6. 다시 파티션을 다시 지우면 이름이 지정됩니다.
  7. HD를 클릭하십시오.
  8. HD를 확인하여 EFI 오류 메시지가 더 이상 나타나지 않는지 확인하십시오.
  9. 설치 화면으로 돌아갑니다.
  10. 백업에서 복원을 선택하십시오.

2

더 간단한 해결책은 여기에서 찾을 수 있습니다 : /unix//a/174522/182014

GParted Live CD / USB 를 통해 EFI 파티션을 만들 수 있습니다 .

  • 200MB 드라이브 (처음에는 모든 여유 공간)를 만듭니다.
    • 유형: fat32
    • 상표: EFI
  • 그것을 포맷
  • 부팅 플래그 (포맷 한 후에 만 ​​사용 가능한 옵션)를 "boot, esp"

여기에 이미지 설명을 입력하십시오

준비된!


0

iPartition 3 이상을 사용해보십시오. 메뉴보기 및 시스템 장치 표시로 이동하십시오. 200mb EFI가 없기 때문에 디스크의 첫 번째 파티션을 200mb만큼 줄입니다. 새 파티션을 생성 한 다음 디스크 검사기 창에 탭이 있습니다. 다양한 유형의 파일 시스템을 선택할 수 있습니다. EFI 시스템 파티션을 선택하십시오.


0

이것은 나를 위해 문제를 해결했습니다.

1) Winclone을 사용하여 Bootcamp 파티션 백업

2) Carbon Copy Clone을 사용하여 Mac OSX 드라이브를 외장 드라이브에 백업

3) 플래시 드라이브 또는 외장 드라이브에 Mountain Lion 설치

4) iPartition 사본 구입, 플래시 드라이브 또는 외장 드라이브로 다운로드

5) Option 키를 누른 상태에서 재부팅하면 부팅 메뉴가 나타납니다.

6) 부팅 할 플래시 또는 외장 드라이브를 선택하십시오

7) iPartition을 추출하고 실행합니다. 드롭 다운 메뉴에서 View and Inspector를 선택하십시오.

8) 파티션 탭에서 Bootcamp 파티션을 선택하고 목록에서 두 상자 (Windows의 활성 및 표시)를 모두 체크 표시 한 다음 닫습니다.

9) Go 버튼이 켜지지 않으면 Bootcamp 파티션이 약간 커집니다. 광산은 2.5TB 드라이브에서 2TB OSX, 500GB Windows입니다.

10) Go 버튼을 누르면 처리가 시작됩니다. 실행을 방해하는 프로세스를 종료해야 할 수도 있지만 (활동 모니터로 완료)

11) 완료되면 외부 부팅 장치를 종료하고 제거한 다음 Mac의 전원을 다시 켜십시오. 최소한 내 경우에는 수정하고 정상적으로 부팅해야합니다.

16GB RAM 및 2.5TB 하드 드라이브가 장착 된 iMac 27, 3.2GHz Intel Core i3을 실행하고 있습니다. 현재 Bootcamp 드라이브의 백업을 제외하고 Mountain Lion을 설치하기 전에 이미 수행 한 대부분의 항목이 있습니다. Wincamp는 Bootcamp가 부팅되지 않고 복원 프로세스에서 MBR 쓰기 오류가 발생하더라도 작동했습니다. 방금 오류를 무시하고 나머지 프로세스를 계속 진행했습니다. 분명히 Mountain Lion은 PMBR 또는 EFI를 엉망으로 만들었으며 심지어 rEFIt도이를 해결하지는 못했지만 iPartition이 수행 한 모든 작업을 수행했습니다. 이제 수정되었습니다.

*기권**

이 프로세스가 제대로 작동했지만 IT가 작동하지 않을 수 있습니다! 파티 테이블 및 봇 데이터를 편집하는 모든 프로세스와 마찬가지로 데이터 손실 가능성을 의미합니다. 데이터를 유지하려면 드라이브를 백업하십시오.

OSX 파티션을 백업 할 때는 Carbon Copy Clone을 사용하는 것이 좋습니다. 부팅에 실패한 적이없는 부팅 가능한 클론을 만들 수 있기 때문입니다.

다른 사람들 이이 문제를 해결하는 데 다른 곳에서 성공했을 것이라고 확신하며 iMac 에서이 문제를 해결하는 데 도움이되어 자신이 한 일을 게시 한 모든 사람에게 감사드립니다.

모두에게 감사하며 이것이 다른 누군가를 돕기를 바랍니다. (Apple 포럼에 게시) https://discussions.apple.com/message/19220149#19220149

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.