Lệnh partx Linux là một công cụ dòng lệnh thuộc gói util-linux, được sử dụng để thêm, xóa hoặc liệt kê các phân vùng của thiết bị đĩa vào bảng phân vùng của hệ thống mà không cần khởi động lại hoặc gắn lại thiết bị. Trong bài viết này, mình sẽ hướng dẫn bạn sử dụng lệnh partx chi tiết thông quá các ví dụ thực tế hữu ích.
Những điểm chính
- Định nghĩa lệnh partx Linux: Hiểu rõ khái niệm, mục đích chính của lệnh
partxtrong việc đồng bộ hóa thông tin phân vùng với kernel mà không cần khởi động lại. - Cú pháp và tùy chọn: Nắm vững các cờ lệnh phổ biến để chủ động điều khiển hành vi thêm, xóa hoặc cập nhật thông tin phân vùng một cách chính xác.
- Các tính năng chính: Nắm được các chức năng chính của
partxnhư liệt kê, thêm, xóa và đồng bộ hóa thông tin phân vùng. - Hướng dẫn sử dụng chi tiết: Thành thạo các lệnh thực tế để xem thông tin, thêm hoặc xóa ánh xạ phân vùng, giúp bạn quản lý ổ đĩa một cách linh hoạt.
- Lưu ý khi sử dụng: Nắm được các lưu ý quan trọng để sử dụng
partxmột cách an toàn, tránh các lỗi phổ biến như thao tác trên phân vùng đang mount. - Giải đáp thắc mắc (FAQ): Có được câu trả lời cho các vấn đề nâng cao như cách xử lý khi xóa nhầm ánh xạ, khi nào nên dùng
partprobevà các rủi ro khi thao tác trên phân vùng đang được sử dụng.
Lệnh partx Linux là gì?
Lệnh partx là một tiện ích dòng lệnh thuộc gói phần mềm util-linux, dùng để thông báo cho nhân hệ điều hành nhận biết về sự hiện diện và thứ tự đánh số của các phân vùng trên một ổ đĩa. Bạn có thể sử dụng partx để thực hiện các tác vụ như liệt kê, thêm hoặc xóa các ánh xạ phân vùng vào hệ thống mà không cần phải khởi động lại máy chủ.
Điểm khác biệt cần lưu ý là partx không được dùng để tạo mới hay thay đổi kích thước phân vùng như lệnh fdisk. Thay vào đó, nhiệm vụ chuyên biệt của partx là đồng bộ hóa thông tin phân vùng từ ổ đĩa lên kernel, đảm bảo hệ điều hành nhận diện dữ liệu mới nhất.

Lệnh này thường được sử dụng ngay sau khi quản trị viên thực hiện các thay đổi trên ổ đĩa (chia lại dung lượng, tạo phân vùng mới). Việc dùng partx giúp hệ thống nhận diện các phân vùng mới ngay lập tức mà không cần phải khởi động lại máy chủ.
Cú pháp và tùy chọn phổ biến của lệnh partx Linux
Cú pháp tổng quát của lệnh partx được cấu trúc như sau:
partx [options] [device]Trong đó:
- [options]: Các cờ/tùy chọn dùng để điều khiển hành vi của lệnh (như thêm, xóa, cập nhật thông tin).
- [device]: Tên đường dẫn vật lý của ổ đĩa hoặc phân vùng cần thao tác (Ví dụ: /dev/sda, /dev/vda, /dev/nvme0n1).
Các tùy chọn phổ biến của lệnh partx
| Tùy chọn | Chức năng |
|---|---|
-a, --add | Đọc bảng phân vùng và thêm chúng vào Kernel. |
-d, --delete | Xóa thông tin phân vùng khỏi Kernel (không xóa dữ liệu trên đĩa). |
-u, --update | Cập nhật lại thông tin phân vùng hiện tại với Kernel. |
-s, --show | Liệt kê danh sách các phân vùng (thay thế cho -l). |
-o, --output <list> | Định nghĩa các cột dữ liệu muốn hiển thị (ví dụ: START, SIZE, NAME). |
-P, --pairs | Xuất dữ liệu dưới dạng cặp KEY=”value” (phù hợp cho Scripting). |
-r, --raw | Hiển thị dữ liệu ở định dạng thô, không căn chỉnh. |
-b, --bytes | Hiển thị kích thước chính xác theo đơn vị Byte. |
-g, --noheadings | Loại bỏ dòng tiêu đề trong kết quả hiển thị. |
-n, --nr <M:N> | Chỉ định phạm vi phân vùng cần xử lý (ví dụ: 1:3 cho phân vùng từ 1 đến 3). |
-t, --type <type> | Chỉ định kiểu bảng phân vùng (dos, gpt, sgi, sun…). |
--list-types | Liệt kê tất cả các kiểu bảng phân vùng mà hệ thống hỗ trợ. |
-S, --sector-size | Thiết lập/Ghi đè kích thước sector của thiết bị. |
-v, --verbose | Chế độ thông báo chi tiết các bước xử lý của lệnh. |
Các tính năng chính của lệnh partx
Dưới đây là các chức năng chính của lệnh partx:
- Liệt kê thông tin phân vùng: Lệnh partx hỗ trợ người dùng đọc và hiển thị danh sách các phân vùng hiện có trên ổ đĩa, bao gồm các thông số chi tiết như kích thước, sector bắt đầu, sector kết thúc và mã UUID.
- Thêm phân vùng vào Kernel: Công cụ này cho phép người quản trị đăng ký các phân vùng mới vào nhân hệ điều hành. Nhờ đó, hệ thống có thể nhận diện và sử dụng phân vùng ngay lập tức mà không cần khởi động lại máy.
- Xóa ánh xạ phân vùng: Người dùng có thể sử dụng partx để gỡ bỏ thông tin của các phân vùng khỏi kernel. Chức năng này thường được dùng khi phân vùng đã bị xóa hoặc thay đổi cấu trúc nhưng hệ thống vẫn lưu giữ thông tin cũ.
- Đồng bộ hóa bảng phân vùng: Lệnh partx giúp đảm bảo sự nhất quán giữa bảng phân vùng thực tế trên ổ cứng và thông tin mà hệ điều hành đang nắm giữ, giúp tránh các lỗi truy xuất dữ liệu.

