백업되지 않은 데이터, 파티션 유형 : FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFFF


20

컴퓨터를 벽돌로 만들었을 때 수업 용으로 MacBook에 Linux를 설치하려고했는데 부팅 할 수 없었습니다.

파티션을 너무 작게 만들었으므로 더 큰 파티션을 삭제하고 만들려고했습니다. 그러나 디스크 유틸리티를 사용하면 작은 파티션을 삭제할 수 없습니다. /apple//a/238088/236252 의 지침을 따랐습니다.

그러나 여전히 삭제할 수는 없었지만 다시 시작할 때 기본 디스크 (동일한 디스크에 위치)가 FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF로 변경된 것을 깨달았으며 부팅 옵션이 없었습니다. (나는 올바른 디스크와 파티션에서 명령을 수행했다고 확신합니다)

비슷한 스레드를 보았지만 부팅 가능한 기본 드라이브는 손상된 드라이브입니다.

데이터를 잃고 싶지 않습니다. 나는 가장 터미널에 정통하지 않기 때문에 모든 도움을 주셔서 감사하며 추가 정보를 친절하게 제공 할 것입니다!

(디스크 0, 파티션 2는 내 기본 파티션이며, 내가 관심있는 파티션은 하나뿐입니다)

아래는 $ diskutil list$ gpt -r show disk0 의 결과입니다 .

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

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


업데이트 : : @klanomath의 지시를 따랐습니다. 마지막 단계에서 다음과 같은 오류가 발생했습니다.

Checking prerequisites
Checking the partition list
Checking for an EFI system partition
Checking the EFI system partition's size
Checking the EFI system partition's file system
Problems were found with the partition map which might prevent booting
Error: -69766: The partition map needs to be repaired because there's a problem with the EFI system partition's file system
Underlying error: 8: POSIX reports: Exec format error 

최종 업데이트 : 성공!

이 전체 과정을 도와 주신 @klanomath에게 감사의 말씀을 전하고 싶습니다. 그는 파일에 액세스 할 수있을 때 까지이 전체 혼란 이전에 가능한 한 내 컴퓨터에 액세스 할 수있을 때까지 5 시간 동안 TeamViewing을 보냈습니다 (이는 5 시간의 이메일 통신 이후).

이 문제를 가진 미래의 독자들에게 : 포기하지 말고 고칠 수 있습니다!


예, deleteme 파티션을 삭제하고 싶습니다. 그 게시물을 보았지만 "gpt remove"가 디스크 내용을 지울까 걱정이 되었습니까?
HalfwayThere 's

예! Time Machine으로 모든 것을 백업했습니다. 다시는
반쯤

;-) ............
klanomath

답변:


25

귀하의 사례에 정확히 맞는 답변을 추가하기 위해 연결된 " 중복 " 에서 답변을 약간 수정 하고 여기에 다시 게시했습니다.


내부 디스크의 두 번째 파티션과 세 번째 파티션의 파티션 유형이 잘못되어 데이터가 손실되지 않습니다.

부팅 가능한 OS X 파티션 (복구 HD 제외)에는 표준 OS X 파티션 용 GUID 48465300-0000-11AA-AA11-00306543ECAC 또는 CoreStorage 파티션 용 GUID 53746F72-6167-11AA-AA11-00306543ECAC가 있습니다. FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF는 알 수없는 파티션 유형입니다 (그러나 000000-0000-0000 ....과 같은 파티션 은 아님 ).

표준 OS X 파티션의 첫 번째 블록은 0이 아닌 값을 포함하고, CoreStorage 파티션의 첫 번째 블록은 0이 아닌 값을 포함합니다. 파티션의 처음 3 개 블록을 얻으려면 hexdump / xxd의 대체품을 사용해야합니다 (둘 다 복구 모드 / OS X 설치 프로그램 부팅 드라이브에서 사용할 수 없음). 내가 찾은 최고는 dd if=/dev/diskXsY count=3 | vis -c입니다.

