Các phân vùng 1 đến 4 là theo quy ước "vật lý" (chúng là loại duy nhất có sẵn trong thời đại). Vì vậy, bạn có:
Device Boot Start End Blocks Id System
/dev/sda1 2048 419424255 209711104 83 Linux
/dev/sda2 419424256 1258291199 419433472 83 Linux
/dev/sda3 1258291200 1300236287 20972544 f W95 Ext'd (LBA)
/dev/sda4 * 1300236288 1709836287 204800000 7 HPFS/NTFS/exFAT
/dev/sda5 1258293248 1275062271 8384512 82 Linux swap / Solaris
... sda1
là vật lý, Linux. sda2
là vật lý, Linux một lần nữa. sda3
là một phân vùng logic nơi các phân vùng khác (5 trở đi) có thể cư trú. Cuối cùng sda4
là một phân vùng Windows, được đánh dấu khả năng khởi động - Tôi nghĩ chỉ Windows mới quan tâm đến điều đó nữa. GRUB2 sẽ sẵn sàng khởi động bất kỳ phân vùng nào bạn muốn, nhưng Windows muốn nằm trên một phân vùng có thể khởi động.
Bây giờ, bên trong phân vùng logic sda3
, cfdisk
không hiển thị như vậy, có tương đương với nhiều phân vùng vật lý hơn. Trong trường hợp này chỉ sda5
.
Và kể từ khi sda3
chuyển từ khu vực 1258M sang khu vực 1300M, nhưng sda5
chỉ sử dụng chúng tối đa 1275M, các lĩnh vực 1275062272 đến 1300236287 là miễn phí (nhưng có thể phân bổ sda6
).
Cuối cùng, sda4
(phân vùng vật lý cuối cùng có thể của bạn - MBR chỉ chứa bốn) không lấp đầy đến hết đĩa. Nó để lại khoảng 116Gb. Không gian đó không thể sử dụng được vì bạn không thể tạo phân vùng vật lý để che nó (phân vùng mở rộng sda3
không thể phát triển, vì phạm vi của nó bị "chặn" bởi sda4
):
[SDA3...(sda5)...| FREE ][...sda4...][ UNREACHABLE SPACE ]end-of-disk
Giải pháp phục hồi không gian không có sẵn
Không đau, tôi sợ. Tùy thuộc vào hình dạng, bạn có thể xóa sda4
và chú thích các ranh giới của nó. Sau đó phát triển sda3
để bao gồm toàn bộ đĩa (cùng bắt đầu, 1258291200, nhưng kết thúc đến cuối đĩa), hoặc xóa nó và tạo lại với cùng một bắt đầu và kết thúc tối đa. Bây giờ bạn có thể tạo một phân vùng sda6
bên trong sda3
và làm cho nó kết thúc tại hình trụ ngay trước sector 1300236288. Điều này sẽ chiếm không gian trống hiện tại còn lại trong hiện tại sda3
. Cuối cùng, bạn tạo một phân vùng bên trong sda3
, và nó sẽ thông báo sda7
cho hệ thống nó mở rộng từ 1300236288 đến 1709836287 và là loại 7.
Nếu bạn không định dạng phân vùng đó, nội dung sẽ vẫn như cũ và đó là phân vùng Windows hợp lệ. Nó là
Tất nhiên nếu mọi thứ đi sai, bạn sẽ mất tất cả dữ liệu của mình. Các phân vùng vật lý (như Windows hiện tại là như vậy sda4
) và các phân vùng logic vật lý bên trong (như đã từng trở thành sda7
) không nhất thiết phải trộn lẫn; một số công cụ sẽ từ chối để tạo ra chúng. Tôi khuyên bạn nên thực hiện một thử nghiệm trên một đĩa ảo có cùng kích thước, được tạo bên trong một tệp thưa thớt (bản thân tệp thực sự sẽ chỉ là một vài gigabyte) hoặc trên một đĩa bên ngoài.
Một cách khác, có thể an toàn hơn, là xóa sda5
(chỉ là trao đổi) và sda3
di chuyển sda4
các tham số sang sda3
(điều này có thể ngụ ý xóa sda4
và tạo lại sda3
với các sda4
tham số cũ ) và điều này sẽ để lại sda4
khe trống (và một "lỗ" ở giữa của đĩa). Hầu hết các BIOS cho phép các bảng phân vùng ngoài chuỗi. Một lần nữa điều này không nên yêu cầu sao chép bất cứ điều gì. sda4
bây giờ trở thành sda3
và vẫn là một phân vùng vật lý, vì vậy hình học của nó sẽ phù hợp hơn với các giả định của công cụ phân vùng.
Tất nhiên , cách an toàn và được khuyến nghị nhất (và chậm nhất) là sao lưu tất cả các phân vùng, định dạng lại tất cả và khôi phục chúng sau khi đã "định vị lại" chúng đúng cách, với phân vùng mở rộng kéo dài và chiếm toàn bộ đĩa cứng còn lại. Điều này sẽ loại bỏ không gian trống bên trong sda3 và lấy lại không gian không có sẵn ở cuối, không có rủi ro (nếu sao lưu được thực hiện đúng cách - hãy kiểm tra nó sau khi sao lưu. Tôi đã sao lưu vào một đĩa bên ngoài bị lỗi, đã chết trên tôi khôi phục. Không hề thú vị chút nào).