Làm thế nào tôi có thể sửa bảng phân vùng của tôi?


1

Tôi nghĩ rằng tôi đã phá hỏng nghiêm trọng bảng phân vùng của tôi.

Tôi đã có phân vùng BOOTCAMP, phân vùng macOS APFS và phân vùng exFAT. Tôi tin rằng tôi cũng có 17GB dung lượng chưa phân bổ.

Tôi đã cố gắng thu nhỏ phân vùng BOOTCAMP và tôi nghĩ rằng điều đó đã phá hỏng bảng phân vùng. Phân vùng BOOTCAMP bị lỗi khi khởi động và phân vùng macOS không được phát hiện. Từ Internet Recovery, tôi đã cài đặt lại El Capitan từ ổ USB vào một phân vùng khác, trong khi xóa phân vùng BOOTCAMP (tôi đã có một bản sao lưu khá gần đây). Tôi hiện đang sử dụng, được cập nhật lên High Sierra. Nó vẫn không thấy phân vùng macOS cũ hơn hoặc ~ 50GB dung lượng chưa phân bổ (mặc dù tôi cảm thấy hầu hết đó có thể là phân vùng macOS bị thiếu).

Hơn nữa, mục Windows vẫn hiển thị khi nhấn alt / tùy chọn khi khởi động, mặc dù nó bị lỗi như trước. Nó không hiển thị trong đĩa khởi động hoặc bất cứ nơi nào khác.

Tôi giả sử phân vùng BOOTCAMP của tôi không thể phục hồi, điều mà tôi hầu hết đều ổn. Tuy nhiên, nếu có thể, làm cách nào tôi có thể khôi phục phân vùng macOS cũ hơn?

Và chủ yếu, làm thế nào để tôi sửa bảng phân vùng? Đặc biệt phân vùng được cho là của Windows / BOOTCAMP ở đó (mặc dù tôi chắc chắn là không có) và thiếu ~ 50GB

Đây là những gì Disk Utility nói rằng tôi có ngay bây giờ. Hiện tại, Extra và Common chỉ là các phân vùng trống.

https://ibb.co/khN7pc

Dưới đây là đầu ra từ lệnh sudo gpt -r show disk0.

https://image.ibb.co/cyYxpc/Screen_Shot_2018_03_14_at_8_51_09_AM_1.png


Hầu như bất kỳ câu hỏi nào liên quan đến các bảng phân vùng đều yêu cầu thêm bảng phân vùng vào câu hỏi: nhập Terminal.app sudo gpt -r show disk0và (nếu có liên quan đến BOOTCAMP) sudo fdisk /dev/disk0và thêm đầu ra cho câu hỏi của bạn. Trong một số trường hợp nhất định (đã khởi động lên High Sierra) SIP phải bị vô hiệu hóa để có kết quả!
klanomath

Thật không may, các công cụ phân vùng Windows chỉ hoạt động chính xác khi được khởi động ở chế độ phục hồi hoặc phương tiện cài đặt. Chuỗi sự kiện bạn đăng làm tôi bối rối. Bạn nói rằng bạn đã có phân vùng APFS khi bạn cài đặt lại El Capitan, nhưng APFS không được phát hành cho đến High Sierra. Tiếp theo, bạn nói rằng bạn đã cập nhật lên High Sierra. Vậy bạn đã có phân vùng APFS khi bạn cố gắng thu nhỏ phân vùng BOOTCAMP chưa?
David Anderson

@DavidAnderson Tôi đã cài đặt El Capitan từ USB đã có nó, để nhanh chóng có một máy tính có thể sử dụng được. Có, tôi đã có một phân vùng APFS khi tôi cố gắng thu nhỏ phân vùng BOOTCAMP của mình.
Piahoy

@klanomath Tôi không phải vô hiệu hóa SIP để có đầu ra, nhưng đây là những gì tôi nhận được ibb.co/ncFA9c
PiAhoy

Câu trả lời:


2