GUID 파티션 테이블은로 수정 될 수 있습니다 gpt. gpt 는 디스크의 처음 34 개와 마지막 33 개 블록 (512) 또는 4k 디스크의 처음 6 개와 마지막 5 개 블록에만 씁니다. 파티션 테이블을 (심지어 거짓) 수정, 디스크에있는 모든 볼륨의 내용을 변경하지 않는 경우 는 초기화하지 마십시오 또는 요청에 의해 볼륨 / 디스크를 복구 할 수 있습니다. 그래도 확인할 수 있습니다.


  • 인터넷 복구 모드 또는 OS X Installer 부팅 드라이브로 부팅
  • 메뉴 표시 줄 유틸리티> 터미널에서 터미널을 엽니 다.
  • 로 개요보기 diskutil list
  • 이전 명령에서 찾은 디스크 식별자로 내부 디스크의 개요를 확인하십시오. 아래에서는 내부 디스크의 디스크 식별자가 disk0이라고 가정합니다 (환경에서 찾은 것으로 바꿉니다)

    gpt -r show disk0
    
  • 다음을 사용하여 disk0 마운트 해제 diskutil umountDisk disk0
  • FFFF ... 파티션의 처음 3 개 블록을 표시합니다 :

    dd if=/dev/disk0s2 count=3 | vis -c
    
    1. 이전에 표준 파티션을 가지고 있었다면 첫 1024 바이트는 인쇄 할 수없는 (0) 만 포함합니다 : \ 0 \ 0 ... ~ 바이트 1030에서 다음 순서를 볼 수 있습니다 : \ 0HFSJ \ 0

    2. CoreStorage 파티션이있는 경우 처음 512 바이트에서 0이 아닌 문자열과 문자열 CS ( ...\0CS\^A...)가 표시됩니다.

      \^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\^]...
      
  • 이제 세 번째, 네 번째 및 두 번째 파티션을 제거하십시오.

    diskutil umountDisk disk0
    gpt remove -i 3 disk0
    diskutil umountDisk disk0
    gpt remove -i 4 disk0
    gpt remove -i 2 disk0
    

    "resource busy"와 같은 오류 메시지가 표시되면 디스크를 다시 마운트 해제하거나 완고한 볼륨을로 마운트 해제하십시오 diskutil umount disk0sX.

    올바른 유형이지만 색인 번호, 시작 블록 및 크기가 동일한 복구 파티션을 다시 추가하십시오.

    gpt add -i 3 -b 227212504 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk0
    

    올바른 유형이지만 색인 번호, 시작 블록 및 크기가 동일한 기본 파티션을 다시 추가하십시오.

    일반 OS X 파티션 중 하나입니다 ( dd ... vis단계 에서 일반 파티션의 일반적인 흔적을 찾은 경우 ).

    gpt add -i 2 -b 409640 -s 226802864 -t 48465300-0000-11AA-AA11-00306543ECAC disk0
    

    또는 (CoreStorage 파티션의 일반적인 흔적을 찾은 경우) :

    gpt add -i 2 -b 409640 -s 226802864 -t 53746F72-6167-11AA-AA11-00306543ECAC disk0
    
  • 표준 OS X 파티션을 찾았다면 디스크는 다음과 같이 보일 것입니다 :

        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
    

    또는 CoreStorage 볼륨을 찾은 경우 :

        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
    
  • 마지막으로 diskutil verifyDisk disk0및 / 또는를 사용하여 디스크를 확인 / 복구하십시오 diskutil verifyVolume disk0s2. 수리가 필요한 경우 위의 명령에서 접두사로 확인 대신 수리를 사용 하지만 수리하기 전에 저에게 연락하여 오류 메시지를 보내십시오 .


TeamViewer 세션을 통한 추가 조사에 따르면 EFI 파티션과 Recovery HD 파티션이 손상되었습니다. 메인 볼륨이 암호화됩니다. Recovery HD에는 특수 중간 FileVault 키가 포함되어 있습니다. 키가 없으면 주 시스템이 부팅되지 않습니다. 로 드라이브 잠금을 해제 할 수있었습니다 diskutil cs unlockVolume ....

전체 macOS를 썸 드라이브에 설치하고 부팅 한 후 다른 비 FileVault 드라이브 (실제로 Sierra VM의 드라이브)의 EFI 파티션 및 복구 HD를 손상된 드라이브에 복사했습니다. 그래도 썸 드라이브에서 부팅되었지만 FileVault 볼륨은 Finder에서 볼륨을 마우스 오른쪽 버튼으로 클릭하고 "볼륨 해독"을 선택하고 유효한 사용자 암호를 입력하여 표준 볼륨으로 되돌아갔습니다. 이는 FileVault 볼륨에서 적합한 사용자 계정의 비밀번호 여야합니다. 가상 머신에서만 diskutil cs revert lvUUID또는 diskutil cs decryptVolume lvUUID테스트 된 것처럼 볼륨을 해독하는 다른 방법 은 작동하지 않는 것 같습니다. 그러나 이것은 VM의 제한 사항 일 수 있습니다.

주 파티션 (disk0s2)을 전체 크기로 확장하려면 디스크 유틸리티 또는 diskutil resizeVolume ...명령을 사용하십시오.

볼륨은 처음에 시스템 환경 설정> 시동 디스크에 나타나지 않았지만 altMac을 부팅 하면 주 볼륨이 나타납니다 . 이것은 아마도 볼륨의 boot.efi를 올바르게 축복했을 것입니다. (현재 표준) 볼륨이 시동 디스크에 다시 나타납니다.


도와 주셔서 감사합니다. 위의 게시물에서 7 글 머리 기호에 대해 "gpt remove"로 "지금 세 번째, 네 번째 및 두 번째 파티션을 제거하십시오"라고 말하면 내 데이터가 지워지지 않습니다. 두 번째 파티션 (내가 관심있는 파티션)은 무엇입니까?
HalfwayThere 's

미안해! 나는 지금 약간 열광적이다
HalfwayThere 's

