티스토리 뷰


터미널에서 $ diskutil  list 명령을 실행한다. 현재 사용가능한 스토리지 리스트를 확인할 수 있다. 보통 맥에 내장된 디스크는 특별한 경우가 아니라면 인덴디피어는 disk0s1이 EFI파티션일 것 이다.
만약 디스크의 다른 파티션이 마운트되어있다면 diskutil unmount ~ 또는 sudo umount ~ 명령을 통해 언마운트 해야한다.
(아래에서 실행하는 명령들은 특별한 경우가 아니라면 완료 후 파티션을 자동으로 마운트 해버리기 때문에, 한 작업을 실행 하고 나서 매번 수동으로 언마운트 작업을 병행해야 한다)

* 작업을 시작하기 전 먼저 dd명령어 등으로 EFI파티션을 이미지로 백업하기 바란다. (필수)
* 굳이 터미널 작업으로 고쳐야 하는 경우가 아니라면, Recovery HD로 부팅(부팅시 Option키를 누른다)하여 디스크를 지우지 않고 덮어쓰는 형식으로 재설치를 하면 기존에 사용하던 앱과 설정등을 유지한 상태로 시스템을 Fix할 수 있다.


먼저 EFI파티션을 포맷해야한다.
이 파티션은 디스크유틸리티로 보이지 않으니 터미널에서 작업해야 하며,
파일시스템은 FAT32와 동일하지만 파티션맵에 기록할 때는 Apple_EFI 로 정보를 고쳐주어야 한다.

sudo newfs_msdos -v EFI -F 32 /dev/rdisk0s1

 
GUID 파티션 맵에서 EFI파티션 정보를 지우고 새로 생성하기 위해 아래의 두 줄을 연속으로 실행한다.
(추가로 위에서 FAT32로 생성된 파티션 정보를 Apple_EFI로 고쳐준다) 

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

그럼 기존 EFI파티션을 삭제하고 클린상태로 복원이 된다. (중간의 파티션 UUID는 임의값)

미리 백업해둔 EFI파티션의 덤프이미지 또는 외장 하드디스크등의 EFI파티션을 복원하고 싶은 경우 아래 작업을 추가로 실행한다. 아래 명령은 disk1의 EFI 파티션을 disk0의 EFI 파티션으로 복제한다.
(특히 부팅디스크의 경우 위에서 포맷을 하였기 때문에 /EFI/APPLE/Extensions 가 사라져 부팅이 불가능할 수 있기 때문에 미리 백업해둔 EFI이미지를 통해 복원해야 할 수도 있다)

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


TAG
, , ,
댓글
댓글쓰기 폼