Lệnh Parted - Quản lý phân vùng đĩa trong Linux

Parted là một tiện ích dòng lệnh nổi tiếng được thiết kế để tạo điều kiện cho việc quản lý các phân vùng ổ đĩa cứng một cách dễ dàng.

Với Parted, bạn có thể dễ dàng thực hiện các nhiệm vụ như thêm, xóa, thu nhỏ và mở rộng các phân vùng đĩa, đồng thời quản lý các hệ thống tệp liên quan đến chúng.

Trong quá trình phát triển và phát triển, Parted đã trải qua sự phát triển và tiến hóa đáng kể, giới thiệu nhiều cải tiến và thay đổi vào chức năng của nó. Một số tính năng đã bị loại bỏ, trong khi các khả năng mới đã được giới thiệu, khiến nó trở thành một công cụ linh hoạt cho quản lý phân vùng.

Hướng dẫn này nhằm cung cấp một giới thiệu toàn diện về Parted, bao gồm các khái niệm cơ bản và thực hiện các ví dụ thực tế. Nếu bạn mới sử dụng Parted, điều quan trọng là lưu ý rằng bất kỳ thay đổi nào được thực hiện bằng cách sử dụng Parted sẽ được ghi ngay lập tức vào đĩa.

Do đó, việc cẩn thận khi cố gắng thay đổi các phân vùng đĩa để tránh những hậu quả không mong muốn hoặc mất dữ liệu là rất quan trọng. Qua suốt hướng dẫn này, chúng tôi sẽ hướng dẫn bạn từng bước, đảm bảo rằng bạn nắm vững cơ bản của Parted và hiểu rõ các tác động tiềm năng của các hành động khi làm việc với các phân vùng đĩa.

Nếu bạn dự định thử nghiệm với Parted, nên sử dụng máy ảo hoặc máy tính / máy tính xách tay cũ không chứa bất kỳ dữ liệu quan trọng nào. Khi thực hiện các thay đổi vào một phân vùng đĩa, rất quan trọng là phân vùng không đang được sử dụng.

Trong trường hợp các phân vùng chính, bạn có thể xem xét khởi động vào chế độ cứu hộ, cung cấp môi trường an toàn để thực hiện các nhiệm vụ liên quan đến phân vùng mà không bị can thiệp từ hệ điều hành đang chạy. Phương pháp phòng ngừa này đảm bảo tính toàn vẹn của dữ liệu quý giá của bạn và giảm thiểu nguy cơ gây ra hậu quả không mong muốn trong quá trình thay đổi phân vùng.

Lưu ý: Bạn sẽ cần quyền root để sử dụng parted trên máy bạn.

Làm thế nào để cài đặt Parted trên Linux

Trên nhiều bản phân phối Linux, parted được cài sẵn. Nếu nó không được bao gồm trong bản phân phối của bạn, bạn có thể cài đặt nó bằng câu lệnh sau:

$ sudo apt install parted         [On Debian, Ubuntu and Mint]
$ sudo yum install parted         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/parted  [On Gentoo Linux]
$ sudo apk add parted             [On Alpine Linux]
$ sudo pacman -S parted           [On Arch Linux]
$ sudo zypper install parted      [On OpenSUSE]    

Sau khi bạn đã đảm bảo rằng parted đã được cài đặt, bạn có thể tiếp tục kiểm tra một số ví dụ thực tế về lệnh parted trong phần còn lại của bài viết này.

1. Kiểm tra phiên bản Parted

Để quan sát một thông báo tương tự như trong hình dưới đây, thực thi câu lệnh sau. Lưu ý rằng đầu ra có thể khác nhau một chút tùy thuộc vào phiên bản cụ thể của Parted của bạn. Theo mặc định, Parted sẽ hoạt động trên ổ đĩa chính của bạn, thường được xác định là /dev/sda, trừ khi được chỉ định khác.

$ parted
Kiểm tra phiên bản lệnh Parted

Nếu bạn muốn thoát parted, chỉ cần gõ:

$ quit

2. Liệt kê các phân vùng ổ đĩa trong Linux

Bây giờ đã khởi động parted, hãy liệt kê các phân vùng của ổ đĩa được chọn. Như đã đề cập trước đó, parted sẽ chọn ổ đầu tiên của bạn theo mặc định. Để xem các phân vùng đĩa, chạy print.

