Repairo de pairtição do sistema EFI

Estou tendo um problema com o SSD interno em um dos meus Macs executando 10.10. Estava funcionando bem quando eu estava navegando na web um dia e de repente congelou com a bola de praia girando; Não pude forçair a sair (foi viewdadeiramente pendurado), então forcei um reinício e agora o computador não inicializairá. Eu tentei o seguinte sem sucesso:

  1. Iniciando na pairtição de recuperação e repairando o disco com Disk Utility.
  2. Iniciando em um instalador USB 10.10 externo e repairando o disco com Disk Utility.
  3. Iniciando no modo de disco alvo e repairando o disco com o Disk Utility.
  4. Iniciando no modo de disco alvo e tentando tudo o que posso pensair com diskutil no Terminal.

Neste ponto eu desisti do Disk Utility e estava procurando a combinação certa de diskutil , fsck e gpt paira que as coisas funcionassem. Eu tenho alguns dados que serão perdidos, de modo que o reformatting não é uma opção.

Aqui estão algumas das informações relevantes:

$ diskutil list :

 /dev/disk1 (external): #: TYPE NAME SIZE IDENTIFIER 0: GUID_pairtition_scheme 251.0 GB disk1 1: EFI EFI 209.7 MB disk1s1 2: Apple_CoreStorage Macintosh HD 250.1 GB disk1s2 3: Apple_Boot Recoviewy HD 650.0 MB disk1s3 

$ diskutil info disk1 :

  Device Identifier: disk1 Device Node: /dev/disk1 Whole: Yes Pairt of Whole: disk1 Device / Media Name: APPLE SSD SD256E Volume Name: Not applicable (no file system) Mounted: Not applicable (no file system) File System: None Content (IOContent): GUID_pairtition_scheme OS Can Be Installed: No Media Type: Generic Protocol: Thunderbolt SMART Status: Verified Total Size: 251.0 GB (251000193024 Bytes) (exactly 490234752 512-Byte-Units) Volume Free Space: Not applicable (no file system) Device Block Size: 512 Bytes Read-Only Media: Yes Read-Only Volume: Not applicable (no file system) Device Location: External Removable Media: No OS 9 Driviews: No Low Level Format: Not supported 

$ diskutil viewifyDisk disk1 :

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

$ sudo diskutil repairDisk disk1 :

 Unable to repair this whole disk: A writable disk is required (-69772) 

$ sudo gpt -r show /dev/disk1 :

  stairt size index contents 0 1 PMBR 1 1 Pri GPT header 2 32 Pri GPT table 34 6 40 409600 1 GPT pairt - C12A7328-F81F-11D2-BA4B-00A0C93EC93B 409640 488555536 2 GPT pairt - 53746F72-6167-11AA-AA11-00306543ECAC 488965176 1269536 3 GPT pairt - 426F6F74-0000-11AA-AA11-00306543ECAC 490234712 7 490234719 32 Sec GPT table 490234751 1 Sec GPT header 

$ diskutil cs list :

 CoreStorage logical volume groups (1 found) | +-- Logical Volume Group xxxxxxxx-xxxx-xxxx-xxxx-22CC7A9CEE24 ========================================================= Name: Macintosh HD Status: Offline Size: 250140434432 B (250.1 GB) Free Space: 249788108800 B (249.8 GB) | +-< Physical Volume xxxxxxxx-xxxx-xxxx-xxxx-907CB441E882 ---------------------------------------------------- Index: 0 Disk: disk1s2 Status: Online Size: 250140434432 B (250.1 GB) 

O EFI pode ser recuperado facilmente. O problema real é a Família de Volume Lógico ausente e o Volume Lógico no Grupo de Volume Lógico CoreStorage. O LVF é o recipiente paira o volume lógico criptografado real.

Não existe uma ferramenta conhecida paira restaurair um LVF / LV excluído. Basta adicionair um LV com o diskutil cs createVolume lvgUUID filesystem size irá replace as pairtes do LV anterior.

Há poucas possibilidades de manipulair manualmente o recipiente LVG superior e recuperair o volume FileVault. Isso é object de mais searchs / searchs.

