Căn chỉnh phân vùng là gì và tại sao tôi cần nó? [bản sao]


22

Liên kết phân vùng là gì và tại sao? Liệu nó có liên quan gì đến khoảng cách 2048 giữa hai phân vùng hợp lý không?


@grawity Phần quan trọng là khác nhau. Tôi cần ai đó giải thích chi tiết.
Quyết định

Câu trả lời:


23

Các ổ đĩa cứng mới hơn đang được sản xuất để sử dụng các cung 4 kilobyte thay vì các cung 512 byte thông thường.

Điều này được thực hiện để sử dụng không gian vật lý hiệu quả hơn trên các ổ đĩa cứng vì đối với mỗi khu vực có một lô dữ liệu sửa lỗi nhỏ trên ổ đĩa và bằng cách chuyển từ 0,5kilobytes sang 4kilobytes cho mỗi khu vực có nghĩa là có thể có ít không gian hơn trên ổ đĩa bị lãng phí trong dữ liệu sửa lỗi này. Để hiển thị những gì tôi muốn nói ở đây là một hình ảnh được lấy từ bài viết Wikipedia về Ổ đĩa định dạng nâng cao :

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

Lý do phải căn chỉnh đĩa của bạn bắt nguồn từ sự tương tác của phần mềm được viết để mong đợi các cung 512 byte hoạt động trên một ổ đĩa có các cung 4 kilobyte. Nếu phần mềm mong đợi các cung từ 512 byte thì có thể nó đang cố ghi vào vùng mà nó nghĩ là khu vực "thứ hai" của cụm, nhưng thực tế là 512 byte thứ hai của khu vực 4 kilobyte.

Vấn đề là các ổ đĩa "Định dạng nâng cao" mô phỏng khu vực 512 byte cho hệ điều hành nhưng thực sự hoạt động với các khu vực 4 kilobyte trong nội bộ là một khu vực chỉ có thể được viết "trong một lần". Để ghi vào vùng 512 byte thứ hai đó, toàn bộ khu vực 4KB phải được đọc và sau đó ghi lại vào ổ đĩa, và đây là một quá trình chậm hơn so với việc đơn giản là yêu cầu ổ đĩa ghi lại toàn bộ khu vực 4KB.

Ngay cả khi hệ điều hành nhận thức được các lĩnh vực 4KB, nó phải có ổ đĩa được căn chỉnh chính xác để ranh giới giữa các khu vực đồng ý giữa nơi ổ đĩa nói chúng và nơi hệ điều hành nghĩ rằng chúng là.

Sau đó, có SSD, có một vấn đề tương tự ở chỗ chúng có thể được ghi theo từng byte, nhưng chỉ bị xóa trong các khối lớn thường là 256KB hoặc 512KB. Theo cách này, để tối đa hóa hiệu suất, bạn phải căn chỉnh các ranh giới phân vùng (và do đó là sector) dọc theo một trong các khối 256 hoặc 512KB đó.

Vì lý do này, rất nhiều công cụ phân vùng hiện đại chỉ đơn giản là sắp xếp toàn bộ ổ đĩa dọc theo ranh giới 1 MB, điều này không cần phải phát hiện xem bạn có bất kỳ loại ổ đĩa nào không, có thể là các loại 512 byte, các lĩnh vực 4KB hoặc SSD với một số kích thước khối tùy ý.

- = EDIT = -

Để biết ổ đĩa của bạn có được căn chỉnh chính xác hay không, có một số cách để kiểm tra, vì bài viết này trên Lifehacker có đề cập . Lời khuyên áp dụng chủ yếu cho SSds nhưng có liên quan như nhau để đảm bảo ổ cứng thông thường được căn chỉnh đúng cách:

Để xem các phân vùng của bạn được căn chỉnh chính xác, nhấn menu Bắt đầu và nhập msinfo32. Nhập Msinfo32và đi đến Components> Storage> Đĩa. Tìm SSD của bạn trong danh sách và tìm mục "Offset Offset". Nếu số này chia hết cho 4096 (nghĩa là, nếu chia cho 4096 bằng một số nguyên và không phải là số thập phân), phân vùng của bạn được căn chỉnh chính xác. Nếu không, bạn cần phải sắp xếp lại nó. May mắn thay, điều này khá dễ thực hiện với CD trực tiếp Gparted. Nếu bạn có một đĩa CD trực tiếp Ubuntu nằm xung quanh, nó cũng sẽ hoạt động, vì nó có sẵn Gparted trong Hệ thống> Quản trị.


3
Chỉ cần lưu ý: Hiệu suất bị mất do căn chỉnh sai xuất hiện khi phần mềm muốn viết rất nhiều lĩnh vực hệ thống tập tin 4kiB cách xa nhau. Nếu mỗi lần ghi tràn 512B vào khu vực đĩa 4kiB tiếp theo, toàn bộ khu vực tiếp theo cũng phải được viết lại, dẫn đến việc viết gấp đôi số lần cần thiết. (khu vực đĩa đầu tiên vẫn chứa 3,5kiB dữ liệu được ghi)
Eroen

@kinokijuf Như tôi đã đề cập, các lĩnh vực 4KB là để sử dụng đĩa hiệu quả hơn (tiết kiệm dung lượng tương đương với dung lượng lưu trữ bổ sung miễn phí và do đó có thể được xem là dịch sang tiền mặt có thể được tính phí) nhưng việc căn chỉnh được thực hiện vì lý do hiệu suất .
Mokubai

1
Hầu hết các công cụ phân vùng hiện đại đều thẳng hàng dọc theo ranh giới 1 MiB, ví dụ 1048576 byte. Căn dọc theo ranh giới 1 MB không hoạt động vì nó không phải là bội số của 4096.
Futal

1
@Mokubai: 1MB = 1.000.000 byte (không phải bội số của 1024), 1MiB = 1.048.576 byte (1024 bội). Nó được định nghĩa trong ISO / IEC 80000 được công nhận bởi tất cả các viện tiêu chuẩn như NIST.
Futal

1
@Futal 99,9% mọi người nhận thức được tình huống ngu ngốc đã khiến chúng tôi cần một sự khác biệt MiB / MB và chỉ đơn giản là không quan tâm đến nó. Nó là vô nghĩa và (đối với hầu hết các phần) không liên quan. Hầu hết mọi người cũng có thể sử dụng một thủ thuật ngôn ngữ được gọi là "manh mối theo ngữ cảnh" để tìm ra ý nghĩa của nó. Nếu tôi đang nói về các lĩnh vực 512byte và 4kb trong cùng một câu thì tôi nghi ngờ tôi có nghĩa là 4000byte hoặc thậm chí 1000000byte là 1MB.
Mokubai
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.