UEFI / GPT và di chuyển phân vùng C: \


3

Tôi nhớ rằng khi mobos sử dụng BIOS và bộ tải khởi động được đặt trong MBR, việc di chuyển phân vùng Windows khiến hệ thống không khởi động được. Tôi vừa hoàn thành việc di chuyển (vô tình) phân vùng C (cố gắng thay đổi kích thước nó) trên PC của một người bạn có bảng phân vùng GPT và bo mạch chủ UEFI và - thật ngạc nhiên và thích thú, PC đã khởi động hoàn hảo mà không phàn nàn về sự thay đổi của khu vực đầu tiên của phân vùng (và bạn tôi không giận tôi). Tôi tin rằng đó là vì bộ tải khởi động UEFI sử dụng UID của phân vùng thay vì địa chỉ.

Điều này khiến tôi tự hỏi liệu điều này có nghĩa là tôi có thể tự do di chuyển phân vùng HĐH trên hệ thống GPT. Điều này cũng chỉ áp dụng cho Windows hay GRUB?


2
Câu hỏi này khá rõ ràng đối với tôi và vì vậy IMHO không nên bị đóng.
Rod Smith

Câu trả lời:


5

Tôi tin rằng đó là vì bộ tải khởi động UEFI sử dụng UID của phân vùng thay vì địa chỉ.

Đó là một phần, nhưng không hoàn toàn chính xác. Bộ tải khởi động chế độ BIOS, như tuyên bố của bạn ở trên ngụ ý, thường dựa vào số khu vực để giúp xác định mã theo dõi. Đó là, BIOS đọc MBR và thực thi bất kỳ mã nào nó chứa. MBR quá nhỏ để chứa bộ tải khởi động thực sự linh hoạt, do đó, nó chuyển quyền kiểm soát sang mã nằm ở nơi khác, thường xác định nó bằng số khu vực của nó bằng cách định vị phân vùng với cờ khởi động được đặt và chạy mã trong EBR (khu vực đầu tiên ) của phân vùng đó. Mã bộ tải khởi động thứ cấp này có thể lặp lại quá trình này, một lần nữa thường dựa vào số ngành. Do đó, việc di chuyển các phân vùng hoặc thay đổi kích thước chúng từ các điểm bắt đầu của chúng có thể khiến một hệ điều hành không thể khởi động được vì chính mã bộ tải khởi động đã bị di chuyển.

Ngược lại, trong EFI, bộ tải khởi động không được lưu trữ trong MBR hoặc trong EBR của phân vùng. Thay vào đó, bộ tải khởi động được lưu trữ dưới dạng tệp chương trình EFI trên Phân vùng hệ thống EFI (ESP). Các tệp chương trình này có thể lớn đến mức cần thiết (tối đa giới hạn áp đặt bởi kích thước tệp, kích thước RAM, v.v.), do đó, bộ tải khởi động không cần phải phân chia theo cách khó xử mà các bộ tải khởi động BIOS thường được phân chia. Hơn nữa, EFI hiểu các phân vùng, không giống như BIOS, vì vậy trình tải khởi động ở chế độ EFI có thể tham chiếu các phân vùng nếu cần.

Mặc dù bộ tải khởi động EFI có thể định vị phân vùng bằng GUID của nó hoặc theo một cách khác, đó không thực sự là điểm khác biệt quan trọng đối với câu hỏi của bạn. Bộ tải khởi động ở chế độ BIOS thường bị hỏng khi bạn di chuyển phân vùng vì mã bộ tải khởi động tự di chuyển; nhưng trong EFI, bộ tải khởi động nằm trong một tệp, không phải mã được khóa cho một khu vực cụ thể. Do đó, di chuyển phân vùng HĐH không di chuyển mã bộ tải khởi động. Ngay cả khi bạn đã di chuyển ESP (nơi bộ tải khởi động sống), EFI hiểu các phân vùng và hệ thống tệp FAT, và do đó có thể tiếp tục định vị bộ tải khởi động, miễn là thông tin nhận dạng của ESP và tên tệp của trình tải khởi động không thay đổi như một kết quả.

Điều này khiến tôi tự hỏi liệu điều này có nghĩa là tôi có thể tự do di chuyển phân vùng HĐH trên hệ thống GPT. Điều này cũng chỉ áp dụng cho Windows hay GRUB?

Theo nguyên tắc chung, việc di chuyển các phân vùng trên các hệ thống dựa trên EFI sẽ an toàn hơn so với các hệ thống dựa trên BIOS. Tuy nhiên, tôi sẽ không nói rằng nó hoàn toàn an toàn 100%. Đầu tiên, luôn có nguy cơ rằng một hoạt động di chuyển phân vùng sẽ dẫn đến thiệt hại hệ thống tập tin. Đó chỉ là một cảnh báo tiêu chuẩn bất cứ khi nào thảo luận về các hoạt động như vậy, mặc dù. Vấn đề liên quan đến câu hỏi của bạn là bộ tải khởi động có thể làm bất cứ điều gì họ muốn theo bất cứ cách nào họ muốn. Mặc dù tôi không biết ví dụ nào về điều này, nhưng bộ tải khởi động dựa trên EFI có thểdựa vào số khu vực thô để xác định hạt nhân của hệ điều hành, điều này sẽ khiến cho việc di chuyển phân vùng mà hạt nhân cư trú không an toàn. Nếu bộ tải khởi động sử dụng các tính năng như số phân vùng để xác định phân vùng có kernel và nếu di chuyển phân vùng thay đổi số phân vùng, thì quá trình khởi động có thể thất bại sau khi di chuyển phân vùng. OTOH, di chuyển phân vùng có thể không có vấn đề gì nếu số phân vùng không thay đổi. Do đó, sự an toàn của hoạt động di chuyển phân vùng phụ thuộc vào bộ tải khởi động và chi tiết về những gì xảy ra khi bạn di chuyển phân vùng.

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.