Có, thay đổi kích thước khởi động là có thể nhưng nó rất phức tạp. Tôi sẽ chỉ thử điều này sau khi sao lưu TẤT CẢ dữ liệu của bạn. Nếu bạn mắc lỗi, khả năng mất dữ liệu là khá cao. Bạn sẽ muốn có sẵn một số USB / CD có khả năng khởi động Ubuntu vì bạn nên thực hiện các thao tác này sau khi khởi động vào USB / CD trực tiếp.
Tôi đã phát hiện ra một cách khó khăn khi cộng đồng linux thay đổi các yêu cầu liên quan đến kích thước yêu cầu của phân vùng khởi động. Trước đây, 100-200 MB là đủ để khởi động nhưng sau đó cộng đồng đã tăng gấp đôi yêu cầu về kích thước của nó. Điều này tác động đến người dùng đang theo các hướng dẫn trước đó.
/server/334663/what-is-the-recommends-size-for-a-linux-boot-partition
Đối với các yêu cầu hiện tại cho / boot tôi sẽ giới thiệu cho bạn các hướng dẫn chính thức.
https://help.ubfox.com/community/DiskSpace
Tại thời điểm viết bài này, các hướng dẫn khuyến nghị / khởi động từ 250MB đến 1GB dung lượng. Tôi muốn giới thiệu một phân vùng khởi động riêng biệt với không gian cần thiết lớn nhất. Phân vùng khởi động cần phải được mã hóa trong quá trình khởi động. Quá trình khởi động sẽ được gắn các phân vùng được mã hóa khác nhau trên đường đi, ví dụ như các đĩa được mã hóa LUKS hoặc các thư mục HOME được mã hóa và có sự khác biệt giữa các phương pháp này. Theo kinh nghiệm của tôi, việc sử dụng các tùy chọn mã hóa ổ cứng Ubuntu khác nhau có xu hướng dẫn đến các vấn đề khi nâng cấp Ubuntu sau này khi yêu cầu can thiệp thủ công.
Để có một cái nhìn tổng quan, tôi sẽ giới thiệu cho bạn bài viết này tôi coi là được viết tốt.
'LUKS mã hóa nhiều phân vùng trên Debian / Ubuntu bằng một cụm mật khẩu duy nhất'
https://www.martineve.com/2012/11/02/luks-encrypting-multipl-partitions-on-debianubfox-with-a-single-passphrase/
Khi bạn thấy cần phải thay đổi phân vùng của mình, tôi thấy bài đăng này rất hữu ích.
'Cách thay đổi kích thước hệ thống tệp được mã hóa LUKS'
https://ubuntuforums.org/showthread.php?t=726724
Bây giờ vì gparted không hỗ trợ di chuyển các phân vùng LUKS được mã hóa, điều này không thể được thực hiện bằng cách sử dụng các lệnh gparted từ dòng lệnh cũng như GUI. Tôi đã thấy rằng bạn có thể sử dụng gparted để tạo phân vùng và sau đó sử dụng dd để di chuyển các phân vùng được mã hóa của bạn xung quanh bằng cách sử dụng các bản sao của ngành. Điều này không liên quan đến việc có thể tính toán kích thước phân chia theo các lĩnh vực. Làm sai có nghĩa là mất dữ liệu và cài đặt lại.
Trong trường hợp của tôi, tôi cần tăng kích thước của phần khởi động của mình từ 537MB lên 1GB. Tôi cần điều này như là một phần của bản nâng cấp của tôi từ Ubuntu 12.04 đến 14.04 để bản nâng cấp Ubuntu có thể tìm đủ không gian trên / boot. Có, bạn có thể xóa autoremove để giải phóng không gian trong / boot nhưng các yêu cầu chung đã thay đổi nên tôi cũng đang mở rộng boot để điều chỉnh theo các nguyên tắc đó. Đây là cách bố trí phân vùng của tôi.
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB fat32 boot
2 538MB 794MB 256MB ext2
3 794MB 240GB 239GB
Tôi có đĩa được mã hóa LUKS ở phần 3 và khởi động của tôi trong phân vùng số 1 vì vậy không có đủ không gian để mở rộng / khởi động. Lưu ý Gparted không thể di chuyển phân vùng số 3 vì đây là phân vùng được mã hóa. Để khắc phục điều này, tôi đã tạo một phần thứ tư ở cuối đĩa có cùng kích thước trong các cung và sử dụng dd để sao chép nội dung của phân vùng # 3 sang phân vùng # 4. Tôi thấy nó hữu ích để thay đổi kích thước gốc của tôi đến kích thước tối thiểu cần thiết. Vì vậy, tôi đã thực hiện các thao tác sau để giải quyết kích thước của tôi / boot.
- Thu gọn hệ thống tập tin gốc trong phân vùng # 3
- Thay đổi kích thước phân vùng # 3 (nhỏ hơn)
- Tạo phân vùng số 4 có cùng kích thước (ở cuối đĩa)
- Được sử dụng DD để sao chép các lĩnh vực của phân vùng # 3 sang phân vùng số 4
- Đã xóa phân vùng số 3 để giải phóng không gian trên đĩa
- Được sử dụng Gparted để thay đổi kích thước và di chuyển các phân vùng # 1 và # 2
- Tạo một phần # 3 mới có cùng kích thước với phân số # 3 (hoặc phân vùng số 4) bị thu hẹp
- Được sử dụng DD để sao chép các lĩnh vực của phân vùng số 4 sang phân vùng số 3
- Xóa phân vùng số 4
- Mở rộng kích thước của phần # 3 thành kích thước # 3 ban đầu
- Đã cập nhật hệ thống tệp có trong phân vùng được mã hóa # 3 vào không gian còn lại
Bằng cách này, tôi có thể xóa phân vùng # 3 và sử dụng gparted để di chuyển và phóng to phân vùng # 1 và # 2. Đọc qua các hướng dẫn ở trên sẽ cung cấp đủ cái nhìn sâu sắc để điều hướng con đường phía trước của bạn. Nó không được hiển thị ở đây nhưng khi thu hẹp phân vùng gốc của tôi, tôi đã xóa một nhóm khối lượng trao đổi trên cùng một phân vùng và tạo lại nó ở cuối. Tất cả điều này đang được thực hiện trong khi khởi động vào ổ flash USB Linux Live. Sau đây là một số lưu ý của tôi không có sẵn trong hướng dẫn ở trên.
Tôi thấy blockdev hữu ích trong việc hiển thị kích thước của các phân vùng trong các ngành. Điều này giúp tôi khi tôi đang tính toán kích thước ngành.
sudo blockdev --getsize /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p2
499712
Lệnh Gparted 'unit s' sẽ hiển thị bảng phân vùng của bạn trong các sector. Tất cả các kích thước phân vùng, xóa và tạo được thực hiện bằng Gparted. Bằng cách này, bạn có thể thực hiện tất cả các phép toán trong các lĩnh vực. 'Đơn vị nhỏ gọn' sẽ chuyển về định dạng MB / GB, nếu bạn muốn xem toán học ngành trông như thế nào.
(parted) unit s
(parted) p
Model: Linux device-mapper (mirror) (dm)
Disk /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500: 468857096s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 2048s 1050623s 1048576s fat32 boot
2 1050624s 1550335s 499712s ext2
3 1550336s 456656896s 455106561s
Lệnh resize2fs có một tùy chọn tiện lợi để thay đổi kích thước thành Tối thiểu. Ngoài ra, tôi đã xóa nhóm khối lượng trao đổi của mình trong phần này.
ubuntu@ubuntu:~$ sudo resize2fs -M -p /dev/ubuntu-vg/root
resize2fs 1.42.9 (4-Feb-2014)
Resizing the filesystem on /dev/ubuntu-vg/root to 2261211 (4k) blocks.
Begin pass 3 (max = 1600)
Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/ubuntu-vg/root is now 2260992 blocks long.
Khi bạn thay đổi kích thước bảng phân vùng, hãy quay lại và cập nhật gparted. Đã sử dụng 4096 * 2260992 và sau đó blockdev để kiểm tra toán ở đây. Đây là lệnh gparted.
(parted) resizepart 3
End? [224419843s]? 225970179s
Warning: Shrinking a partition can cause data loss, are you sure you want to continue?
Yes/No? yes
Device /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p3 not found
device-mapper: table ioctl on failed: No such device or address
(parted) p
Model: Linux device-mapper (mirror) (dm)
Disk /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500: 468857096s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 2048s 1050623s 1048576s fat32 boot
2 1050624s 1550335s 499712s ext2
3 1550336s 225970179s 224419844s
Lưu ý kích thước đếm khu vực của phân vùng số 3 nhỏ hơn danh sách ban đầu của tôi tức là Cách này bạn có thể sử dụng gparted để tạo phân vùng số 4 trước bản sao DD. Việc thu hẹp giải phóng thêm không gian đĩa cho bản sao đó.
ubuntu@ubuntu:~$ sudo dd if=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 of=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 bs=512 skip=1550336 count=224419844 seek=244437218
224419844+0 records in
224419844+0 records out
114902960128 bytes (115 GB) copied, 2146.1 s, 53.5 MB/s
Sau khi sao chép DD, hãy tiếp tục và phóng to kích thước phân vùng / boot của bạn. Bạn sẽ xóa phân vùng số 3 ban đầu và sau đó tạo lại phân vùng số 3 tại một vị trí khu vực mới sau khi phân vùng # 1 và # 2 được mở rộng. Một lần nữa blockdev đã được sử dụng để đo kích thước khu vực. Tôi đã tạo phân vùng số 3 này có cùng kích thước với phân vùng số 4 nhỏ hơn phân số 3 ban đầu. Sử dụng DD để sao chép phân vùng số 4 vào phân vùng số 3.
ubuntu@ubuntu:~$ sudo dd if=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 of=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 bs=512 skip=244437218 count=224419844 seek=9242624
Sau khi sao chép, xóa phân vùng số 4 và mở rộng kích thước của phân vùng số 3. Trong trường hợp của tôi, tôi chỉ khôi phục lại phần 3 để kích thước nó khi tôi bắt đầu. Tôi đã có đủ không gian để làm điều này.
(parted) resizepart 3
End? [464349185s]? 464349184s
Warning: Shrinking a partition can cause data loss, are you sure you want to continue?
Yes/No? y
Device /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p3 not found
device-mapper: table ioctl on failed: No such device or address
(parted) p
Model: Linux device-mapper (mirror) (dm)
Disk /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500: 468857096s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 2048s 4192255s 4190208s fat32 boot
2 5146624s 9242623s 4096000s ext2
3 9242624s 464349184s 455106561s
Khi gparted tăng kích thước phân vùng, nó không cập nhật hệ thống tập tin. Lưu ý hệ thống tập tin được chứa bên trong phân vùng được mã hóa để nó phải được mở và gắn kết để thực hiện thay đổi này. Sử dụng lệnh sau để khắc phục điều này. Điều này có thể được thực hiện trên hệ thống trực tiếp nếu cần thiết.
user@zagyg:/$ sudo resize2fs /dev/ubuntu-vg/root
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/ubuntu-vg/root is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 13
The filesystem on /dev/ubuntu-vg/root is now 54266880 blocks long.
Tóm lại, mặc dù Gparted không hỗ trợ hoạt động của anh ấy một cách tự nhiên nhưng nó là một công cụ hữu ích đáng kinh ngạc để quản lý các phân vùng. Theo tôi là hữu ích hơn một chút so với fdisk. Giữa Gparted và DD tôi đã có thể quản lý các phân vùng của mình và sau đó chỉ cần sử dụng các công cụ Ubuntu để nâng cấp từ 12.04 LTS lên 14.04 LTS.