Sửa chữa phân vùng hệ thống EFI


3

Tôi đang gặp vấn đề với SSD bên trong trên một trong những máy Mac của tôi chạy 10.10. Nó hoạt động tốt khi tôi đang duyệt web một ngày và rồi đột nhiên đóng băng với quả bóng bãi biển xoay tròn; Tôi không thể buộc thoát (nó thực sự bị treo) vì vậy tôi buộc phải khởi động lại và bây giờ máy tính sẽ không khởi động được. Tôi đã thử những điều sau đây nhưng không thành công:

  1. Khởi động vào phân vùng phục hồi và sửa chữa đĩa bằng Disk Utility.
  2. Khởi động trên trình cài đặt USB 10.10 bên ngoài và sửa chữa đĩa bằng Disk Utility.
  3. Khởi động ở chế độ đĩa đích và sửa chữa đĩa bằng Disk Utility.
  4. Khởi động ở chế độ đĩa đích và thử mọi thứ tôi có thể nghĩ ra với diskutil trong Terminal.

Tại thời điểm này, tôi đã từ bỏ trên Disk Utility và đang tìm kiếm sự kết hợp đúng đắn của diskutil, fsckgpt để làm việc Tôi có một số dữ liệu sẽ bị mất vì vậy định dạng lại không phải là một lựa chọn.

Đây là một số thông tin liên quan:

$ diskutil list:

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

$ diskutil info disk1:

   Device Identifier:        disk1
   Device Node:              /dev/disk1
   Whole:                    Yes
   Part 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_partition_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 Drivers:             No
   Low Level Format:         Not supported

$ diskutil verifyDisk disk1:

Started partition map verification on disk1
Checking prerequisites
Checking the partition list
Checking the partition map size
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

$ sudo diskutil repairDisk disk1:

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

$ sudo gpt -r show /dev/disk1:

      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  488555536      2  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
  488965176    1269536      3  GPT part - 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)

@klanomath Tôi đã thêm thông tin bổ sung. Tôi nghi ngờ có thể có vấn đề với phân vùng Core Storage / được mã hóa vì tôi không thể thấy bất kỳ khối lượng logic nào nhưng tôi đã cố gắng bắt đầu với phân vùng EFI. Tôi thực sự chỉ quan tâm đến dữ liệu trong khối lượng logic CS, mặc dù.
sbooth

Không may chỉ là một bản sao lưu
sbooth

Tôi sẵn sàng thử bất cứ điều gì. Nếu bạn có bất kỳ hướng dẫn, nó sẽ được nhiều đánh giá cao! Tôi đã thấy các hướng dẫn để xóa và tạo lại phân vùng EFI và cũng sao chép một phân vùng hiện có bằng cách sử dụng dd nhưng tôi không muốn làm bất cứ điều gì có khả năng phá hoại.
sbooth

Bạn có ổ đĩa flash USB / ổ ngón tay cái dự phòng và trình cài đặt yosemite không?
klanomath

Có, tôi đã thực hiện trình cài đặt khởi động USB 10.10 trên ổ đĩa flash. Tôi đã sử dụng nó để thử và giúp đỡ nhưng không đi được xa.
sbooth

Câu trả lời:


1

EFI có thể được phục hồi dễ dàng. Vấn đề thực sự là họ Khối lượng logic bị thiếu và Khối lượng logic trong Nhóm khối lượng logic CoreStorage. LVF là thùng chứa cho Khối lượng logic được mã hóa thực tế.

Không có công cụ nào được biết để khôi phục LVF / LV đã bị xóa. Chỉ cần thêm LV với diskutil cs createVolume lvgUUID filesystem size sẽ ghi đè lên các phần của LV trước đó.

Có một cơ hội nhỏ để tự thao tác với bộ chứa LVG vượt trội và khôi phục khối lượng FileVault. Đây là chủ đề của nghiên cứu / điều tra thêm.

Khôi phục EFI:

Tạo EFI mới trên đĩa ngoài và dd kết quả cho EFI bị hỏng. Có thể chỉ cần sử dụng EFI tùy ý của một đĩa hệ thống khác - tôi không biết điều đó!

  • Tạo trình cài đặt ổ đĩa khởi động Yosemite
  • Gắn ổ đĩa ngón tay cái và ổ cứng ngoài dự phòng (16 GB) hoặc ổ đĩa thứ hai trống (ít nhất 16 GB) vào máy Mac "bị hỏng".
  • Cài đặt Yosemite vào ổ đĩa ngoài / ổ ngón tay cái
  • Cấu hình Yosemite
  • Bật FileVault (sử dụng cùng mật khẩu / cụm mật khẩu như trước đây trên hệ thống bị hỏng) và nếu được yêu cầu khởi động lại.
  • Sao lưu EFI hiện tại của SSD:

    dd if=/dev/disk0s1 of=~/Desktop/EFISSD.raw bs=1m
    
  • Khởi động lại một trong các HD phục hồi bằng cách nhấn cmd R
  • Đã khởi động vào Chế độ khôi phục Internet, mở Tiện ích → Thiết bị đầu cuối trong thanh thực đơn và nhập: diskutil list để có được định danh đĩa.
  • Bây giờ sử dụng dd để thay thế EFI bị hỏng bằng EFI mới (giả sử rằng đĩa bên ngoài có định danh đĩa 2 - kiểm tra kích thước của các đĩa khác nhau để xác định đúng):

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

Công việc đang tiến hành - Đây là chủ đề của nghiên cứu / điều tra thêm

Khôi phục một tập tin logicVault đã bị xóa / biến mất

Một khả năng có thể là thủ tục sau đây:

  • Khởi động hệ thống bên ngoài
  • dd các phần có liên quan của SSD (phần được mã hóa có thể dễ dàng phát hiện) thành một tệp trên một đĩa riêng:

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

    với x: số khối đầu tiên trên đĩa không được mã hóa (~ 420000) và y: số khối được mã hóa

  • dd phân vùng Recovery HD thành tệp RecoverHD.raw vì nó chứa ít nhất một khóa quan trọng.
  • Cài đặt lại OS X trên SSD với cùng tên người dùng và mật khẩu như trước đây
  • bật FileVault
  • Khởi động vào đĩa bên ngoài
  • dd tệp quay lại và thay thế nội dung thực tế của Gia đình khối lượng logic / Khối lượng logic:

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

    với z: số khối đầu tiên trên đĩa không được mã hóa

  • dd tệp RecoveryHD.raw trở lại và thay thế nội dung thực tế của Recovery HD mới.

Điều này có thể thất bại do các khóa khác nhau, các loại muối khác nhau (nếu muối được sử dụng hoàn toàn) hoặc các lý do khác.


Tôi đã thử phần đầu tiên của câu trả lời này (phục hồi ESP) và thật đáng buồn là không có gì thay đổi. Tôi đã có thể sao chép phân vùng EFI đang hoạt động từ ổ USB sang ổ SSD bị hỏng nhưng verifyDisk vẫn cho thấy rằng bản đồ phân vùng cần sửa chữa và repairDisk nói rằng nó không thể tạo phân vùng EFI.
sbooth

1

Tôi gặp vấn đề tương tự với MacBook pRo A1278. HDD là thiết bị nội bộ không khởi động.

Đã kết nối dưới dạng ổ USB ngoài - & gt; Khởi động ổ cứng. Vấn đề được giải quyết bằng cách thay thế cáp SATA bên trong với giá (hiện tại) $ 16.

Xem ifixit com (chỉ) để biết hướng dẫn thay thế của cáp SATA.


0

Thành thật mà nói với tôi, vấn đề có nhiều khả năng là trên phương tiện truyền thông (SSD) hơn là trên phần mềm.

Nếu dữ liệu là quan trọng, tôi khuyên bạn nên xem xét các dịch vụ phục hồi dữ liệu chuyên nghiệp càng sớm càng tốt vì sự cố có thể trở nên tồi tệ hơn trong trường hợp xảy ra lỗi phần cứng. .

Dung lượng lưu trữ lõi thường khá bền nhưng hầu như không thể phục hồi được bằng các công cụ đi kèm trong trường hợp cuối cùng chúng bị hỏng (đặc biệt là khi được mã hóa). Tôi không nghĩ bất kỳ sự kết hợp nào của fsck / gpt / Diskutil sẽ hoạt động được nhưng may mắn.


Cảm ơn câu trả lời. Những dịch vụ phục hồi dữ liệu nào bạn biết là quen thuộc với Core Storage?
sbooth

0

Có một vấn đề tương tự. Ổ cứng Mac đã ngừng hoạt động khi bên trong, nhưng khi bạn kết nối qua USB thì nó hoạt động rất tốt. Thậm chí có ổ cứng mới, nhưng vẫn gặp sự cố khi khởi động từ hd bên trong mac. Máy có thể nhìn thấy đĩa. Tôi đã cài đặt OS X trên ổ cứng mới thông qua kết nối USB, nhưng khi tôi đặt hd bên trong thì nó đã thắng khởi động. Thế giới điên, không biết có chuyện gì với nó. Nhưng về mặt dữ liệu, hãy thử kết nối nó qua USB và bạn có thể thấy rằng dữ liệu của mình an toàn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.