(parted) print
Kiểm tra các phân vùng Linux

Khi chạy print, nó cũng sẽ hiển thị thông tin và mô hình ổ đĩa cứng. Đây là một ví dụ từ một ổ đĩa cứng thực (không phải ảo như trong hình ảnh trên):

(parted) print

Model: ATA TOSHIBA MQ01ACF0 (scsi)
Disk /dev/sda: 320GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos

Number  Start   End    Size   Type      File system  Flags

 1      1049kB  256MB  255MB  primary   ext2         boot
 2      257MB   320GB  320GB  extended
 5      257MB   320GB  320GB  logical                lvm

Trong ví dụ trên, bạn có thể thấy mô hình đĩa, kích thước dung lượng, kích thước sector và bảng phân vùng.

3. Thay đổi hoặc chuyển đổi phân vùng trong Linux

Nếu bạn có nhiều hơn một ổ đĩa, bạn có thể dễ dàng chuyển đổi giữa các ổ đĩa bằng cách sử dụng lệnh “select”. Trong ví dụ dưới đây, tôi sẽ chuyển từ /dev/sda sang /dev/sdb là một ổ đĩa phụ trên hệ thống của tôi.

Để chuyển đổi dễ dàng giữa các ổ đĩa, bạn có thể sử dụng:

(parted) select /dev/sdX
Chuyển đổi các phân vùng Linux

Thay thế "X" bằng chữ cái của ổ đĩa mà bạn muốn chuyển đến.

4. Tạo Phân vùng trong Linux

Parted có thể được sử dụng để tạo phân vùng ổ đĩa chính và phân vùng ổ đĩa logic. Trong ví dụ này, tôi sẽ chỉ bạn cách tạo một phân vùng ổ đĩa chính, nhưng các bước tương tự cho các phân vùng logic.

Để tạo một phân vùng mới, parted sử dụng “mkpart“. Bạn có thể cung cấp cho nó các tham số bổ sung như  "primary" hoặc "logical" tùy thuộc vào loại phân vùng bạn muốn tạo.

Trước khi bạn bắt đầu tạo phân vùng, điều quan trọng là đảm bảo bạn đang sử dụng (bạn đã chọn) đĩa đúng.

Bắt đầu bằng cách sử dụng lệnh print:

(parted) print
Hiển thị đĩa Linux hiện tại

Như được hiển thị trong hình ảnh trên, chúng tôi đang sử dụng một ổ đĩa ảo có dung lượng 34 GB. Đầu tiên, chúng ta sẽ gán nhãn cho ổ đĩa mới và sau đó tạo một phân vùng và đặt một hệ thống tệp trên nó.

Bây giờ bước đầu tiên là đặt tên nhãn cho ổ đĩa mới bằng cách sử dụng:

(parted) mklabel msdos

Bây giờ tạo phân vùng mới với mkpart. Đơn vị được liệt kê là trong megabyte (MB). Chúng tôi sẽ tạo một phân vùng 10 GB bắt đầu từ 1 đến 10000:

(parted) mkpart
 
Partition type?  primary/extended? primary
File system type?  [ext2]?
Start? 1
End? 10000
(parted) print
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdb: 34.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 
Number  Start   End     Size    Type     File system  Flags
 1      1049kB  10.0GB  9999MB  primary  ext2         lba
Tạo phân vùng chính hoặc phân vùng logic Linux

Tiếp theo, thoát parted với lệnh "quit" . Chúng tôi sẽ định dạng phân vùng mới của chúng tôi trong hệ thống tệp ext4 bằng cách sử dụng mkfs. Để thực hiện điều này, chạy lệnh sau đây:

# mkfs.ext4 /dev/sdb1

Lưu ý: Quan trọng là chọn đúng đĩa và phân vùng khi thực hiện lệnh trên!

Bây giờ hãy xác minh kết quả của chúng tôi bằng cách in bảng phân vùng trên đĩa phụ của chúng tôi. Dưới cột hệ thống tệp, bạn nên thấy ext4 hoặc loại hệ thống tệp mà bạn đã quyết định sử dụng cho phân vùng của bạn:

Xác minh hệ thống tệp phân vùng đĩa

5. Thay đổi kích thước phân vùng ổ đĩa Linux

Parted bao gồm nhiều chức năng hữu ích và một trong số đó là "resizepart". Như bạn có thể đã nhận ra điều này ngay bây giờ, "resizepart" giúp bạn thay đổi kích thước một phân vùng.

Trong ví dụ dưới đây, bạn sẽ thấy cách thay đổi kích thước của một phân vùng hiện có. Với mục đích của ví dụ này, chúng tôi sẽ sử dụng phân vùng được tạo trước đó.

Đầu tiên, bạn sẽ cần biết số của phân vùng mà bạn sẽ thay đổi kích thước. Điều này dễ dàng tìm thấy bằng cách sử dụng "print":

(parted) print
Tìm số phân vùng Linux

Trong ví dụ của chúng tôi, số phân vùng là "1". Bây giờ chạy lệnh resizepart:

(parted) resizepart

Bạn sẽ được hỏi về số của phân vùng mà bạn sẽ thay đổi kích thước. Nhập số của nó. Sau đó, bạn sẽ được yêu cầu đặt điểm kết thúc mới cho phân vùng này. Hãy nhớ rằng theo mặc định các đơn vị đo là MB. Trong ví dụ của chúng tôi, chúng tôi đã đặt kích thước phân vùng mới là 15 GB:

(parted) resizepart 
Partition number? 1
End?  [10.0GB]? 15000

Bây giờ hãy xác minh kết quả bằng "print":

(parted) print
Xác minh thay đổi kích thước phân vùng Linux

6. Xóa phân vùng Linux

Điều tiếp theo bạn sẽ học là cách xóa một phân vùng khỏi ổ cứng của bạn. Để làm điều này, bạn sẽ cần sử dụng lệnh rm bên trong parted. Để xóa phân vùng ổ đĩa, bạn cần biết số của nó.

Như đã đề cập trước đây, bạn có thể dễ dàng tìm số này bằng cách sử dụng "print". Trong ví dụ của chúng tôi, chúng tôi sẽ xóa phân vùng với số 1 từ ổ đĩa phụ /dev/sdb1:

(parted) rm 1

Xác minh kết quả bằng cách in bảng phân vùng:

Xóa Phân vùng Linux

7. Cứu phân vùng ổ đĩa Linux

Parted hỗ trợ tiện ích “rescue" giúp bạn khôi phục một phân vùng đã mất giữa một điểm bắt đầu và điểm kết thúc. Nếu tìm thấy một phân vùng trong dải đó, nó sẽ cố gắng khôi phục nó.

Đây là một ví dụ:

(parted) rescue
Start? 1
End? 15000
(parted) print
Model: Unknown (unknown)
Disk /dev/sdb1: 15.0GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags:

Number Start End Size File system Flags
1 0.00B 15.0GB 15.0GB ext4

8 Thay đổi cờ Phân vùng Linux

Dùng parted, bạn có thể thay đổi trạng thái của một cờ cho các phân vùng ổ đĩa. Một số cờ được hỗ trợ là:

  1. boot
  2. root
  3. swap
  4. hidden
  5. raid
  6. lvm
  7. lba
  8. legacy_boot
  9. irst
  10. esp
  11. palo

Các trạng thái có thể là "on" hoặc "off". Để thay đổi cờ, chỉ cần chạy lệnh "set" bên trong parted:

(parted) set 2 lba on

Lệnh trên đặt cờ lba thành bật cho phân vùng thứ hai. Xác minh kết quả với print:

Thay đổi cờ phân vùng
Kết luận

Parted là một tiện ích hữu ích và mạnh mẽ có thể giúp bạn quản lý các phân vùng ổ đĩa trong các hệ thống Linux. Như luôn luôn, khi làm việc với các phân vùng ổ đĩa, bạn cần cẩn thận hơn.

Đề nghị nghiêm túc đi qua trang man của parted để tìm hiểu cách bạn có thể tùy chỉnh đầu ra của nó và tìm hiểu thêm thông tin về khả năng của nó.

Nếu bạn có bất kỳ câu hỏi hoặc ý kiến, xin vui lòng sử dụng phần bình luận bên dưới.