Xóa GPT - Mặc định trở lại MBR


33

Tôi tiếp tục nhận được lỗi này:

Cảnh báo!! Đã phát hiện GPT (Bảng phân vùng GUID) không được hỗ trợ. Sử dụng GNU Parted

Tôi muốn quay trở lại MBR bình thường. Tôi tìm thấy một số lời khuyên ở đây và đã làm:

parted /dev/sda
mklabel msdos
quit

Nhưng khi tôi nhận được mklabeltùy chọn, nó sẽ đưa ra một cảnh báo rằng tôi sẽ mất tất cả dữ liệu /dev/sda. Có cách nào để lấy lại MBR bình thường mà không cần định dạng đĩa không?


2
Lý do của bạn muốn chuyển đổi là gì? Vấn đề thực sự bạn đang cố gắng giải quyết là gì?
jordanm

1
Nếu bạn đang định dạng ổ đĩa, hãy thử điều này: blog.gnub.net/2009/03/die-gpt-die.html (xin lỗi không có tiếng để đưa ra câu trả lời!)
Lester Cheung

Câu trả lời:


28

Liên kết mà bạn đã đăng trông giống như một giải pháp loại hack rất xấu xí.

Tuy nhiên, theo trang man, gdiskđược sử dụng để chuyển đổi MBR -> GPT, cũng có một tùy chọn trong menu "recovery & rconvert " (nhấn để có được điều đó) để chuyển đổi GPT -> MBR; các gý chính sau:

Chuyển đổi GPT thành MBR và thoát. Tùy chọn này chuyển đổi càng nhiều phân vùng càng tốt thành dạng MBR, phá hủy cấu trúc dữ liệu GPT, lưu MBR mới và thoát. Sử dụng tùy chọn này nếu bạn đã thử GPT và thấy rằng MBR hoạt động tốt hơn cho bạn. Lưu ý rằng chức năng này tạo tối đa bốn phân vùng MBR chính hoặc ba phân vùng chính và càng nhiều phân vùng logic càng tốt. Mỗi phân vùng logic yêu cầu ít nhất một khối chưa được phân bổ ngay trước khối đầu tiên.

Tôi sẽ thử nó trước.


Dễ dàng có, nhưng nó vẫn có rủi ro.
jordanm

@jordanm: Tôi đã không tự mình làm điều này (đó là lý do tại sao tôi thừa nhận "google ngụ ý"), nhưng vì gdisk rõ ràng có một phương tiện rõ ràng, tại sao bạn tin rằng nó có rủi ro? Trang gdisk man cho tùy chọn r-> ghoàn toàn không có bất kỳ cảnh báo nào ...
goldilocks

Nó sẽ cải thiện câu trả lời này nếu bạn định nội tuyến bước gdisk cần thiết vào câu trả lời của bạn. Đặc biệt với bước ngắn như thế nào. Không bao giờ biết khi nào liên kết có thể chết, để lại câu trả lời vô dụng.
derobert

@derobert: Vâng, bản gốc có nhiều bình luận. Tôi đã sử dụng những thứ từ gdisktrang người đàn ông thay thế.
goldilocks

1
Để xóa hoàn toàn, bạn nên ZAP trong gdisk
Sergey P. aka azure

16

Hầu hết những người trả lời trước đều đúng khi họ nói rằng bạn thường có thể làm những gì bạn cần với bố cục bảng phân vùng GPT, nhưng vì có những lý do hợp lệ để muốn sử dụng MBR, tôi nghĩ tôi sẽ chỉ trả lời câu hỏi của bạn thay vì cho rằng bạn là sai khi hỏi

Để thoát khỏi GPT, bạn cần nhớ rằng với định dạng này, có một bảng phân vùng được ghi ở cuối ổ đĩa, nơi nó sẽ tồn tại nếu bạn chỉ cố xóa nó bằng fdisk hoặc hệ thống tệp không nhận biết GPT dụng cụ. Những gì bạn đã làm với parted không giải quyết bảng phân vùng này.

Để xóa GPT, bạn cần sử dụng một cái gì đó như gdisk. Nhập gdiskdưới dạng root tại dấu nhắc, và sau đó cho gdisk biết thiết bị nào bạn muốn xem (ví dụ / dev / sd ??). Sử dụng gdisk để ghi MBR bảo vệ vào đĩa chỉ để đảm bảo bạn có quyền truy cập vào một số cấu trúc dữ liệu MBR. Sau đó, bạn có thể điều hướng đến phần tùy chọn chuyên gia (nhấn ?vào các lời nhắc chương trình khác nhau để xem các tùy chọn có sẵn cho bạn tại các thời điểm khác nhau) và tìm tùy chọn có nội dung "Chuyển (hủy) cấu trúc dữ liệu GPT và thoát." Chương trình sẽ nhắc xác nhận, sau đó hỏi bạn nếu bạn muốn bảo tồn cấu trúc MBR. Hãy bảo tồn điều này.