Bảng phân vùng của đĩa0 hoàn toàn không bị hủy hoại - tất cả các thay đổi được thực hiện là ngoài ý muốn .

Tất cả các phân vùng và khối lượng (EFI, Common, macOS và Extra) được đánh dấu đúng và diskutil verifyVolume disk0sYcó thể sẽ thoát mà không có lỗi.

Bảng phân vùng bị hủy hoại sẽ bỏ lỡ tiêu đề và bảng phân vùng phụ hoặc bảng tiêu đề / bảng chính và bảng phụ khác nhau hoặc tổng kiểm tra CRC-32 của các mục nhập bảng tiêu đề và phân vùng không hợp lệ.


Bảng phân vùng của bạn trông như thế này:

    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  91672536                                                       
 92082176 168686104     2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC 
260768280    262144                                                       
261030424 177477424     3 GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC 
438507848  51464720     4 GPT part - 48465300-0000-11AA-AA11-00306543ECAC 
489972568    262151                                                       
490234719        32       Sec GPT table                                   
490234751         1       Sec GPT header  

Phân vùng đầu tiên có kích thước 209,7 MB - phân vùng EFI tiêu chuẩn - được theo sau bởi không gian đĩa chưa phân bổ với kích thước 46,94 GB.

Phân vùng thứ hai là phân vùng HFS + tiêu chuẩn với kích thước 86,37 GB, sau đó là không gian đĩa chưa phân bổ với kích thước (tiêu chuẩn) là 134,2 MB.

Thứ ba là phân vùng chứa APFS với kích thước 90,87 GB. Phân vùng thứ tư là một phân vùng HFS + tiêu chuẩn khác với kích thước 26,35 GB.


Bố cục phân vùng SSD mặc định có thể sẽ trông như thế này sau khi cài đặt High Sierra (APFS) và phân vùng BOOTCAMP:

     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         X     2 GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC 
  X+409640    262144      
  X+671784         Y     3 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
X+Y+671784       ...     ...  

Không gian đĩa chưa được phân bổ thứ hai (262144 khối) có thể nhỏ hơn hoặc lớn hơn.

Do đó, nó phụ thuộc vào kích thước của phân vùng macOS cũ của bạn nếu các phần của nó bị ghi đè hay không.

  • Nếu X bằng hoặc nhỏ hơn 91672536 (khối) thì phân vùng macOS cũ của bạn có thể được phục hồi hoàn toàn.
  • Nếu X lớn hơn 91672536 (khối) và nhỏ hơn 260358640 (= 91672536 + 168686104) (khối) các phần của phân vùng bộ chứa macOS cũ của bạn đã được ghi đè bằng cách tạo khối lượng chung . Tạo một khối lượng trống mới thường cần khoảng 120 MB - 500 MB để ghi một số siêu dữ liệu hệ thống tệp. Tùy thuộc vào kích thước của các phần khối lượng hệ thống / preboot / recovery của APFS có thể đã bị ghi đè.

