O volume do SO é exibido como tipo 'FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF' [duplicado]

8

Ontem, tentei excluir uma partição do Ubuntu. Como o meu Mac (13 ", MBPro, meados de 2014) não inicializa. Agora, inicializo no Mac OS com uma USB. Sigo diferentes assuntos deste fórum (como este: Partition type repente FFFFFFFF-FFFF-FFFF- FFFF-FFFFFFFFFFFF, unidade desmontável ) e minha partição de volume muda de FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF para 48465300-0000-11AA-AA11-00306543ECAC . Mas ainda não consigo inicializá-lo ...

meu / dev / disk0

Muito obrigado !

Nicolas Lorand
fonte
O tipo adequado de fatia 2 do disco0 é provavelmente 53746F72-6167-11AA-AA11-00306543ECAC (CoreStorage) na Sierra ou 7C3457EF-0000-11AA-AA11-00306543ECAC (APFS) em High Sierra
klanomath
Tentei o 7C3457EF-0000-11AA-AA11-00306543ECAC e posso inicializar! Muito obrigado @klanomath!
Nicolas Lorand
@grgarside Existem perguntas e respostas melhores para marcar esta pergunta como duplicada: Recupere dados da partição exibida como FFFF . As perguntas e respostas realmente vinculadas estão relacionadas a uma partição do tipo ffff .. e a um Fusion Drive não vinculado . Minha resposta aqui é baseada nas perguntas e respostas duplicadas propostas e estendida para incluir partições APFS. Portanto, pode até ficar por conta própria (também conhecido como duplicado ).
klanomath
@klanomath E o MacOS Mojave? ( 7C3457EF-0000-11AA-AA11-00306543ECACAinda é aplicável ao Mojave?) No momento, estou enfrentando quase o mesmo problema, exceto que é um MacBook Pro no início de 2015 e não estou enfrentando o problema em gpt -r show disk0que produz essa saída na captura de tela.
Edric
Deixa 7C3457EF-0000-11AA-AA11-00306543ECACpra lá , deve funcionar para High Sierra e acima. (Já testei: arquivo de verificação obras!)
Edric

Respostas:

11

Uma partição inicializável do OS X (exceto o HD de Recuperação) tem o GUID 48465300-0000-11AA-AA11-00306543ECAC para uma partição OS X padrão, o GUID 53746F72-6167-11AA-AA11-00306543ECAC para uma partição CoreStorage ou o GUID 7C3457EF -0000-11AA-AA11-00306543ECAC para um volume APFS. O FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF é um tipo de partição desconhecido (mas não nenhuma partição como a 000000-0000-0000 .... uma).

O GUID pode ser modificado com gpt. Você só pode adicionar, excluir e modificar tabelas de partição GUID com gpt quando todos os discos relacionados estão desmontados. Para reconfigurar suas partições, inicialize em uma unidade de terceiros (por exemplo, Internet Recovery ou uma instalação do OS X).

Sob certas circunstâncias, o SIP deve ser desativado para modificar a tabela de partição GUID.


  • Inicialize no modo de recuperação da Internet (ou em uma unidade de terceiros).
  • Abrir terminal na barra de menu Utilitários> Terminal
  • Obtenha uma visão geral com diskutil list
  • Obtenha uma visão geral do seu disco interno com o identificador de disco encontrado no comando anterior. Abaixo, eu assumo que o identificador de disco do seu disco interno é disk0 (SSD) (substitua-o pelo que você encontrou em seu ambiente).

    gpt -r show disk0
    
  • Desmonte disk0 com diskutil umountDisk disk0
  • Em seguida, remova e adicione novamente a segunda partição com o mesmo tamanho, mas o tipo apropriado. O tipo mais provável para disk0s2 em um SSD com o Sierra atualmente instalado é 53746F72-6167-11AA-AA11-00306543ECAC ou com o High Sierra instalado 7C3457EF-0000-11AA-AA11-00306543ECAC (porque uma partição CoreStorage anterior quase certamente foi convertida em APFS enquanto atualizando Sierra para High Sierra).

    Sierra (CoreStorage):

    gpt remove -i 2 disk0
    gpt add -i 2 -b 409640 -s 431203056 -t 53746F72-6167-11AA-AA11-00306543ECAC disk0
    

    ou

    High Sierra (APFS):

    gpt remove -i 2 disk0
    gpt add -i 2 -b 409640 -s 431203056 -t 7C3457EF-0000-11AA-AA11-00306543ECAC  disk0
    

    ou

    partição padrão (HFSJ estendida):

    gpt remove -i 2 disk0
    gpt add -i 2 -b 409640 -s 431203056 -t 48465300-0000-11AA-AA11-00306543ECAC  disk0
    
  • Verifique o disco e o volume:

    diskutil verifyDisk disk0
    diskutil verifyVolume disk0s2
    

Inicializado na sua unidade USB e conectado como administrador, você deve pré sudo- anexar para executar os comandos gpt com sucesso.


Se você esqueceu a versão do sistema ou fez algum particionamento personalizado, ainda pode inspecionar os primeiros blocos do disk0s2 e determinar o tipo de GUID adequado:

Se você inicializou em um sistema completo, pode usar hexdump:

  • Desmonte disk0 com diskutil umountDisk disk0
  • hexdump os 3 primeiros blocos da partição FFFF ...:

    sudo dd if=/dev/disk0s2 count=3 | hexdump
    

    O resultado a seguir o identifica como uma partição normal do OS X:

    0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000400 48 2b 00 04 80 00 21 00 48 46 53 4a 00 00 01 ff
    0000410 d3 8c 77 d3 d4 33 3c b0 00 00 00 00 d3 8c 5b b3
    0000420 00 00 02 a8 00 00 00 25 00 00 10 00 00 fe b7 f6
    0000430 00 fe 1e fa 00 ed 80 00 00 01 00 00 00 01 00 00
    0000440 00 00 10 f2 00 00 5a 9d 00 00 00 00 00 00 00 01
    0000450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000460 00 00 00 00 00 00 00 00 7d 9d b0 3a 02 31 62 f0
    0000470 00 00 00 00 00 1f e0 00 00 1f e0 00 00 00 01 fe
    0000480 00 00 00 01 00 00 01 fe 00 00 00 00 00 00 00 00
    0000490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    00004c0 00 00 00 00 00 60 00 00 00 60 00 00 00 00 06 00
    00004d0 00 00 0a 00 00 00 06 00 00 00 00 00 00 00 00 00
    00004e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000510 00 00 00 00 03 10 00 00 03 10 00 00 00 00 31 00
    0000520 00 03 ac 00 00 00 31 00 00 00 00 00 00 00 00 00
    0000530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000560 00 00 00 00 05 40 00 00 05 40 00 00 00 00 54 00
    0000570 00 00 10 00 00 00 54 00 00 00 00 00 00 00 00 00
    0000580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000600
    

    O primeiro número é a contagem de bytes em hexadecimal: 0000000: 0; 0000600: 1536. O * indica linhas idênticas. Isso significa: os dois primeiros blocos (0x000-0x3ff) são todos zeros.

    Uma partição CoreStorage mostra alguns não-zeros no primeiro bloco (0x000-0x1ff):

    0000000 0c 73 a1 a9 ff ff ff ff 01 00 10 00 07 14 d7 01
    0000010 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000030 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000040 00 20 c1 cc 0f 00 00 00 00 00 00 00 00 00 00 00
    0000050 00 00 00 00 00 00 00 00 43 53 01 00 00 00 04 00
    0000060 00 10 00 00 00 00 40 00 11 bc fc 00 00 00 00 00
    0000070 11 c0 fc 00 00 00 00 00 11 c4 fc 00 00 00 00 00
    0000080 11 c8 fc 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00000a0 00 00 00 00 00 00 00 00 10 00 00 00 02 00 00 00
    00000b0 62 02 98 59 ee a9 ab 51 9b 49 23 90 2e f8 8b 43
    00000c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000130 e4 6e f8 f2 63 99 45 c1 b2 13 86 28 a5 18 46 6d
    0000140 c4 51 c0 f6 32 f9 43 ab 8e 59 42 d2 1a ef f6 50
    0000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000400 48 2b 00 04 80 00 21 00 48 46 53 4a 00 00 01 ff
    0000410 d1 98 a4 93 d4 33 8b d5 00 00 00 00 d1 98 88 73
    0000420 00 06 07 53 00 01 82 39 00 00 10 00 00 fb 6a 00
    0000430 00 c5 1c 55 00 25 73 c7 00 01 00 00 00 01 00 00
    0000440 00 0d e2 65 00 3e a2 fb 00 00 00 00 02 20 00 fb
    0000450 00 00 00 31 00 06 b9 ef 00 00 00 00 00 00 00 00
    0000460 00 00 00 00 00 00 00 31 fb 48 1e a0 6c 47 a2 9f
    0000470 00 00 00 00 00 1f e0 00 00 1f e0 00 00 00 01 fe
    0000480 00 00 00 01 00 00 01 fe 00 00 00 00 00 00 00 00
    0000490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    00004c0 00 00 00 00 00 60 00 00 00 60 00 00 00 00 06 00
    00004d0 00 00 0a 00 00 00 06 00 00 00 00 00 00 00 00 00
    00004e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000510 00 00 00 00 0e 40 00 00 01 30 00 00 00 00 e4 00
    0000520 00 00 10 00 00 00 e4 00 00 00 00 00 00 00 00 00
    0000530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000560 00 00 00 00 11 d0 00 00 01 30 00 00 00 01 1d 00
    0000570 00 02 80 00 00 00 72 00 00 13 30 97 00 00 13 00
    0000580 00 15 c5 aa 00 00 13 00 00 18 2d 23 00 00 13 00
    0000590 00 19 d8 fb 00 00 13 00 00 1b 76 cb 00 00 13 00
    00005a0 00 1c 34 70 00 00 13 00 00 1d 0e 4d 00 00 13 00
    00005b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000600
    

    A linha que começa com o byte 0x130 mostra o UUID do volume físico, a linha que começa com o byte 0x140 mostra o UUID do grupo de volumes lógicos.

    A cadeia 48 46 53 4a (= "HFSJ") nos primeiros 16 bytes dos terceiros blocos identifica um volume Journaled HFS + nos dois tipos de partição.

    Um contêiner APFS se parece com isso:

    0000000 e7 ec ab 5b a2 94 96 44 01 00 00 00 00 00 00 00
    0000010 18 0c 00 00 00 00 00 00 01 00 00 80 00 00 00 00
    0000020 4e 58 53 42 00 10 00 00 f6 37 ff 00 00 00 00 00
    0000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000040 02 00 00 00 00 00 00 00 11 f1 5e 40 31 10 4c 20
    0000050 bb 47 53 66 7e 8b 42 d5 b9 c4 00 00 00 00 00 00
    0000060 19 0c 00 00 00 00 00 00 18 01 00 00 18 6c 00 00
    0000070 01 00 00 00 00 00 00 00 19 01 00 00 00 00 00 00
    0000080 21 00 00 00 80 5a 00 00 1f 00 00 00 02 00 00 00
    0000090 7a 5a 00 00 06 00 00 00 00 04 00 00 00 00 00 00
    00000a0 37 fd 03 00 00 00 00 00 01 04 00 00 00 00 00 00
    00000b0 00 00 00 00 64 00 00 00 02 04 00 00 00 00 00 00
    00000c0 06 04 00 00 00 00 00 00 08 04 00 00 00 00 00 00
    00000d0 66 a4 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    00003d0 00 00 00 00 00 00 00 00 16 21 06 00 00 00 00 00
    00003e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    00004f0 00 00 00 00 00 00 00 00 91 3d 0f 00 00 00 00 00
    0000500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000510 78 f4 09 00 00 00 00 00 01 00 00 00 00 00 00 00
    0000520 01 00 04 00 08 00 00 00 00 00 00 00 00 00 00 00
    0000530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    

    A sequência 4e 58 53 42 (= "NXSB") iniciada com o byte 0x020 no primeiro bloco é a sequência mágica de um superbloco de contêiner APFS e a identifica como contêiner APFS. O UUID do contêiner inicia em 0x48 (aqui: 11 f1 5e 40 ...)

Se você estiver limitado ao Modo de recuperação (Internet) ou a uma unidade de inicialização do instalador (todos com um sistema básico que não contenha hexdump ), ainda poderá usar vis:

  • Desmonte disk0 com diskutil umountDisk disk0
  • vis os 3 primeiros blocos da partição FFFF ...:

    dd if=/dev/disk0s2 count=3 | vis -c
    

    Se você tinha uma partição padrão anteriormente, os primeiros 1024 bytes contêm apenas zeros (não-imprimíveis): \0\0\0\0\0\0... Após o ~ byte 1030, você verá a seguinte sequência: \ 0HFSJ \ 0

    Se você tivesse uma partição CoreStorage, alguns não-zeros nos primeiros 512 bytes e a cadeia CS ( ...\0CS\^A...) serão mostrados:

    \^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\^]...
    

    Se você tinha uma partição APFS, a sequência NXSB ( ...\0NXSB\0\^P...) é mostrada nos primeiros bytes:

    ??[?\M^T\M^VD\^A\0\0\0\0\0\0\0\^X\f\0\0\0\0\0\0\^A\0\0\M^@\0\0\0\0NXSB\0\^P\0\0?7?\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\^Q?^@1\^PL ?GSf~\M^KBչ?\0\0\0\0\0\0\^Y\f\0\0\0\0\0\0\^X\^A\0\0\^Xl\0\0\^A\0\0\0\0\0\0\0\^Y\^A\0\0\0\0\0\0!\0\0\0\M^@Z\0\0\^_\0\0\0\^B\0\0\0zZ\0\0\^F\0\0\0\0\^D\0\0\0\0\0\0007?\^C\0\0\0\0\0\^A\^D\0\0\0\0\0\0\0\0\0\0d\0\0\0\^B\^D\0\0\0\0\0\0\^F\^D\0\0\0\0\0\0\b\^D\0\0\0\0\0\0f?\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\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\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\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\
    
Klanomath
fonte
Eu só queria encaminhá-lo para essa pergunta de recompensa , caso você não a tivesse visto. Refere-se à sua resposta aqui, então você pode ajudar.
Monomeeth
Este post me ajudou a corrigir o meu problema depois de particionar meu disco para linux. Muito obrigado. Eu apenas tenho uma pergunta. Recebi muitos avisos durante diskutil verifyVolume(xattr?), Mas no final ele disse que estava OK, e estava. Esses avisos são normais?
precisa saber é o seguinte
Enquanto analiso suas respostas, pergunto-me por que a vis -csaída publicada por alguns usuários é invertível, enquanto outra saída contém muitos ?caracteres, o que torna a saída não invertível. No meu Mac, primeiro tenho que entrar export LC_CTYPE="ASCII"antes de usar vis -cwou vis -cfwcriar saída invertível.
David Anderson
@DavidAnderson "... a saída publicada por alguns usuários é invertível ..." Você pode vincular a respectiva pergunta, resposta ou comentário OU isso é um problema do mundo real?
klanomath 23/05/19
Isto é em relação a esta questão e a esta pergunta . Na primeira pergunta, consegui inverter a vis -csaída para obter o tamanho da partição. Na segunda pergunta, não consegui porque a saída continha caracteres de ponto de interrogação ( ?). Isso me levou a investigar como obter a saída para ser invertível.
David Anderson