Sau đó, nó sẽ đơn giản như khởi động lại máy tính của bạn (vì kernel vẫn sẽ sử dụng bảng phân vùng cũ và nó cần khởi động lại để cập nhật), sau đó kích hoạt fdisk và xóa phần còn lại của phân vùng GPT. Bạn vẫn sẽ thấy cảnh báo tương tự về việc sử dụng GNU Parted mà bạn đã thấy trước đây, nhưng bạn có thể bỏ qua nó lần này, vì nó sẽ biến mất khi bạn xóa phân vùng.

Điều này sẽ cung cấp cho bạn một hệ thống bảng phân vùng MBR trên một ổ đĩa trống để bạn có thể cài đặt lại hệ điều hành. Nếu bạn đang cố gắng thực hiện việc này với các phân vùng hiện có, nó sẽ phức tạp hơn một chút và trong một số trường hợp thậm chí không thể, vì vậy tôi khuyên bạn chỉ cần sao lưu dữ liệu của mình và thực hiện theo cách này.


1
"Tôi nghĩ rằng tôi sẽ chỉ trả lời câu hỏi của bạn thay vì cho rằng bạn sai khi hỏi." - đó là đủ điên để làm việc!
Michael Mrozek

6

Sử dụng gdisk /dev/sda

Lưu ý: /dev/sda là trong trường hợp người hỏi câu hỏi này nhưng đổi nó thành tên ổ đĩa của bạn.

Khi bạn đã vào trong với gdisk, hãy sử dụng:

x   extra functionality (experts only)

sau đó khi bạn gõ pđể xem tất cả các tùy chọn, bạn sẽ thấy điều này:

Expert command (? for help): ?
a   set attributes
c   change partition GUID
d   display the sector alignment value
e   relocate backup data structures to the end of the disk
g   change disk GUID
h   recompute CHS values in protective/hybrid MBR
i   show detailed information on a partition
l   set the sector alignment value
m   return to main menu
n   create a new protective MBR
o   print protective MBR data
p   print the partition table
q   quit without saving changes
r   recovery and transformation options (experts only)
s   resize partition table
t   transpose two partition table entries
u   Replicate partition table on new device
v   verify disk
w   write table to disk and exit
z   zap (destroy) GPT data structures and exit
?   print this menu

Sử dụng z

Expert command (? for help): z
About to wipe out GPT on /dev/xvdf. Proceed? (Y/N): Y
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
Blank out MBR? (Y/N): Y

2
Chỉ có câu trả lời này làm việc cho tôi, cảm ơn vì đã chia sẻ.
Alexanderar

1

Điều này sẽ làm việc cho hầu hết các trường hợp. Bạn biết rằng bạn không thể sử dụng MBR khi bạn có phân vùng lớn hơn 2TB hoặc hơn 15 phân vùng.

  • Sử dụng chia tay để kiểm tra kích thước của phân vùng (tức là tất cả đều nhỏ hơn 2TB?), parted /dev/sdX p
  • Trong trường hợp có các phân vùng lớn hơn, hãy thu nhỏ hệ thống tập tin đang đề cập và mọi thứ khác cần phải được thực hiện. (Thông tin thêm về điều này ở cuối bài đăng này.)
  • Kết xuất tất cả các kích thước phân vùng chính xác, parted /dev/sdX u B p(hiển thị kích thước theo byte), để bạn biết cách cuối cùng bạn có thể tạo lại bố cục phân vùng. Sử dụng điện thoại của bạn để tạo một bức ảnh từ cả hai partedđầu ra.
  • Hãy nhớ rằng bạn chỉ có thể có bốn phân vùng chính với MBR do cấu trúc bên trong của nó. Vì vậy, nếu bạn có nhiều phân vùng hơn, bạn cần không gian trống ở đâu đó trên đĩa của mình (bạn cần biết nơi này có thể!), Để tạo một phân vùng hợp lý, nơi VBR có thể được đặt vào để bạn có thể 'phân bổ' thứ 4 / Phân vùng thứ 5/6 đã tồn tại trước đó.
  • Sử dụng gdiskđể hạ gục GPT.
  • Tạo MBR mới.
  • Tái tạo các phân vùng của bạn, 1/2/3 dưới dạng các phân vùng chính, sau đó trên một số không gian trống (KHÔNG CÓ DỮ LIỆU NÀO ĐƯỢC ĐỊNH VỊ !!!) tạo một phân vùng hợp lý, sau đó tạo các phân vùng khác.
  • Lưu, bỏ.
  • Hãy cầu nguyện.
  • Khởi động lại.

Bạn nên sử dụng một liveisk như grmlcho tất cả điều này. Trong trường hợp bạn đã làm gì đó sai, hãy khởi động lại và thử lại.

Miễn là bạn không ghi bất kỳ dữ liệu nào vào đĩa, không có gì bị mất. Hãy nhớ rằng bạn vẫn có tất cả bố cục phân vùng trên điện thoại của mình, vì vậy bạn có thể tạo lại GPT ban đầu nếu thực sự cần thiết.