Nếu khối đầu tiên của bộ chứa APFS biến mất của bạn (bao gồm cả khối lượng hệ thống APOS cũ của bạn) không bị ghi đè, bạn có thể phát hiện kích thước cũ của nó:

  • Khởi động vào ổ đĩa ngoài có cài đặt macOS
  • Mở Terminal và nhận các chi tiết liên quan đến đĩa thông thường (bên dưới tôi giả sử ổ SSD bên trong có mã định danh đĩa0):

    diskutil list
    sudo gpt -r show disk0
    
  • Tháo ổ SSD

    diskutil umountDisk disk0
    
  • khối dd / hexdump 409640:

    sudo dd if=/dev/disk0 bs=512 skip=409640 count=1 | hexdump
    

    sẽ mang lại kết quả như thế này (chỉ ví dụ!):

    1+0 records in
    1+0 records out
    512 bytes transferred in 0.001917 secs (267067 bytes/sec)
    0000000 b9 e9 ff cb a4 6d fc f3 01 00 00 00 00 00 00 00
    0000010 fc da 09 00 00 00 00 00 01 00 00 80 00 00 00 00
    0000020 4e 58 53 42 00 10 00 00 29 ea 22 01 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 d8 36 06 fb 2f 1f 42 7a
    0000050 b2 90 f5 cc 5c 85 9f 36 13 6f 08 00 00 00 00 00
    0000060 fd da 09 00 00 00 00 00 18 01 00 00 18 6c 00 00
    0000070 21 3c 06 00 00 00 00 00 28 c9 05 00 00 00 00 00
    0000080 70 00 00 00 18 0f 00 00 6e 00 00 00 02 00 00 00
    0000090 bc 0e 00 00 5c 00 00 00 af 6b 00 00 00 00 00 00
    00000a0 69 ad 04 00 00 00 00 00 01 04 00 00 00 00 00 00
    00000b0 00 00 00 00 64 00 00 00 03 04 00 00 00 00 00 00
    00000c0 a4 6b 00 00 00 00 00 00 a6 6b 00 00 00 00 00 00
    00000d0 a6 0d 01 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
    *
    0000200
    

    dòng thứ ba là dòng quan trọng:

    ...
    0000020 4e 58 53 42 00 10 00 00 29 ea 22 01 00 00 00 00
    ...
    
    • 4e 58 53 42: chuỗi ma thuật của container APFS
    • 00 10 00 00: Kích thước khối APFS: 4096
    • 29 ea 22 01 00 00 00 00 Kích thước vùng chứa APFS trong các khối APFS: 19065385 (= 152523080 512 khối)

      Sau khi sắp xếp lại các Bytes 29 ea 22 01 00 00 00 00> 00 00 00 00 29 ea 22 01> 00 00 00 00 01 22 ea 29, bạn có thể nhận được giá trị thập phân ở đây :

      nhập mô tả hình ảnh ở đây

    Kích thước của bộ chứa APFS cũ trong 512 (khối) sau đó là kích thước khối APFS x kích thước bộ chứa trong các khối APFS. Trong ví dụ này là 4096/512 * 19065385 = 152523080 khối.

  • tùy thuộc vào kích thước cũ loại bỏ phân vùng thứ 2:

    diskutil umountDisk disk0
    sudo gpt remove -i 2 /dev/disk0
    
  • khôi phục phân vùng cũ (ở đây với kích thước của ví dụ: 152523080 khối (512) - không vô tình sử dụng phân vùng này! ):

    diskutil umountDisk disk0
    sudo gpt add -i 2 -b 409640 -s 152523080 -t 7C3457EF-0000-11AA-AA11-00306543ECAC /dev/disk0
    
  • kiểm tra container APFS

    diskutil verifyVolume disk0s2
    
  • kiểm tra khối lượng hệ thống APFS

    diskutil list #get the device identifier of the APFS system volume and use it below (probably disk2s2)
    diskutil verifyVolume diskXsY
    

Nếu bạn gặp vấn đề khi phân tích hexdump hoặc các kết quả và thông báo lỗi khác, vui lòng để lại nhận xét!


Cuối cùng thử điều này, thiết bị đầu cuối phục hồi sẽ hoạt động hay tôi sẽ thực sự phải cài đặt macOS trên một ổ đĩa khác?
PiAhoy

Và tôi tin rằng 46,94GB có thể là phân vùng macOS cũ, nhưng tôi không chắc chắn
PiAhoy

Ngoài ra, ngay cả khi tôi đã xóa phân vùng Windows, nó vẫn hiển thị (và lỗi) khi nhấn tùy chọn / alt khi khởi động
PiAhoy

Tôi đã nhận được cho đến nay, không chắc chắn làm thế nào để chuyển đổi này: image.ibb.co/btJZqd/Screen_Shot_2018_05_12_at_11_15_41_PM.png
PiAhoy

X là = 262144 và tôi đã có chính xác 91672536
PiAhoy
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.