disk0을 확인하는 중 마지막 단계에서 오류가 발생했습니다. '오류 : -69766 : EFI 시스템 파티션의 파일 시스템에 문제가 있으므로 파티션 맵을 복구해야합니다. 기본 오류 : 8 : POSIX 보고서 : Exe 형식 오류 '
HalfwayThere

@HalfwayThere 이것은 추악한 오류이지만 MacBook이 여전히 부팅 가능한 상태로 복원되었을 수 있습니다. 부팅 만하면됩니다. EFI 오류는 Linux 설치의 결과 일 수 있으며 다른 도구를 사용하거나 2 단계로 해결해야합니다.
klanomath

1
+1 이것은 훌륭한 답변입니다! 문제를 해결할뿐만 아니라 사용자를 교육합니다. 당신은 실제로 OP를 돕기 위해 당신의 길을 벗어 났으며 이것에 대해 더 많은 표를 얻길 바랍니다. :)
Monomeeth

1

살아있는 APFS High Sierra 세션에서도이 문제가 발생할 수 있습니다 ! 어제 디스크 유틸리티 응용 프로그램 및 diskutil명령으로 변경 한 후이 문제가 발생 했습니다.

    sh-3.2# diskutil list
    /dev/disk0 (internal, physical):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *500.3 GB   disk0
       1:                        EFI EFI                     209.7 MB   disk0s1
       2: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF               60.0 GB    disk0s2

    /dev/disk1 (synthesized):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      APFS Container Scheme -                      +60.0 GB    disk1
                                     Physical Store disk0s2
       1:                APFS Volume APPLESSD                47.1 GB    disk1s1
       2:                APFS Volume Preboot                 19.4 MB    disk1s2
       3:                APFS Volume Recovery                517.8 MB   disk1s3
       4:                APFS Volume VM                      1.1 GB     disk1s4

    sh-3.2# gpt -r show /dev/disk0
          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  117111080      2  GPT part - FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
      117520720  859584307         
      977105027         32         Sec GPT table
      977105059          1         Sec GPT header

나는 그 구성에서 재부팅 할 것이라고 생각하지 않는다. 위의 설명 덕분에 라이브 세션 중에 문제를 해결할 수 있었지만 약간 다른 솔루션사용해야했습니다 ( 이 솔루션은 SIP가 비활성화 된 경우에만 작동합니다. 활성화 된 경우 재부팅, 비활성화 및 이전 솔루션을 사용해야합니다) . 이 문제는 SIP 비활성화와 관련이있을 수 있으므로 활성화 된 SIP에서는 발생하지 않습니까? 모릅니다.)

disk0마운트되지 않은 경우 에도 gpt라이브 세션 중에 GPT를 수정하지 못하는 것 같습니다 .

sh-3.2# gpt remove -i 2 disk0
gpt remove: unable to open device 'disk0': Resource busy

대신 타사 도구 gdisk(homebrew를 통해 얻음)를 사용하여 유형을 수정했습니다 disk0s2.

sh-3.2# gdisk /dev/disk0
GPT fdisk (gdisk) version 1.0.3

Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): i
Partition number (1-2): 2
Partition GUID code: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF (Unknown)
Partition unique GUID: B40FA371-D92C-4EBF-B846-B0A9FB6DCD71
First sector: 409640 (at 200.0 MiB)
Last sector: 117520719 (at 56.0 GiB)
Partition size: 117111080 sectors (55.8 GiB)
Attribute flags: 0000000000000000
Partition name: 'Apple_HFS_Untitled_2'

Command (? for help): t
Partition number (1-2): 2
Current type is 'Unknown'
Hex code or GUID (L to show codes, Enter = af00): 7C3457EF-0000-11AA-AA11-00306543ECAC    
Changed type of partition to 'Unknown'

Command (? for help): i
Partition number (1-2): 2
Partition GUID code: 7C3457EF-0000-11AA-AA11-00306543ECAC (Unknown)
Partition unique GUID: B40FA371-D92C-4EBF-B846-B0A9FB6DCD71
First sector: 409640 (at 200.0 MiB)
Last sector: 117520719 (at 56.0 GiB)
Partition size: 117111080 sectors (55.8 GiB)
Attribute flags: 0000000000000000
Partition name: 'Apple_HFS_Untitled_2'

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/disk0.
Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Warning: The kernel may continue to use old or deleted partitions.
You should reboot or remove the drive.
The operation has completed successfully.

그것을 확인 :

sh-3.2# gpt -r show /dev/disk0
      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  117111080      2  GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC
  117520720  859584307         
  977105027         32         Sec GPT table
  977105059          1         Sec GPT header
sh-3.2# diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         60.0 GB    disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +60.0 GB    disk1
                                 Physical Store disk0s2
   1:                APFS Volume APPLESSD                47.1 GB    disk1s1
   2:                APFS Volume Preboot                 19.4 MB    disk1s2
   3:                APFS Volume Recovery                517.8 MB   disk1s3
   4:                APFS Volume VM                      1.1 GB     disk1s4

그런 다음에 마지막 점검 diskutil verifyDisk disk0diskutil verifyVolume disk0s2경고 또는 오류없이. 재부팅에 성공했습니다.

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