Trong trường hợp bạn thực sự làm một cái gì đó lên và không chụp ảnh, hãy thử testdiskđể phân biệt ranh giới phân vùng. Nhưng đừng đặt cược bất kỳ khoản tiền nào vào nó ngay khi bố cục của bạn là bất cứ điều gì phi thường.


Trên các công cụ thay đổi kích thước để làm cho các phân vùng nhỏ hơn, phối cảnh mắt chim:

  • Đầu tiên bạn luôn phải thu nhỏ hệ thống tập tin. Dễ dàng cho ext4 ( resize2fs -M dev/sdX), nhưng XFS không thể vì nó không thể được thu nhỏ. Biết những gì bạn đang sử dụng và google trước khi thử các pha nguy hiểm như vậy.
  • Nếu bạn có LVM, hãy thu nhỏ âm lượng hợp lý tiếp theo. ( lvreduce -L 20G /dev/mapper/<VG>-<LV>)
  • Bước LVM tiếp theo là thu nhỏ âm lượng vật lý. pvresize --setphysicalvolumesize 25G /dev/sdXlà con đường để đi
  • Sau đó, sử dụng công cụ phân vùng lựa chọn, xóa phân vùng nơi lvm của bạn được đặt và tạo lại nó nhỏ hơn.

Kích thước cho tất cả các yếu tố được đề cập ở đây giống như: Phân vùng tệp <LV <PV <, nếu không phải là trường hợp sau lần khởi động lại tiếp theo, bạn sẽ thấy bạn phải thực hiện kiểm tra FS. Đừng làm điều đó, chỉ cần khởi động lại vào liveisk một lần nữa và thực hiện các điều chỉnh của bạn. Nếu bạn sửa những thứ ở đó, hệ thống của bạn sẽ khởi động lại, tôi hứa.

Để có thể thực hiện tất cả điều này, trong trường hợp bạn có PHẦN THAM GIA + LUKS + LVM + PHIM, đây là một số gợi ý về cách thực hiện việc này từ trình bao:

  • df -h là bạn của bạn để hiển thị kích thước hệ thống tập tin khi bạn gắn phân vùng
  • lsblklsblk -flà bạn bè của bạn để hiển thị phân vùng
  • Nếu bạn sử dụng LUKS, hãy mở hộp chứa tiền điện tử thông qua cryptsetup open /dev/sdX asdf, nhập mật khẩu của bạn và nó sẽ trở nên khả dụng /dev/mapper/asdf. Tiền điện tử không cần phải thay đổi kích thước. (Bỏ qua điều này nếu bạn không có phân vùng được mã hóa, tất nhiên.)
  • vgchange -aay để kích hoạt tất cả các khối hợp lý để bạn có thể làm việc với chúng.
  • mkdir asdf; mount /dev/mapper<VG>-<LV> asdfvà sau đó df -hđể kiểm tra kích thước của hệ thống tập tin của bạn trước khi thay đổi kích thước.
  • umount asdf vì vậy nó là vô song một lần nữa.
  • resize2fs -M /dev/mapper/<VG>-<LV>.
  • mount /dev/mapper/<VG>-<LV> asdf; df -h để kiểm tra xem hệ thống tập tin của bạn vẫn còn lớn như thế nào.
  • Làm cho LV 1GB lớn hơn hệ thống tệp. Rất có thể, điều này sẽ không đủ. Làm cho nó thậm chí còn lớn hơn thế nếu bạn có thể liên kết nó, linux khác sẽ cho bạn biết sau khi khởi động lại rằng nó sẽ không hoạt động. KHÔNG thực hiện kiểm tra FS khi được nhắc, khởi động lại vào liveisk và bắt đầu lại, không có dữ liệu nào bị mất nếu đó là trường hợp.
  • Làm cho PV 1GB lớn hơn LV.
  • Làm cho phân vùng lớn hơn 1GB thì PV. 100M cũng dễ dàng là đủ, vì LVM tạo ra phạm vi kích thước 4M (tương tự như các khối trên ổ cứng, nhưng đối với LVM), và bạn chỉ muốn nó không bỏ qua phạm vi cuối cùng bằng cách làm cho phân vùng quá nhỏ. Nhưng như tôi đã nói, nên . Đừng tính toán mọi thứ, chỉ cần điều chỉnh mọi thứ và sửa chúng nếu chúng bị hỏng. Rốt cuộc là linux, nó cho phép bạn làm điều này.

Làm cho mọi thứ lớn hơn mức cần thiết, vì vậy bạn không phải khởi động lại thường xuyên.

Để dễ dàng phân biệt những gì là những gì với LVM, luôn luôn sử dụng tên máy của bạn như tên cho VG và mountpoint ( root, swap, var, ...) cho LV khi tạo thiết lập LVM bạn, nếu bạn không đã làm điều đó. Đây là gợi ý chung, không phải là thứ bạn bắt buộc phải làm cho bất cứ điều gì trong các bước trên.


1

GParted đã thực hiện công việc cho tôi (đã thử nghiệm trên Kali Linux USB Live v2.1) chỉ bằng cách thực hiện:

Device --> Create Partition Tablet --> Type MSDOS

Xóa tất cả các phân vùng đầu tiê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.