Bảng phân vùng GUID được lưu trữ trên thiết bị ở đâu?


7

Một người bạn của tôi đã sử dụng thanh USB của tôi để cài đặt phiên bản OS X mới trên máy mac của anh ấy. Bây giờ tôi đã lấy lại được, tôi muốn xóa sạch nó (tôi sử dụng Linux). Tuy nhiên, tôi có một chút rắc rối khi làm như vậy. Điều đầu tiên tôi làm là viết một Fedora LiveCD cho nó, sử dụng dd:

# dd if=Fedora.iso of=/dev/sdb

Điều này, tôi nghĩ, sẽ ghi đè lên bảng phân vùng nằm ở đầu thiết bị và do đó xóa các phân vùng mà trình cài đặt OS X đã tạo. Tuy nhiên, tôi đã sai, các phân vùng vẫn còn đó. Vì vậy, tôi đã tra cứu các bảng phân vùng GUID và nhận ra rằng chúng thêm các tiêu đề không chỉ ở phần đầu của thiết bị mà cả phần cuối. Tôi cũng vậy:

$ sudo dd if=/dev/zero of=/dev/sdb
dd: writing to `/dev/sdb': No space left on device
15687681+0 records in
15687680+0 records out
8032092160 bytes (8.0 GB) copied, 1354.82 s, 5.9 MB/s

Sau đó, tôi rút thanh USB ra khỏi máy tính và cắm lại. Chạy blkidngay bây giờ sẽ không mang lại phân vùng nào trên thiết bị. Tuy nhiên, sau khi viết lại hình ảnh Fedora, các phân vùng OS X đã trở lại:

$ sudo blkid
/dev/sdb1: LABEL="Fedora-17-x86_64-Live-Desktop.is" TYPE="iso9660" 
/dev/sdb2: SEC_TYPE="msdos" LABEL="EFI" UUID="B368-CE08" TYPE="vfat" 
/dev/sdb3: UUID="f92ff3eb-0250-303f-8030-7d063e302ccf" LABEL="Fedora 17" TYPE="hfsplus"

Tôi nghi ngờ điều này có liên quan đến bit MBR bảo vệ đó trong trang wikipedia ở trên. Làm sao để tôi thoát khỏi nó?

Cập nhật

Cuối cùng tôi đã chạy partedvà xóa GPT từ đó. Tôi đã nhận được những lời cảnh báo về một GPT bị hỏng (có thể là từ không) nhưng "chữ ký" đã ở đó.

Vì vậy, cuối cùng tôi đã khôi phục thanh USB của mình, nhưng vẫn tốt nếu ai đó có thể làm sáng tỏ chính xác những gì đã xảy ra, những chữ ký đó được lưu trữ ở đâu?


2
Các Protecive MBR chỉ đơn giản là một MBR bình thường thiết lập để thỏa mãn BIOS dựa khởi động. Đáng dd if=/dev/zerolẽ phải ghi đè lên nó (và mọi thứ khác). Bạn đã kiểm tra trạng thái của thanh USB sau ddnhưng trước khi tháo nó ra khỏi máy tính?
StarNamer

@StarNamer bạn có ý gì khi kiểm tra nhà nước? Để an toàn, tôi chạy syncvà chắc chắn rằng ánh sáng xanh nhỏ trên cây gậy không nhấp nháy (tôi đợi ~ 20 giây).
Felix

1
blkidsử dụng một tập tin bộ nhớ cache /etc/blkid.tab. Nó có thể đã được hiển thị các giá trị lưu trữ. Để buộc đọc lại, bạn nên sử dụng sudo blkid -c /dev/null.
StarNamer

BTW, tôi đã kiểm tra trạng thái của thanh USB bằng cách sử dụng sudo sfdisk -d /dev/sdbhoặc một cái gì đó tương tự để đọc bảng phân vùng thực tế trên thiết bị.
StarNamer

Tôi không nghĩ rằng tệp bộ nhớ cache có thể là vấn đề: các phân vùng bổ sung đã được hiển thị sau khi rút và cắm thẻ USB. Ngoài ra, sau khi kết nối lại thanh, tôi đã sử dụng fdisknó và nó cũng hiển thị các phân vùng bổ sung.
Felix

Câu trả lời:


1

Đã tìm thấy câu trả lời: Fedora ISO chứa Bảng phân vùng GUID với bố cục phân vùng rất giống với OS X. Vì điều này, tôi đã nhầm lẫn các phân vùng được tạo bởi

dd if=Fedora.iso of=/dev/sdb

với những cái được tạo bởi trình cài đặt OS X. Sự nhầm lẫn được tiếp tục bởi thực tế là một trong các phân vùng có hệ thống tệp HFS + , dành riêng cho OS X. Điều gây tò mò hơn nữa là thực tế là chạy partedsau khi viết ISO vào thanh mang lại:

$ sudo parted /dev/sdb
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Warning: /dev/sdb contains GPT signatures, indicating that it has a GPT table.  However, it does not have a valid fake msdos partition table, as it should.  Perhaps it was corrupted --
possibly by a program that doesn't understand GPT partition tables.  Or perhaps you deleted the GPT table, and are now using an msdos partition table.  Is this a GPT partition table?
Yes/No?

Dù sao đi nữa, vấn đề là các phân vùng không được phục hồi một cách kỳ diệu sau khi lấy toàn bộ thiết bị, thay vào đó chúng được tạo ra khi ddsử dụng ISO.


Tôi có câu hỏi của bạn, nhưng tôi không hiểu tại sao câu trả lời của bạn phù hợp. Ví dụ: "phân vùng không được khôi phục một cách kỳ diệu sau khi zeroing toàn bộ thiết bị" có thể sai. Bạn đã thử dd if=/dev/sdb of=sdb.img bs=4k count=10; hexdump -Cv sdb.imgkiểm tra xem GPT có ở đó không sau khi thiết bị zeroing không?
m-ric

@ m-ric không, nhưng không có cách nào có thể xảy ra. Các phân vùng của trình cài đặt OS X hoàn toàn khớp với các trình cài đặt Fedora, đó là lý do khiến tôi bối rối và nghĩ rằng các phân vùng đang quay trở lại bằng cách nào đó. Bây giờ tôi đã hiểu họ đến từ đâu, tôi cảm thấy hơi ngu ngốc khi nghĩ rằng "họ sẽ quay lại" ngay từ đầu :).
Felix
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.