Thêm không gian không liên kết miễn phí vào phân vùng Ubuntu chính


0

Tiếp tục sử dụng VBoxManage Sửa đổi - kích thước, kích thước thực tế không thay đổi

Tôi đã thay đổi kích thước tệp .vmdk của mình, cung cấp thêm không gian cho máy ảo của tôi.

Sử dụng fdisk (lệnh p) Tôi nhận được như sau

Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1  *       2048   999423   997376  487M 83 Linux
/dev/sda2       1001470 83884031 82882562 39.5G  5 Extended
/dev/sda5       1001472 83884031 82882560 39.5G 8e Linux LVM

(Có bình thường khi hai phân vùng chia sẻ các lĩnh vực của họ theo cách này không?)

Trong khi đó, không gian tôi đã thêm là không liên kết, như có thể thấy bằng cách sử dụng fdisk (lệnh F):

Unpartitioned space /dev/sda: 69.8 GiB, 74911318016 bytes, 146311168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

   Start       End   Sectors  Size
83884032 230195199 146311168 69.8G

Làm thế nào tôi có thể thêm không gian này vào phân vùng hiện tại của tôi? Tôi nên thêm nó vào sda2 hoặc sda5?

Tôi nên thêm rằng tôi không có quyền truy cập GPartedvì tôi chỉ có giao diện dựa trên dòng lệnh, không có GUI.


1
"Có bình thường khi hai phân vùng chia sẻ các lĩnh vực của họ theo cách này?" - Vâng . Trong sơ đồ phân vùng MBR sdx5trở lên (nếu có) là các phân vùng logic bên trong một phân vùng mở rộng.
Kamil Maciorowski

Câu trả lời:


1

Các phân vùng không được chồng lấp ... nhưng những gì bạn thực sự có ở đây là " Phân vùng mở rộng ". Với các phân vùng mở rộng, bạn tạo một phân vùng " cha " chứa các phân vùng khác, cho phép bạn có nhiều hơn 4 phân vùng được MBR hỗ trợ .


Để tận dụng không gian thừa của bạn, bạn cần xóa cẩn thận và tạo lại các phân vùng ...

Ví dụ của tôi sử dụng tệp 100 MB mà tôi đã phân vùng, đặt hệ thống tệp vào.

$ fdisk disk.dd <<<"p"

Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): Disk disk.dd: 100 MiB, 104857600 bytes, 204800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xcff1f22d

Device     Boot Start    End Sectors Size Id Type
disk.dd1         2048  43007   40960  20M 83 Linux
disk.dd2        43008 204799  161792  79M  5 Extended
disk.dd5        45056 204799  159744  78M 83 Linux

Sau đó tôi mở rộng tệp (điều này có tác dụng rất giống với những gì bạn đã làm):

$ truncate -s 200M disk.dd

Bây giờ, chúng ta phải xóa tất cả các phân vùng có trong phân vùng mở rộng và sau đó là phân vùng mở rộng:

$ fdisk disk.dd

Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): d
Partition number (1,2,5, default 5): 5

Partition 5 has been deleted.

Command (m for help): d
Partition number (1,2, default 2): 2

Partition 2 has been deleted.

Command (m for help): p
Disk disk.dd: 200 MiB, 209715200 bytes, 409600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xcff1f22d

Device     Boot Start   End Sectors Size Id Type
disk.dd1         2048 43007   40960  20M 83 Linux

Sau đó, chúng tôi phải tạo lại các phân vùng, đảm bảo rằng các thành phần Bắt đầu khớp chính xác với bản gốc (cái này sử dụng số của tôi, không phải của bạn). Sau đó viết các thay đổi.

Ở đây tôi đang sử dụng các giá trị mặc định (chỉ cần nhấn các phân vùng được tạo lại bắt đầu sớm và làm cho chúng lớn nhất có thể) ... Bạn có thể đưa ra các giá trị nếu bạn muốn giữ một khoảng trống cho các phân vùng khác.

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): e
Partition number (2-4, default 2):
First sector (43008-409599, default 43008): 43008
Last sector, +sectors or +size{K,M,G,T,P} (43008-409599, default 409599):

Created a new partition 2 of type 'Extended' and of size 179 MiB.

Command (m for help): n
All space for primary partitions is in use.
Adding logical partition 5
First sector (45056-409599, default 45056):
Last sector, +sectors or +size{K,M,G,T,P} (45056-409599, default 409599):

Created a new partition 5 of type 'Linux' and of size 178 MiB.

Command (m for help): p
Disk disk.dd: 200 MiB, 209715200 bytes, 409600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xcff1f22d

Device     Boot Start    End Sectors  Size Id Type
disk.dd1         2048  43007   40960   20M 83 Linux
disk.dd2        43008 409599  366592  179M  5 Extended
disk.dd5        45056 409599  364544  178M 83 Linux

Command (m for help): w
The partition table has been altered.
Synching disks.

Đừng quên duy trì loại phân vùng. Trong trường hợp ví dụ, mặc định ( 83) là tốt, nhưng bạn sẽ muốn sử dụng tđể đặt loại trở lại 8e.

Bây giờ, bạn có thể cần chạy partprobe, đưa thiết bị của bạn (ví dụ /dev/sda:). Điều này sẽ nhận được hệ thống để tải lại bảng phân vùng. Sử dụng lsblkđể kiểm tra xem kích thước phân vùng có chính xác không.

Cuối cùng, thay đổi kích thước hệ thống tập tin. Điều này có thể được thực hiện trong khi nó trực tuyến (gắn kết). Nếu nó không được gắn kết, thì có lẽ bạn sẽ được hứa sẽ thực hiện " kiểm tra và sửa chữa " đầy đủ trước:

$ e2fsck -f /dev/loop1
e2fsck 1.42.13 (17-May-2015)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/loop1: 12/20000 files (0.0% non-contiguous), 8180/79872 blocks
$ resize2fs /dev/loop1
resize2fs 1.42.13 (17-May-2015)
Resizing the filesystem on /dev/loop1 to 182272 (1k) blocks.
The filesystem on /dev/loop1 is now 182272 (1k) blocks long.

Bây giờ, khi hệ thống tập tin được kết nối lại, bạn sẽ thấy không gian thêm mà bạn đang theo dõi:

$ mount /dev/loop1 ./mnt
$ df -h mnt
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop1      169M  1.6M  155M   1% /home/attie/box/so/mnt
$ cat mnt/test
hello world

Bạn đã chỉ ra (trong một bình luận) rằng bạn không thể đặt phần bắt đầu của phân vùng 5 ở nơi cần có - fdiskđang đưa ra một phạm vi không tương thích.

Để khắc phục điều này, bạn sẽ cần tạo phân vùng 5 như bình thường ... nhưng sử dụng giá trị bắt đầu mặc định không chính xác, một vài cung lớn hơn giá trị mong muốn của bạn. Khi phân vùng đã được tạo, bạn có thể vào chế độ Expert ( x) và đặt bắt đầu thủ công hơn. Sau đó quay trở lại chế độ bình thường ( r) và in lại bảng ... nếu các số có vẻ tốt, sau đó viết nó ( w).

Trong ví dụ dưới đây, tôi đã tạo phân vùng và sử dụng giá trị mặc định fdiskđược cung cấp (45056) ... Sau đó, tôi sử dụng chế độ chuyên gia để đặt giá trị " chính xác " (43010) nếu không nằm ngoài phạm vi.

Command (m for help): p
Disk disk.dd: 200 MiB, 209715200 bytes, 409600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa11ae080

Device     Boot Start    End Sectors  Size Id Type
disk.dd1         2048  43007   40960   20M 83 Linux
disk.dd2        43008 409599  366592  179M  5 Extended
disk.dd5        45056 409599  364544  178M 83 Linux

Command (m for help): x

Expert command (m for help): b
Partition number (1,2,5, default 5): 5
New beginning of data (43009-409599, default 45056): 43010

Expert command (m for help): r

Command (m for help): p

Disk disk.dd: 200 MiB, 209715200 bytes, 409600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa11ae080

Device     Boot Start    End Sectors  Size Id Type
disk.dd1         2048  43007   40960   20M 83 Linux
disk.dd2        43008 409599  366592  179M  5 Extended
disk.dd5        43010 409599  366590  179M 83 Linux

Tôi đã có một chút lục lọi trong các fdisknguồn, nhưng không thể thấy rõ lý do tại sao nó lại thêm bộ đệm ~ 1 MB này ... Vì đĩa của bạn đã được thiết lập mà không có nó, mọi thứ sẽ ổn.


Cảm ơn bạn rất nhiều vì những nỗ lực! Tôi vẫn gặp một số vấn đề, cụ thể là sau khi tạo sda2, sử dụng Command ntôi đang tạo phân vùng logic cho sda5, nhưng khu vực đầu tiên tôi được phép chọn nằm trên số ngành mà tôi yêu cầu theo hướng dẫn của bạn; 'Chọn (p mặc định): l Thêm phân vùng logic 5 Khu vực đầu tiên (1003520-260295199, mặc định 1003520):' Trong đó khu vực đầu tiên trong sda5 tôi đã xóa được đánh số 1001472, ngăn tôi khớp với các khu vực Bắt đầu. Tôi nên tiến hành như thế nào?
Lafayette

Bạn đã tạo lại sda2như một phân vùng mở rộng , với khu vực bắt đầu chính xác? (tức là: 1001470 theo câu hỏi ban đầu của bạn). Khu vực cuối phải ở gần hoặc ở cuối đĩa.
Attie

Nếu bạn nghi ngờ, ^Cra khỏi fdiskđể hủy bỏ bất kỳ thay đổi - chúng chỉ được ghi vào đĩa khi bạn cung cấp cho các wlệnh.
Attie

Tôi đã tạo sda2 một phân vùng mở rộng từ 1001470 đến hết (230195199), nhưng khi tôi chuyển sang tạo sda5 như một phân vùng hợp lý, nhưng nó chỉ cho phép tôi khởi động nó từ sector 1003520 chứ không phải 1001472. Tôi nên làm gì? Về ^ C và bị nghi ngờ - điều đó tốt, khi tôi phá hỏng VM của tôi, tôi chỉ nhân bản một cái khác;)
Lafayette

1
Thật tuyệt vời, nó hoạt động - nghĩa là nó không giết được VM của tôi: DI vẫn có vấn đề với việc điều chỉnh hệ thống tập tin để nó có thể sử dụng các cung này thông qua resize2fs ( superuser.com/questions/1303383/ .)
Lafayette
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.