Ví dụ sử dụng lệnh partx Linux trong thực tế
Xem thông tin phân vùng
Lệnh partx cho phép xem chi tiết thông tin của một phân vùng cụ thể hoặc các phân vùng con bên trong. Để thực hiện việc này một cách chính xác, trước tiên bạn hãy liệt kê danh sách các ổ đĩa và phân vùng hiện có trên hệ thống bằng lệnh lsblk:
lsblk
Xem chi tiết phân vùng
Sau khi đã có tên thiết bị (ví dụ /dev/sda1), bạn sử dụng tùy chọn -s hoặc --show để hiển thị thông tin chi tiết. Câu lệnh thực hiện như sau:
partx -s /dev/sda1
partx --show /dev/sda1
Dưới đây là ý nghĩa các thông số trong bảng kết quả:
- NR: Số thứ tự của phân vùng trên thiết bị.
- START: Sector bắt đầu của phân vùng.
- END: Sector kết thúc của phân vùng.
- SECTORS: Tổng số sector mà phân vùng chiếm dụng, được tính bằng công thức: END – START + 1.
- SIZE: Kích thước thực tế của phân vùng đã chuyển đổi sang MB, GB.
- NAME: Tên định danh của phân vùng.
- UUID: Mã định danh duy nhất dùng để nhận diện phân vùng.
Xem toàn bộ phân vùng con
Nếu muốn liệt kê tất cả các phân vùng con nằm trong một ổ đĩa vật lý, bạn hãy chạy lệnh partx trỏ vào thiết bị đó:
partx -s /dev/sda
Kết quả trả về sẽ cho thấy /dev/sda đang chứa các phân vùng con (ví dụ có số thứ tự là 1, 14, 15).
Lọc thông tin cụ thể
Trong trường hợp bạn chỉ muốn lấy các thông số quan trọng như START, END và SIZE của một phân vùng con cụ thể, ví dụ phân vùng số 15 trên /dev/sda, bạn có thể kết hợp các tùy chọn để lọc kết quả:
partx -o START,END,SIZE –nr 15 /dev/sda
Thêm phân vùng vào hệ thống
Để yêu cầu hệ thống đọc lại ổ đĩa và thêm tất cả các phân vùng tìm thấy vào kernel, bạn sử dụng tùy chọn -a (add) kết hợp với -v (verbose – hiển thị chi tiết quá trình):
partx -v -a /dev/sdaNếu bạn chỉ muốn thêm một hoặc một dải phân vùng nhất định, hãy sử dụng thêm tùy chọn --nr kèm theo số thứ tự của phân vùng đó:
- Thêm phân vùng số 3:
partx -a -nr 3 /dev/sda- Thêm dải phân vùng từ số 3 đến số 5:
partx -a -nr 3:5 /dev/sdaXóa phân vùng khỏi hệ thống ghi nhận
Để xóa ghi nhận của một phân vùng khỏi kernel, bạn sử dụng tùy chọn -d (delete). Bạn cũng có thể dùng số âm để chỉ định vị trí đếm ngược từ cuối lên (ví dụ -1 là phân vùng cuối cùng). Lệnh xóa phân vùng cuối cùng trên /dev/sda như sau:
partx -d -1 /dev/sdaHiển thị thông tin dạng thô
Khi cần kết quả đầu ra gọn gàng để phục vụ cho việc viết script, bạn có thể loại bỏ dòng tiêu đề bằng tùy chọn -g. Ví dụ dưới đây sẽ hiển thị cột START của phân vùng số 5 mà không có tiêu đề:
partx -o START -g --nr 5 /dev/sda
Lưu ý khi sử dụng lệnh partx
Để đảm bảo an toàn cho hệ thống, bạn cần ghi nhớ những lưu ý quan trọng sau:
- Sử dụng quyền root: Bạn cần có quyền root hoặc sử dụng sudo để thực thi lệnh vì các thao tác liên quan đến phân vùng hệ thống luôn yêu cầu quyền hạn cao nhất.
- Không sử dụng lệnh xóa (-d): Bạn không nên sử dụng lệnh xóa (
-d) đối với các phân vùng đang được mount (gắn kết) vì điều này có thể gây ra lỗi hệ thống nghiêm trọng hoặc mất dữ liệu đang được truy xuất. - Cần dùng fdisk hoặc parted để thay đổi kích thước hoặc tạo phân vùng: Lệnh partx chỉ cập nhật thông tin trong bảng phân vùng của Kernel chứ không thay đổi dữ liệu vật lý trên ổ đĩa. Nếu bạn muốn thay đổi kích thước hoặc tạo phân vùng thực sự, bạn cần dùng fdisk hoặc parted.
- Kiểm tra kỹ tên thiết bị mục tiêu trước khi chạy lệnh: Bạn cần kiểm tra kỹ tên thiết bị mục tiêu trước khi chạy lệnh vì việc nhầm lẫn tên ổ đĩa có thể khiến hệ thống nhận diện sai lệch dữ liệu.
- Nên dùng partprobe khi partx lỗi hoặc không cập nhật: Bạn nên ưu tiên sử dụng lệnh partprobe trong trường hợp partx gặp lỗi hoặc không cập nhật được. Lý do là vì partprobe thường xử lý việc đồng bộ hóa bảng phân vùng an toàn và tự động hơn trong một số tình huống phức tạp.

