Cách giải phóng không gian một cách an toàn trong phân vùng khởi động trên Ubunt

Tác giả sysadmin, T.Chín 27, 2023, 09:16:42 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Cách giải phóng không gian một cách an toàn trong phân vùng khởi động trên Ubuntu


Đối mặt với lỗi không gian khởi động đầy đủ. Kiểm tra mức sử dụng và làm sạch phân vùng khởi động bằng các phương pháp đơn giản.

  • Để giải phóng dung lượng trong phân vùng khởi động, bạn có thể sử dụng lệnh "sudo apt autoremove" hoặc với tên gói cụ thể, lệnh "dpkg --purge". Các lệnh này có thể loại bỏ các Kernel cũ không được sử dụng để giải phóng không gian trong phân vùng khởi động.
  • Bạn có thể sử dụng ứng dụng đồ họa như Synaptic để quản lý và xóa các Kernel cũ. Bằng cách sử dụng công cụ này, bạn có thể đánh dấu nhiều gói kernel để loại bỏ cùng một lúc—dẫn đến nhiều không gian trống hơn.
  • Bạn cũng có thể thay đổi kích thước vĩnh viễn phân vùng khởi động để có thêm dung lượng bằng GParted.


Dọn dẹp phân vùng khởi động trên hệ thống Ubuntu Linux thường liên quan đến việc xóa các tệp kernel cũ hoặc không sử dụng. Theo thời gian, khi bạn cập nhật nhân Linux, các phiên bản nhân cũ sẽ tích lũy và chiếm dung lượng. Để giải phóng không gian khởi động, bạn chỉ cần loại bỏ các Kernel cũ hoặc thay đổi kích thước phân vùng khởi động cùng một lúc.

1. Phân vùng khởi động trên Linux là gì? (Và tại sao bạn nên làm sạch nó)

Phân vùng khởi động trên Linux là một phân vùng nhỏ chứa các file cần thiết để khởi động hệ điều hành. Chủ yếu, nó chứa kernel, initrd và bootloader. Phân vùng khởi động thường được gắn tại /boot/. Phân vùng khởi động rất hữu ích để chạy nhiều hệ điều hành trên một máy hoặc hệ thống. Nó cho phép mỗi hệ điều hành có bộ nạp khởi động riêng.

Bạn nên dọn dẹp phân vùng khởi động định kỳ để loại bỏ các kernel cũ và không sử dụng. Những Kernel cũ này chiếm nhiều dung lượng và gây ra sự cố khi cập nhật hệ thống. Điều này cũng có thể ngăn chặn các bản cập nhật tiếp theo và thậm chí làm chậm quá trình khởi động. Một số nhân cũ có thể chứa lỗi hoặc lỗ hổng có thể khiến hệ thống Linux của bạn gặp mối đe dọa.

Bạn có thể sử dụng các công cụ như apt autoremovexóa Kernel cũ hoặc xóa thủ công các tệp khỏi /boot/. Không xóa kernel hiện tại hoặc các tập tin mà bộ nạp khởi động cần. Nếu không, hệ thống của bạn sẽ không khởi động được.

Thay đổi kích thước phân vùng khởi động trên Linux là một thao tác rủi ro có thể gây mất dữ liệu, hỏng hệ thống hoặc lỗi khởi động. Trước khi bạn cố gắng sửa đổi phân vùng khởi động, hãy sao lưu dữ liệu của bạn và kiểm tra tình trạng ổ đĩa.

2. Kiểm tra việc sử dụng phân vùng khởi động

Trước khi giải phóng dung lượng, bạn phải kiểm tra việc sử dụng phân vùng khởi động. Điều này sẽ cho bạn biết hệ thống của bạn chiếm bao nhiêu dung lượng phân vùng khởi động. Nó cũng sẽ giúp xác định dung lượng mà phân vùng khởi động cần.

Để kiểm tra việc sử dụng phân vùng khởi động, bạn có thể chạy lệnh df -h. Tùy -hchọn ở đây hiển thị thông tin ở định dạng dễ đọc hơn—tính bằng gigabyte và megabyte:

Mã nguồn [Chọn]
df -h

Đầu ra của lệnh này sẽ hiển thị tổng kích thước phân vùng khởi động, dung lượng đã sử dụng, dung lượng trống và phần trăm sử dụng.

3. Loại bỏ Kernel cũ bằng thiết bị đầu cuối Linux

Khi bạn thường xuyên cập nhật hệ thống Ubuntu Linux, việc các tệp kernel cũ bắt đầu tích lũy theo thời gian là điều bình thường. Các phiên bản kernel cũ hơn được tích lũy này có thể tiêu tốn dung lượng đĩa có giá trị trong phân vùng khởi động.

Việc xóa các tệp Kernel cũ không được sử dụng sẽ giải phóng dung lượng trong phân vùng khởi động—tạo thêm không gian cho các tệp khác hoặc Kernel mới.

Bạn có thể sử dụng lệnh apt autoremove để tự động loại bỏ các kernel không sử dụng. Lệnh này cũng loại bỏ các phụ thuộc liên quan không được sử dụng. Chạy lệnh sau trong terminal:

Mã nguồn [Chọn]
sudo apt autoremove

Lệnh này sẽ hiển thị danh sách tất cả các gói sẽ bị xóa. Bạn nên nhấn Y để tiếp tục.

Phương pháp này autoremove sẽ chỉ hoạt động nếu bạn còn một khoảng trống trong phân vùng /boot. Nếu phân vùng /boot của bạn đã đầy, trước tiên bạn phải gỡ bỏ một số kernel cũ theo cách thủ công.

Trước khi bạn tiến tới xóa thủ công các Kernel cũ—trước tiên hãy kiểm tra tên và phiên bản của Kernel đang chạy. Điều này đảm bảo rằng bạn không vô tình xóa kernel đang hoạt động, điều này rất quan trọng đối với sự ổn định của hệ thống.

Bạn có thể tìm phiên bản kernel hiện đang chạy bằng lệnh uname. Điều này sẽ hiển thị phiên bản kernel mà bạn đang sử dụng—và bạn không nên xóa:

Mã nguồn [Chọn]
uname -r

Sau khi biết kernel hiện tại, bạn có thể sử dụng lệnh ls để liệt kê tất cả nội dung của thư mục /boot ở định dạng chi tiết:

Mã nguồn [Chọn]
ls -l /boot
Lệnh này hiển thị cho bạn các tệp liên quan đến nhân Linux, chẳng hạn như hình ảnh nhân (vmlinuz), hình ảnh đĩa ram ban đầu (initrd.img) và các tệp cấu hình. Bạn có thể xóa các Kernel không sử dụng được gắn nhãn là "cũ" hoặc có số phiên bản khác với Kernel hiện tại.


Bạn có thể sử dụng lệnh dpkg để liệt kê tất cả các gói đã cài đặt có "linux-image" trong tên gói của chúng. Nó đặc biệt nhắm mục tiêu các gói liên quan đến nhân Linux, bao gồm các phiên bản nhân khác nhau và các mô-đun liên quan.

Mã nguồn [Chọn]
dpkg -l | grep linux-image
Điều này sẽ cho bạn thấy một cái gì đó như thế này:


Đầu ra chỉ ra rằng nhiều hình ảnh nhân Linux đã được cài đặt trên hệ thống. Những cái được gắn nhãn trạng thái "ii" đã được cài đặt. Những tệp được đánh dấu là "rc" đã bị xóa nhưng vẫn còn các tệp cấu hình. Các Kernel 5.15.0-25-generic và 6.2.0-26-generic là các phiên bản Kernel cũ hơn. Phiên bản mới nhất là 6.2.0-32-generic và phiên bản trước đó là 6.2.0-31-generic.

Bạn có thể nhận thấy rằng lệnh ls -l /boot không hiển thị các Kernel 5.15.0-25-generic và 6.2.0-26-generic. Điều này là do cả hai Kernel này đều đã bị xóa và được lệnh gắn nhãn là "rc" dpkg.

Bạn nên giữ ít nhất một hoặc hai Kernel trước đó làm bản sao lưu. Bạn có thể sử dụng kernel trước để khởi động hệ thống của mình nếu kernel mới nhất bị lỗi. Nó cũng tránh mất dữ liệu hoặc bất kỳ nhu cầu cài đặt lại hệ điều hành.

Kernel 6.2.0-32-generic là kernel hiện tại nên chúng tôi không muốn xóa nó. Để loại bỏ kernel cũ hơn không được sử dụng, hãy sử dụng lệnh có định dạng sau:

Mã nguồn [Chọn]
sudo apt remove linux-image-<old_kernel_version>
Trong lệnh trên, linux-image-<old_kernel_version> là tên của gói chứa phiên bản kernel cũ. Tại đây, bạn có thể chỉ định kernel bạn muốn loại bỏ.

Để xóa kernel linux-image-5.15.0-25-generic, bạn có thể sử dụng lệnh sau:

Mã nguồn [Chọn]
sudo apt remove linux-image-5.15.0-25-generic

Thao tác này cũng sẽ xóa mọi gói liên quan, chẳng hạn như mô-đun linux hoặc tiêu đề linux. Xác nhận hành động bằng cách nhấn Y.

Tương tự, bạn cũng có thể loại bỏ kernel cũ hơn bằng cách sử dụng:

Mã nguồn [Chọn]
sudo apt remove linux-image-6.2.0-26-generic

Các gói kernel cũ được gỡ bỏ bằng lệnh apt remove vẫn xuất hiện trong dpkg -l danh sách. Điều này là do lệnh apt remove thận trọng hơn trong việc không xóa các gói có thể được các gói khác yêu cầu. Vì vậy, nếu phát hiện thấy gói đã ở trạng thái "đã xóa", nó có thể không cố gắng xóa lại.


Đây là lý do tại sao, trong trường hợp trên, việc chạy apt remove không xóa gói khỏi dpkg -l danh sách—vì nó đã được đánh dấu là "rc".

Bạn có thể sử dụng lệnh dpkg purge để xóa hoàn toàn gói và các tệp cấu hình liên quan của nó khỏi hệ thống của mình. Khi bạn chạy dpkg --purge, nó không kiểm tra các phần phụ thuộc. Nó chỉ đơn giản là loại bỏ gói bạn chỉ định:

Mã nguồn [Chọn]
sudo dpkg --purge linux-image-5.15.0-25-generic

Lệnh này sẽ xóa gói linux-image-5.15.0-25-generic một cách rõ ràng, có nghĩa là nó loại bỏ gói hình ảnh linux và các phần phụ thuộc liên quan của nó. Bây giờ gói sẽ không còn xuất hiện trong dpkg -l danh sách nữa.

Tương tự, bạn cũng có thể loại bỏ hoàn toàn gói kernel chung 6.2.0-26 bằng lệnh bên dưới:

Mã nguồn [Chọn]
sudo dpkg --purge linux-image-6.2.0-26-generic
Bây giờ gói 6.2.0-26 cũng bị xóa khỏi dpkg -l danh sách.


Bạn cũng có thể sử dụng lệnh rm để loại bỏ các kernel cũ khỏi phân vùng khởi động.

Mã nguồn [Chọn]
sudo rm /boot/vmlinuz-6.2.0-26-generic
Để xóa nhiều tệp có cùng kiểu đặt tên, bạn có thể sử dụng lệnh bên dưới:

Mã nguồn [Chọn]
sudo rm /boot/*-6.2.0-{26}-*
Lệnh này sẽ xóa tất cả các tệp trong phân vùng khởi động có tên khớp với mẫu -6.2.0-{26}.

Bạn cũng có thể chỉ định nhiều mẫu đặt tên để xóa tất cả chúng cùng một lúc. Dấu phẩy (,) ở giữa lệnh chỉ định nhiều giá trị trong dấu ngoặc nhọn mở rộng.

Mã nguồn [Chọn]
sudo rm /boot/*-6.2.0-{26,31}-*
Lệnh trên sẽ xóa các tệp trong thư mục /boot có tên khớp với mẫu -6.2.0-{26} hoặc -6.2.0-{31}.

Bây giờ hãy cập nhật cấu hình bộ nạp khởi động GRUB để tránh hiển thị các Kernel cũ hơn:

Mã nguồn [Chọn]
sudo update-grub

Chạy lệnh autoremove để dọn sạch mọi gói còn lại không còn cần thiết. Lệnh này cũng sẽ xóa các tệp initramfs và tiêu đề cũ được liên kết với các Kernel đã xóa:

Mã nguồn [Chọn]
sudo apt autoremove

4. Xóa các tệp Kernel cũ không sử dụng bằng Synaptic

Việc loại bỏ các kernel cũ bằng thiết bị đầu cuối có thể khó khăn và rủi ro. Nó đòi hỏi phải gõ các lệnh phức tạp và biết tên chính xác của các gói kernel. Bạn có thể dễ dàng loại bỏ các kernel cũ bằng công cụ quản lý gói dựa trên GUI có tên Synaptic.

Sử dụng Synaptic, bạn có thể loại bỏ có chọn lọc các Kernel cũ không được sử dụng. Bạn phải luôn giữ kernel hiện tại và kernel trước đó làm bản sao lưu cho hệ thống. Điều này sẽ cải thiện hiệu suất hệ thống của bạn và tiết kiệm dung lượng ổ đĩa.

Trước tiên, bạn cần cài đặt Synaptic trên hệ thống của mình. Để cài đặt Synaptic, hãy sử dụng lệnh sau:

Mã nguồn [Chọn]
sudo apt install synaptic

Khởi chạy Synaptic từ menu ứng dụng hoặc bằng cách gõ sudo synapticvào cửa sổ terminal.


Trong cửa sổ Synaptic, nhấp vào nút "Phần". Bây giờ chọn "Kernel và mô-đun". Điều này sẽ hiển thị tất cả các phiên bản kernel đã cài đặt trên hệ thống của bạn.


Bạn cũng có thể sử dụng tùy chọn "Tìm kiếm" để tìm các Kernel cũ hơn. Nhập hình ảnh linux và nhấp vào "Tìm kiếm". Điều này sẽ hiển thị tất cả các gói kernel đã cài đặt trên các phân vùng hệ thống của bạn.


Nhấp chuột phải vào bất kỳ gói kernel cũ nào bạn muốn xóa (ngoại trừ gói hiện tại và gói trước đó) và chọn "Mark for Complete Removal". Bạn có thể chạy lệnh uname -r trong cửa sổ terminal để tìm phiên bản kernel hiện tại.


Bây giờ hãy nhấp vào "Áp dụng" để bắt đầu xóa phiên bản kernel đã chọn.


Bạn sẽ thấy một bản tóm tắt các hành động sắp được thực hiện. Xác nhận việc xóa các gói đã chọn bằng cách nhấp vào nút "Áp dụng".


Các tệp gói kernel đã chọn và các phần phụ thuộc liên quan của chúng sẽ bị xóa. Nó sẽ giải phóng một số dung lượng đĩa trên phân vùng khởi động.


5. Thay đổi kích thước phân vùng khởi động trên Ubuntu để giải phóng dung lượng

Cả hai phương pháp được thảo luận trước đó đều phụ thuộc vào việc loại bỏ các Kernel hoặc gói không sử dụng. Nhưng việc loại bỏ các kernel cũ không phải là giải pháp lâu dài. Phân vùng khởi động hệ thống Ubuntu của bạn vẫn có thể đầy nhờ các gói bạn cài đặt. Vì vậy, nếu bạn vẫn không hài lòng với dung lượng đã giải phóng, hãy thay đổi kích thước phân vùng khởi động để tránh các vấn đề về lỗi thư mục đầy đủ.

Bạn có thể dễ dàng thay đổi kích thước phân vùng khởi động bằng công cụ GParted trên Ubuntu. GParted là trình chỉnh sửa phân vùng đồ họa có thể dễ dàng thay đổi kích thước, di chuyển, sao chép và thao tác các phân vùng trên ổ cứng của bạn.

Trước khi thay đổi kích thước phân vùng khởi động, hãy đảm bảo sao lưu dữ liệu quan trọng của bạn. Đây là tác vụ có mức độ rủi ro cao liên quan đến việc thay đổi ranh giới phân vùng khởi động, có thể dẫn đến sự cố khởi động.

Bắt đầu bằng cách tạo một ổ USB có khả năng khởi động có chứa tệp ISO của công cụ GParted. GParted là phiên bản di động của hệ thống Ubuntu có thể quản lý các phân vùng. Trước tiên hãy tải xuống tệp ISO GParted cần thiết để tạo ổ đĩa khởi động.


Sau khi tải xuống tệp ISO GParted, bạn có thể tạo ổ đĩa khởi động bằng công cụ như Rufus. Bằng cách sử dụng công cụ này, bạn có thể ghi tệp ISO vào ổ USB—làm cho nó có khả năng khởi động và sẵn sàng để sử dụng.

Mở hệ thống Ubuntu của bạn và chạy lệnh df -h để xác định kích thước hiện tại của phân vùng khởi động.


6. Khởi chạy GParted trên PC

Để sử dụng GParted, bạn phải thay đổi thứ tự khởi động trong cài đặt BIOS của hệ thống. Điều này có nghĩa là bạn cần yêu cầu hệ thống của mình khởi động từ ổ USB hoặc CD/DVD có chứa GParted (thay vì ổ cứng bên trong của bạn).

Bạn có thể vào BIOS sau khi khởi động lại hệ thống. Bạn cần nhấn một phím cụ thể để truy cập chế độ BIOS trên hệ thống của mình. Chìa khóa có thể khác nhau tùy thuộc vào kiểu hệ thống và nhà sản xuất. Nó thường là một trong các phím sau: F1, F2, F10, F12, DEL hoặc ESC. Bạn cũng có thể kiểm tra hướng dẫn sử dụng hệ thống hoặc hướng dẫn trên màn hình để biết phím nào cần nhấn.

Mở menu "Khởi động" hoặc "Thứ tự khởi động" bên trong cài đặt BIOS hoặc UEFI.

Thay đổi thứ tự khởi động để ưu tiên ổ USB. Di chuyển ổ USB GParted lên đầu danh sách hoặc chọn nó làm thiết bị khởi động đầu tiên. Bạn cũng có thể nhấn "Enter" để khởi động trực tiếp GParted từ ổ USB.

Khi bạn đã thay đổi thứ tự khởi động và lưu các thay đổi, bạn cần thoát khỏi chế độ BIOS và khởi động lại hệ thống của mình. Thao tác này sẽ khởi động hệ thống của bạn từ ổ USB hoặc CD/DVD có chứa GParted.

7. Khởi chạy GParted dưới dạng máy ảo

Nếu bạn đang sử dụng Ubuntu làm máy ảo (VM), bạn cần tạo một máy ảo GParted có khả năng khởi động. Trong khi cài đặt máy ảo GParted, không tạo đĩa cứng ảo cho nó. GParted là bản phân phối Linux trực tiếp chạy hoàn toàn trên RAM nên không yêu cầu ổ cứng ảo.

Trong cài đặt máy ảo GParted, đặt ổ đĩa quang làm thiết bị khởi động chính trước đĩa cứng.


Đưa tùy chọn đĩa quang lên hàng đầu đồng nghĩa với việc đặt ổ đĩa quang ảo làm thiết bị khởi động đầu tiên. Điều này đảm bảo rằng khi bạn khởi động GParted VM, GParted ISO hoặc Live CD sẽ được nhận dạng là nguồn khởi động chính.

Sau khi thiết lập GParted VM, bạn cần đính kèm đĩa cứng ảo (VDI) chứa cài đặt Ubuntu của bạn vào GParted. Tệp VDI đại diện cho bộ lưu trữ của máy ảo Ubuntu của bạn. Việc chọn Ubuntu VDI trong cài đặt bộ điều khiển SATA của GParted VM sẽ làm cho đĩa ảo Ubuntu có sẵn cho GParted để chỉnh sửa.

Bạn có thể tìm thấy Ubuntu VDI tại vị trí sau:

Mã nguồn [Chọn]
C:\Users\[Username]\VirtualBox VMs\Ubuntu

8. Sử dụng GParted

Sau khi khởi động GParted từ ổ USB, bạn sẽ thấy Cửa sổ Trình chỉnh sửa phân vùng Gnome. Theo mặc định, tùy chọn GParted Live được chọn. Nhấn Enter để khởi chạy GParted.


Nhấn phím Enter để tiếp tục với cài đặt mặc định và làm theo mọi hướng dẫn trên màn hình.


Cửa sổ GParted sẽ mở hiển thị tất cả các phân vùng trên hệ thống của bạn.


Xác định phân vùng phi hệ thống (/dev/sda3) và ngắt kết nối nó trước khi tiếp tục. Điều này sẽ tách phân vùng khỏi hệ thống tập tin và có thể được sửa đổi một cách an toàn. Nếu bạn thấy tùy chọn "Mount" màu xám, điều đó có nghĩa là phân vùng đã được ngắt kết nối.


Đầu tiên, thu nhỏ phân vùng phi hệ thống để có một số không gian chưa được phân bổ. Sau đó, bạn có thể tăng kích thước phân vùng khởi động bằng cách phân bổ không gian này cho phân vùng khởi động. Nhấp chuột phải vào phân vùng gốc hoặc phân vùng không phải hệ thống và chọn "Thay đổi kích thước/Di chuyển".������


Để tăng kích thước của phân vùng khởi động, không gian chưa được phân bổ phải có sẵn ngay bên cạnh phân vùng khởi động.

Một hộp thoại sẽ xuất hiện nơi bạn có thể kéo cạnh trái của phân vùng để thu nhỏ nó và tạo một số không gian chưa phân bổ bên cạnh phân vùng khởi động. Bạn cũng có thể chỉ định kích thước trong trường "Kích thước mới". Nhấp vào "Thay đổi kích thước/Di chuyển" để áp dụng các thay đổi.


Một thông báo cảnh báo sẽ nhắc nhở, cho biết hệ thống của bạn có thể không khởi động được sau khi di chuyển phân vùng. Nhấn "OK" để tiếp tục.


Một phân vùng chưa được phân bổ mới sẽ được tạo ngay bên cạnh phân vùng khởi động.


Tiếp theo, bạn có thể thay đổi kích thước phân vùng khởi động sau khi gán cho nó không gian chưa phân bổ. Nhấp chuột phải vào phân vùng khởi động và chọn tùy chọn "Thay đổi kích thước/Di chuyển". Bên trong hộp thoại, kéo cạnh phải của phân vùng để mở rộng nó và lấp đầy không gian chưa phân bổ. Nhấp vào "Thay đổi kích thước/Di chuyển" để áp dụng các thay đổi.


Lưu thay đổi của bạn bằng cách nhấp vào biểu tượng dấu kiểm màu xanh lá cây và chọn "Áp dụng" từ menu mới.


Bây giờ hãy đợi thao tác hoàn tất. GParted sẽ thu nhỏ phân vùng dev/sda3 xuống 500 MiB và phân bổ phần này vào phân vùng khởi động.


Khi phân vùng khởi động được thay đổi kích thước, thông báo thao tác đã hoàn thành sẽ xuất hiện.


Bạn có thể xác minh kích thước phân vùng khởi động mới từ GParted.


Khởi động lại hệ thống Ubuntu của bạn. Đảm bảo bạn chọn hệ thống Ubuntu mặc định làm tùy chọn khởi động. Đối với máy ảo, hãy khởi động từ máy ảo Ubuntu mặc định.


Sau khi khởi động lại, hãy chạy lệnh df -h để xác nhận kích thước mới của phân vùng khởi động. Trong ví dụ của chúng tôi, phân vùng khởi động đã được mở rộng từ 500 MiB lên 1011 MiB.


9. Chủ động quản lý phân vùng Linux

Phân vùng Linux là các phần của đĩa lưu trữ các tệp và dữ liệu cho hệ điều hành Linux. Trước khi phải đối mặt với "lỗi đầy đĩa" trên hệ thống của mình, tốt hơn hết bạn nên quản lý các phân vùng Linux của mình một cách tích cực. Hoạt động giám sát bao gồm việc cập nhật hệ thống của bạn, thường xuyên thanh lọc các Kernel cũ và giám sát việc sử dụng dung lượng ổ đĩa.

Giống như công cụ GParted, bạn cũng có thể sử dụng lệnh fdisk để chủ động quản lý các phân vùng Linux. Lệnh fdisk sẽ cung cấp cho bạn quyền kiểm soát chính xác các phân vùng đĩa. Bạn có thể xem các phân vùng hiện có, tạo phân vùng mới và đặt loại hệ thống tệp của chúng. Bạn cũng có thể thay đổi thuộc tính phân vùng và quản lý cách bố trí ổ đĩa một cách hiệu quả.