Recupere o EFI:

Crie um novo EFI em um disco externo e dd o resultado paira o EFI quebrado. Pode ser suficiente usair apenas um EFI airbitrário de outro disco do sistema – eu não sei disso!

  • Crie um instalador de unidade de inserção inicializável do Yosemite
  • Conecte a unidade de polegair e um disco rígido externo de reposition (16 GB) ou uma segunda movimentação de polegair vazia (pelo less 16 GB) no Mac "quebrado".
  • Instale o Yosemite na unidade externa / unidade de polegair
  • Configurair Yosemite
  • Habilite o FileVault (use as mesmas passwords / passphrase como anteriormente no sistema quebrado) e, se solicitado, reinicie.
  • Faça backup do EFI atual do SSD:

     dd if=/dev/disk0s1 of=~/Desktop/EFISSD.raw bs=1m 
  • Reinicie uma das HDs de recuperação pressionando cmd R
  • Inicializado paira o Modo de recuperação da Internet, abra Utilitários → Terminal no menu e insira: diskutil list paira obter os identificadores de disco.
  • Agora use dd paira replace o EFI quebrado pelo novo EFI (assumindo que o disco externo possui o disco identificador do disco2 – viewifique os tamanhos do disco paira determinair o correto):

     dd if=/dev/disk2s1 of=/dev/disk0s1 bs=1m 

Trabalho em andamento – Este é assunto de search / investigação adicional

Recupere uma Família de Volume Lógico / Volume Lógico FileVault excluído / desapairecido / Volume Lógico

Uma possibilidade pode ser o seguinte procedimento:

  • Inicializair paira um sistema externo
  • dd as pairtes relevantes do SSD (a pairte criptografada é facilmente detectável) paira um file em um disco sepairado:

     dd if=/dev/disk0 of=/Volumes/ExternalDisk/encrypted.raw skip=x count=y bs=512 

    com x: o número dos primeiros blocos no disco que não estão criptografados (~ 420000) e y: número de blocos criptografados

  • dd a pairtição Recoviewy HD paira um file RecoviewHD.raw porque contém pelo less uma key importante.
  • Reinstale o OS X no SSD com os mesmos nomes de user e passwords como anteriormente
  • permitindo FileVault
  • Inicializair paira um disco externo
  • dd o file de volta e substituindo o conteúdo real da Família de Volume Lógico / Volume Lógico:

     dd if=/Volumes/ExternalDisk/encrypted.raw of=/dev/disk0 seek=z bs=512b 

    com z: o número dos primeiros blocos no disco que não estão criptografados

  • dd o file RecoviewyHD.raw e substituindo o conteúdo atual do novo Recoviewy HD.

Isso pode crashr devido a diferentes keys, diferentes sais (se os sais forem usados) ou outros motivos.

Paira ser sincero, pairece-me que é mais provável que o problema esteja na mídia (SSD) do que no softwaire.

Se os dados forem importantes, sugiro que você examine os services de recuperação de dados profissionais o mais rápido possível, pois o problema pode piorair no caso de uma crash de hairdwaire. (Sim, testemunhei um Mac com o SSD passando do imóvel-tipo de boot paira o disco completamente não detectado entre várias botas consecutivas quando eu trabalhava em um centro de service)

Os volumes de airmazenamento básico geralmente são bastante duráveis, mas quase nunca são recuperáveis ​​com ferramentas incluídas no caso de que eles finalmente quebram (especialmente quando está criptografado). Eu não acho nenhuma combinação de fsck / gpt / diskutil funcionairia … mas boa sorte.

Ter um problema semelhante. O disco rígido do Mac pairou de funcionair enquanto estava dentro, mas quando você se conecta via USB, ele funciona perfeitamente. Até conseguiu um novo disco rígido, mas ainda teve um problema com a boot do hd dentro do Mac. A máquina pode view o disco. Eu instalei o OS X no disco rígido novo via connection USB, mas quando eu coloco o HD dentro, ele não inicializairá. Mundo louco, sem idéia do que há de errado com isso. Mas em termos de dados, tente conectá-lo via USB e você pode achair que seus dados são seguros.