Câu hỏi thường gặp
partx có ảnh hưởng gì khi sử dụng trên phân vùng đang được mount không?
Lệnh partx chỉ cập nhật thông tin phân vùng trong kernel, nhưng nếu thao tác trên phân vùng đang được mount, các thay đổi có thể không được hệ thống hoặc các ứng dụng nhận biết chính xác ngay lập tức.
Ngoài ra, việc xóa ánh xạ phân vùng đang gắn mount có thể làm mất tính nhất quán dữ liệu hoặc gây lỗi, vì vậy chỉ nên sử dụng lệnh này với phân vùng không hoạt động hoặc đã được unmount.
Khi nào nên ưu tiên dùng partx thay vì sử dụng lệnh partprobe để đồng bộ hóa bảng phân vùng?
Bạn nên sử dụng partx khi chỉ cần cập nhật thông tin về một hoặc một vài phân vùng nhất định hoặc muốn chủ động thêm/xóa ánh xạ của các phân vùng đó vào kernel mà không thực hiện đồng thời trên toàn bộ thiết bị.
Trong khi đó, partprobe phù hợp hơn khi bạn muốn đồng bộ hóa mọi phân vùng trên thiết bị một cách tự động, an toàn, đặc biệt trong các trường hợp phát sinh lỗi với partx hoặc khi tạo cấu trúc phân vùng phức tạp.
Nếu vô tình xóa ánh xạ của một phân vùng vẫn còn dữ liệu, làm thế nào để khôi phục hoặc mount lại mà không gây mất dữ liệu?
Khi xóa ánh xạ phân vùng bằng partx, dữ liệu thực tế trên đĩa không bị mất nên bạn hoàn toàn có thể dùng lại lệnh partx với tùy chọn -a để thêm ánh xạ phân vùng trở lại kernel. Sau đó, bạn chỉ cần mount lại như bình thường, dữ liệu vẫn được giữ nguyên nếu không thao tác ghi đè hoặc format lên phân vùng đó.
Lệnh partx là một công cụ hữu ích trong việc cập nhật nhanh thông tin phân vùng lên kernel mà không phải khởi động lại máy chủ hoặc thao tác phức tạp. Khi sử dụng đúng cách, partx sẽ giúp bạn đồng bộ hóa dữ liệu phân vùng, hỗ trợ quản lý ổ đĩa hiệu quả và an toàn trong môi trường Linux chuyên nghiệp. Mời bạn tham khảo các bài viết liên quan đến chủ đề Linux của mình ngay sau đây:




