Cac mo rong o dia trong linux

Vì nhiều lý do, dung lượng của một ổ cứng… có thể được mở rộng. Chẳng hạn do lấy snapshot của ổ cứng dung lượng nhỏ restore vào ổ cứng dung lượng lớn. Hoặc do sử dụng chức năng mở rộng dung lượng mà các hạ tầng cloud hiện đại (AWS, Digital Ocean, Bizfly…) cho phép.

Nội dung chính Show

  • Thăm dò trạng thái ổ cứng và phân vùng
  • Mở rộng phân vùng
  • Giới thiệu
  • File System là gì?
  • Master Boot Record (MBR) là gì?
  • GUID Partition Table (GPT) là gì?
  • Xem tất cả các phân vùng trên Linux
  • Vào chế độ chỉnh sửa phân vùng của ổ đĩa
  • Tạo một phân vùng mới
  • Xóa một phân vùng
  • Format một phân vùng
  • Quản lý phân vùng đĩa cứng bằng parted
  • Parted là gì và cách cài đặt
  • Xem tất cả các phân vùng
  • Tạo một phân vùng mới
  • Xóa một phân vùng
  • Thay đổi kích thước phân vùng
  • Rescue một phân vùng
  • Thay đổi flag của phân vùng
  • Tổng kết

Trong những trường hợp như thế, kích thước các phân vùng thường sẽ không thay đổi theo và ta phải thao tác để điều khiển.

Thăm dò trạng thái ổ cứng và phân vùng

Công việc thường bắt đầu bằng việc kiểm tra sự chênh lệch về dung lượng. Kết quả trông có thể như sau, để ý ổ cứng có tên vdb:

[[email protected] ~]# lsblk
vda     252:0    0   80G  0 disk
├─vda1  252:1    0 79.9G  0 part /
├─vda14 252:14   0    4M  0 part
└─vda15 252:15   0  106M  0 part /boot/efi
vdb     252:16   0  120G  0 disk
└─vdb1  252:17   0  100G  0 part /media/heap

Bước tiếp theo là kiểm tra bảng phân vùng hiện tại. Kết quả trông có thể như dưới đây, để ý phân vùng /dev/vdb1. Nếu giá trị của SystemLinux thì có nghĩa là ổ cứng đang sử dụng bảng phân vùng dạng MBR. Nếu giá trị của SystemGPT thì nghĩa là ổ cứng đang sử dụng bảng phân vùng dạng GPT.

[[email protected] ~]# fdisk -lu /dev/vdb
Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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
Disk label type: dos
Disk identifier: 0x9277b47b

Device Boot Start End Blocks Id System
/dev/vdb1 2048 41943039 20970496 83 Linux

Tiếp theo, kiểm tra định dạng đang sử dụng cho phân vùng muốn được mở rộng. Trong ví dụ dưới đây là

[[email protected] ~]# fdisk -lu /dev/vdb
Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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
Disk label type: dos
Disk identifier: 0x9277b47b

Device Boot Start End Blocks Id System
/dev/vdb1 2048 41943039 20970496 83 Linux
0.

[[email protected]t ~]# blkid /dev/vdb1
/dev/vdb1: UUID="e97bf1e2-fc84-4c11-9652-73********24" TYPE="ext4"

Tiếp theo, kiểm tra trạng thái của bảng phân vùng. Sử dụng lệnh

[[email protected] ~]# fdisk -lu /dev/vdb
Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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
Disk label type: dos
Disk identifier: 0x9277b47b

Device Boot Start End Blocks Id System
/dev/vdb1 2048 41943039 20970496 83 Linux
1 cho phân vùng
[[email protected] ~]# fdisk -lu /dev/vdb
Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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
Disk label type: dos
Disk identifier: 0x9277b47b

Device Boot Start End Blocks Id System
/dev/vdb1 2048 41943039 20970496 83 Linux
2 và lệnh
[[email protected] ~]# fdisk -lu /dev/vdb
Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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
Disk label type: dos
Disk identifier: 0x9277b47b

Device Boot Start End Blocks Id System
/dev/vdb1 2048 41943039 20970496 83 Linux
3 cho phân vùng
[[email protected] ~]# fdisk -lu /dev/vdb
Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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
Disk label type: dos
Disk identifier: 0x9277b47b

Device Boot Start End Blocks Id System
/dev/vdb1 2048 41943039 20970496 83 Linux
4. Nếu phân vùng không mang trạng thái
[[email protected] ~]# fdisk -lu /dev/vdb
Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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
Disk label type: dos
Disk identifier: 0x9277b47b

Device Boot Start End Blocks Id System
/dev/vdb1 2048 41943039 20970496 83 Linux
5 thì nên cân nhắc backup ổ cứng và dò lỗi trước.

[[email protected] ~]# e2fsck -n /dev/vdb1
Warning! /dev/vdb1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/vdb1: clean, 11/1310720 files, 126322/5242624 blocks

Mở rộng phân vùng

Sử dụng

[[email protected] ~]# fdisk -lu /dev/vdb
Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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
Disk label type: dos
Disk identifier: 0x9277b47b

Device Boot Start End Blocks Id System
/dev/vdb1 2048 41943039 20970496 83 Linux
6 để mở rộng thông tin dung lượng trong bảng phân vùng:

  1. Chạy lệnh
    [[email protected] ~]# fdisk -lu /dev/vdb
    Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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
    Disk label type: dos
    Disk identifier: 0x9277b47b
    
    Device Boot Start End Blocks Id System
    /dev/vdb1 2048 41943039 20970496 83 Linux
    7 để mở trình
    [[email protected] ~]# fdisk -lu /dev/vdb
    Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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
    Disk label type: dos
    Disk identifier: 0x9277b47b
    
    Device Boot Start End Blocks Id System
    /dev/vdb1 2048 41943039 20970496 83 Linux
    6
  2. Chạy sub command
    [[email protected] ~]# fdisk -lu /dev/vdb
    Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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
    Disk label type: dos
    Disk identifier: 0x9277b47b
    
    Device Boot Start End Blocks Id System
    /dev/vdb1 2048 41943039 20970496 83 Linux
    9 để thăm dò bảng phân vùng
  3. Dialog
    [[email protected]t ~]# blkid /dev/vdb1
    /dev/vdb1: UUID="e97bf1e2-fc84-4c11-9652-73********24" TYPE="ext4"
    0 sẽ hiện ra, nhập
    [[email protected]t ~]# blkid /dev/vdb1
    /dev/vdb1: UUID="e97bf1e2-fc84-4c11-9652-73********24" TYPE="ext4"
    1
  4. Chạy lệnh
    [[email protected]t ~]# blkid /dev/vdb1
    /dev/vdb1: UUID="e97bf1e2-fc84-4c11-9652-73********24" TYPE="ext4"
    2 để thoát trình
    [[email protected] ~]# fdisk -lu /dev/vdb
    Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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
    Disk label type: dos
    Disk identifier: 0x9277b47b
    
    Device Boot Start End Blocks Id System
    /dev/vdb1 2048 41943039 20970496 83 Linux
    6

Sau đó, chạy trình

[[email protected]t ~]# blkid /dev/vdb1
/dev/vdb1: UUID="e97bf1e2-fc84-4c11-9652-73********24" TYPE="ext4"
4 để mở rộng dung lượng cho phân vùng. Chẳng hạn
[[email protected]t ~]# blkid /dev/vdb1
/dev/vdb1: UUID="e97bf1e2-fc84-4c11-9652-73********24" TYPE="ext4"
5.


Tham khảo:

  1. https://partners-intl.aliyun.com/help/doc-detail/25452.htm#section-vvb-gcs-bhm
  2. https://docs.amazonaws.cn/en_us/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html

 1,620 total views,  36 views today

Giới thiệu

Phân vùng đĩa cứng là chia nhỏ ổ đĩa trên máy tính để phục vụ một nhu cầu cụ thể. Ví dụ: Ổ phân vùng C:\ thường được sử dụng để chứa các file của hệ điều hành. Các phân vùng còn lại dùng cho mục đích khác như chứa thông tin cá nhân, công việc. Việc phân vùng đĩa cứng (hay còn gọi là ổ cứng) có nhiều lợi ích như dễ tổ chức, cài nhiều hệ điều hành và sao lưu dễ dàng hơn.

Dưới đây là một số khái niệm bạn cần nắm trước khi thực hiện thao tác phân vùng đĩa cứng.

File System là gì?

File System là một tập hợp logic của các files nằm trên một phân vùng hoặc trên đĩa. Hệ điều hành sử dụng File System để lưu trữ và truy xuất dữu liệu. Nếu không có File System thì dữ liệu được lưu trữ thành một khối chung mà không có cách nào biết nó bắt đầu hay kết thúc ở đâu.

Đối với hệ điều hành Windows thì file system chủ yếu ở format

[[email protected]t ~]# blkid /dev/vdb1
/dev/vdb1: UUID="e97bf1e2-fc84-4c11-9652-73********24" TYPE="ext4"
6 và
[[email protected]t ~]# blkid /dev/vdb1
/dev/vdb1: UUID="e97bf1e2-fc84-4c11-9652-73********24" TYPE="ext4"
7. Còn đối với Linux thì ta có nhiều format hơn như
[[email protected]t ~]# blkid /dev/vdb1
/dev/vdb1: UUID="e97bf1e2-fc84-4c11-9652-73********24" TYPE="ext4"
8 và
[[email protected]t ~]# blkid /dev/vdb1
/dev/vdb1: UUID="e97bf1e2-fc84-4c11-9652-73********24" TYPE="ext4"
9.

Cac mo rong o dia trong linux

Ngoài ra các bạn sẽ va phải các khái niệm sau:
  • Primary Partition (Phân vùng Primary): Là phân vùng chứa 1 file system

  • Extended Partition (Phân vùng Extended): Là phân vùng chứa một hoặc nhiều phân vùng Logical.

  • Logical Partition (Phân vùng Logical): Là phân vùng có thể được format để lưu trữ dữ liệu nhưng không thể dùng để host một hệ điều hành.

Master Boot Record (MBR) là gì?

Master Boot Record (MBR) là một boot sector đặc biệt chứa thông tin về Hệ điều hành và tải vào bộ nhớ chính hoặc RAM . MBR nằm ở đầu ổ đĩa và còn đươc gọi là partition sector hoặc master partition table bởi nó bao gồm một bảng chứa vị trí từng phân vùng mà đĩa cứng đã được định dạng. MBR tuy được sử dụng rộng rãi nhưng hiện đã cũ. MBR làm việc với các ổ đĩa có kích thước chỉ 2TB trở xuống, Ngoài ra, nó chỉ hỗ trợ 4 phân vùng chính. Nếu muốn nhiều phân vùng hơn, bạn cần thực hiện chuyển đổi phân vùng chính thành "extended partition" và tạo phân vùng trong đó

GUID Partition Table (GPT) là gì?

Đây là một chuẩn mới hơn để bố trí các bảng phân vùng của thiết bị lưu trữ vật lý (ổ cứng, ổ đĩa). GPT tạo thành một phần của UEFI (thay thế EFI cho BIOS PC), UEFI có giao diện người dùng hiện đại và dễ sử dụng. GPT có điểm vượt trội chính là cho phép không giới hạn các phân vùng, hệ điều hành sẽ giới hạn điều đó.

fdisk là một tiện ích command-line để phân vùng đĩa cứng. fdisk có chức năng phân chia, thay đổi, thêm hoặc xoá các phân vùng. Điểm cộng của fdisk chính là tính năng nhanh, gọn, lẹ của mình. Hầu hết các hệ điều hành đều tích hợp sẵn tiện ích này.

Nếu bạn muốn thay đổi phân vùng trên ổ đĩa hiện tại thì nên backup dữ liệu trước, vì fdisk có thể sẽ xoá dữ liệu của bạn trên phân vùng.

Lưu ý: fdisk không thể sử dụng đối với bảng phân vùng GUID(GPT) và nó không hoạt động phân vùng lớn hơn 2TB.

Xem tất cả các phân vùng trên Linux

Trước khi bạn thực hiện bất kì hoạt động phân vùng thì bạn cần phải biết danh sách những phân vùng đang có trên thiết bị. Để liệt kê tất cả các thông tin chi tiết các phân vùng đang có sẵn trong hệ thống bạn sử dụng lệnh

[[email protected] ~]# e2fsck -n /dev/vdb1
Warning! /dev/vdb1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/vdb1: clean, 11/1310720 files, 126322/5242624 blocks
0

Ta được kết quả:

Kết quả

Theo như ví dụ tên, chúng ta đang có 1 disk model ABC dung lượng

[[email protected] ~]# e2fsck -n /dev/vdb1
Warning! /dev/vdb1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/vdb1: clean, 11/1310720 files, 126322/5242624 blocks
1 và 3 devices
[[email protected] ~]# e2fsck -n /dev/vdb1
Warning! /dev/vdb1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/vdb1: clean, 11/1310720 files, 126322/5242624 blocks
2

Thông tin: Để xem một partition table cụ thể ta có thể thêm địa chỉ của nó vào phía sau code. Ví dụ: fdisk -l /dev/sdb

Vào chế độ chỉnh sửa phân vùng của ổ đĩa

Ta có thể sử dụng lệnh

[[email protected] ~]# e2fsck -n /dev/vdb1
Warning! /dev/vdb1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/vdb1: clean, 11/1310720 files, 126322/5242624 blocks
3 với address là địa chỉ bạn muốn vào chế độ chỉnh sửa. Ở ví dụ dưới mình đang vào chế độ chỉnh sửa cho ổ đĩa /dev/sda

Kết quả

Sau khi xuất hiện thông báo "Welcome to fdisk....Command (m) for help:". Các bạn nhập vào

[[email protected] ~]# e2fsck -n /dev/vdb1
Warning! /dev/vdb1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/vdb1: clean, 11/1310720 files, 126322/5242624 blocks
4 thì menu lệnh sẽ hiện ra.

Kết quả

Tạo một phân vùng mới

Để tạo một phân vùng mới bạn cần vào chế độ chỉnh sửa . Ví dụ dụ ở dưới đây mình sẽ thao tác với ổ đĩa là

[[email protected] ~]# e2fsck -n /dev/vdb1
Warning! /dev/vdb1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/vdb1: clean, 11/1310720 files, 126322/5242624 blocks
5.

Sau khi dùng lệnh

[[email protected] ~]# e2fsck -n /dev/vdb1
Warning! /dev/vdb1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/vdb1: clean, 11/1310720 files, 126322/5242624 blocks
6, hệ thống sẽ đưa bạn vào chế độ thao tác với các phân vùng trên ổ đĩa
[[email protected] ~]# e2fsck -n /dev/vdb1
Warning! /dev/vdb1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/vdb1: clean, 11/1310720 files, 126322/5242624 blocks
5.

Kết quả

Đây là trước khi tạo một phân vùng mới.

Kết quả

Bạn thực hiện điền lệnh là

[[email protected] ~]# e2fsck -n /dev/vdb1
Warning! /dev/vdb1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/vdb1: clean, 11/1310720 files, 126322/5242624 blocks
8 để tạo mới phân vùng.

Kết quả

Lúc này bạn có hai lựa chọn cho loại phân vùng mà mình tạo:

  • Chọn

    [[email protected] ~]# e2fsck -n /dev/vdb1
    Warning! /dev/vdb1 is mounted.
    Warning: skipping journal recovery because doing a read-only filesystem check.
    /dev/vdb1: clean, 11/1310720 files, 126322/5242624 blocks
    9 để tạo phân vùng loại Primary

  • Hoặc chọn vdb0 để tạo phân vùng loại Extended

Trong ví dụ này, mình chọn phân vùng là Primary bằng cách chọn

[[email protected] ~]# e2fsck -n /dev/vdb1
Warning! /dev/vdb1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/vdb1: clean, 11/1310720 files, 126322/5242624 blocks
9.

Thông tin: Bạn nên chọn loại phân vùng là Primary nếu phân vùng này chứa hệ điều hành hoặc thiết bị này có ít hơn 4 phân vùng. Bạn nên chọn loại phân vùng là extended nếu bạn muốn tạo nhiều hơn 4 phân vùng cho thiết bị.

Khi chọn loại phân vùng xong, fdisk sẽ yêu cần bạn nhập vào hai thông số là First sector và Last sector.

  • First sector là vị trí sector đầu của phân vùng.

  • Last sector là vị trí sector cuối của phân vùng.

Từ hai vị trí này sẽ tính ra được dung lượng của phân vùng. Ở đây mình chọn First Sector mặc định là vdb2 còn Last Sector là vdb3 tức vdb4. Ngoài ra bạn cũng có thể chỉ định size như vdb5 hay vdb6.

Cuối cùng bạn bấm phím vdb7 để lưu. Bạn cần chờ ít phút để hệ thống tạo phân vùng. Như vậy chúng ta đã tạo mới 1 phân vùng rồi, ta cùng quan sát kết quả nhé:

Kết quả

Xóa một phân vùng

Xoá phân vùng thực hiện cũng tương tự như tạo, đầu tiên bạn truy cập vào chế độ chỉnh sửa bằng

[[email protected] ~]# e2fsck -n /dev/vdb1
Warning! /dev/vdb1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/vdb1: clean, 11/1310720 files, 126322/5242624 blocks
3 sau đó bấm phím vdb9 để vào Menu xoá phân vùng

Kết quả

Kết quả

Bạn nhập số thứ tự phân vùng bạn muốn xoá (Mình chọn phân vùng số 3). Sau khi thông báo xoá thành công, bạn bấm phím vdb7 để lưu. Đây là kết quả trước khi mình xoá phân vùng số 3:

Kết quả

Và sau khi xoá nó:

Kết quả

Format một phân vùng

Format phân vùng hay còn gọi là định dạng phân vùng. Thao tác này sẽ đưa các phân vùng chưa định dạng về một định dạng file system nhất định (ví dụ ext4). Trong ví dụ này chúng ta dùng /dev/vdb11 để định dạng phân vùng /dev/vdb12 sang dùng file system

[[email protected] ~]# fdisk -lu /dev/vdb
Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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
Disk label type: dos
Disk identifier: 0x9277b47b

Device Boot Start End Blocks Id System
/dev/vdb1 2048 41943039 20970496 83 Linux
0.

Ta được kết quả

Kết quả

Lưu ý: Sau khi format thì dữ liệu trên phân vùng sẽ bị xoá, vì vậy bạn hãy cẩn thận chọn đúng phân vùng để format.

Quản lý phân vùng đĩa cứng bằng parted

Parted là gì và cách cài đặt

Parted là một công cụ command-line vô cùng nổi tiếng nhằm mục đích quản lý các phân vùng. Các chức năng chính của Parted bao gồm: Tạo, Xoá, Thu nhỏ, Mở rộng phân vùng. Khác với Fdisk, thì Parted có thể sử dụng trên GPT.

Để cài đặt Parted trên Ubuntu bạn chạy dòng lệnh:

Thông tin: Bạn nên cập nhật ATP package tới bản mới nhất bằng lệnh sudo apt update

Đối với CentOS/RHEL 7: yum install parted -y

Đối với Fedora 22+: dnf install parted

Để sử dụng các tính năng của Parted, bạn cần khởi chạy nó bằng lệnh parted

Xem tất cả các phân vùng

Thông tin: Mặc định Parted chọn ổ đĩa đầu tiên được liệt kê trong hệ thống

Ta sử dụng lệnh

[[email protected] ~]# fdisk -lu /dev/vdb
Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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
Disk label type: dos
Disk identifier: 0x9277b47b

Device Boot Start End Blocks Id System
/dev/vdb1 2048 41943039 20970496 83 Linux
9 để liệt kê thông tin ổ cứng hiện tại.

Kết quả

Nếu muốn đổi sang phân vùng khác bạn có thể sử dụng /dev/vdb15. Ví dụ muốn đổi từ ổ đĩa hiện tại là /dev/sda sang ổ đĩa mới là /dev/sdb ta nhập như sau:

Ta sử dụng lệnh

[[email protected] ~]# fdisk -lu /dev/vdb
Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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
Disk label type: dos
Disk identifier: 0x9277b47b

Device Boot Start End Blocks Id System
/dev/vdb1 2048 41943039 20970496 83 Linux
9 để xem hiện tại đang ở đâu nhé:

Tạo một phân vùng mới

CHÚ Ý: Bạn nên sử dụng lệnh print trước khi thực hiện bất cứ lệnh nào khác tránh việc nhầm lẫn phân vùng/ ổ đĩa và gây ra hậu quả không đáng có

Để tạo một phân vùng mới thì Parted sử dụng /dev/vdb17 và /dev/vdb18. Được rồi, chúng ta bắt đầu từng bước nhé:

  • Bước 1: Chọn lable cho phân vùng bằng /dev/vdb19.

LABEL-TYPE bao gồm: System0. Mình sẽ không đi sâu về mỗi loại là gì, ở đây các bạn có thể xài mặc định là System1 như mình.

  • Bước 2: Tạo phân vùng mới bằng /dev/vdb18. Ở đây mình sẽ tạo phân vùng Primary bắt đầu từ 1 tới 10000 System3
  • Bước 3: Tiếp theo, thoát từng phần bằng lệnh System4. Chúng ta sẽ định dạng phân vùng mới của mình trong hệ thống tệp ext4 bằng mkfs. Để thực hiện điều này, hãy chạy lệnh sau:

Ta sẽ được kết quả sau:

Kết quả

Xóa một phân vùng

Để xóa một phân vùng. Bạn cần vào chế độ thao tác với ổ đĩa bằng lệnh

[[email protected] ~]# fdisk -lu /dev/vdb
Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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
Disk label type: dos
Disk identifier: 0x9277b47b

Device Boot Start End Blocks Id System
/dev/vdb1 2048 41943039 20970496 83 Linux
6 theo hướng dẫn trên. Ở đây mình sẽ xóa một phân vùng trên ổ đĩa /dev/sda nên mình sẽ dùng lệnh System6

Tiếp theo dùng lệnh

[[email protected] ~]# fdisk -lu /dev/vdb
Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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
Disk label type: dos
Disk identifier: 0x9277b47b

Device Boot Start End Blocks Id System
/dev/vdb1 2048 41943039 20970496 83 Linux
9 để liệt kê danh sách các phân vùng kèm số thứ tự của nó.

Lệnh System8 là một lệnh dùng để xoá phân vùng số number. Khi thực hiện lệnh thì sẽ không có thông báo gì nên các bạn phải chú ý ! Đây là trước khi mình xoá phân vùng số 1.

Thực hiện xóa phân vùng số 1 bằng lệnh :

Ta thu được kết quả:

Kết quả

Như vậy đã xóa thành công. Phân vùng số 1 đã mất.

Thay đổi kích thước phân vùng

Trong Parted, có khá nhiều công cụ để thay đổi kích thước nhưng có lẽ System9 là nổi tiếng và dễ sử dụng nhất. Ví dụ như muốn thay đổi một phân vùng số 1 thì ta làm như sau:

Trong đó, khi hệ thống hỏi:

  • Partition number?: Bạn điền thứ tự phân vùng mình cần thay đổi kích thước. Ở đây mình điền Linux0 để thay đổi kích thước phân vùng số 1.

  • End? 10.0GB]?: Dung lượng bạn muốn thay đổi (đơn vị là MB). Ở đây mình điền Linux1, tương đương với 15GB để thay đổi kích thước phân vùng từ 10GB sang 15GB.

Như vậy ta đã thay đổi size của phân vùng số 1 từ Linux2 lên Linux3.

Rescue một phân vùng

Rescue là một lệnh để ứng cứu phân vùng. Nếu bạn lỡ như xoá hay vì một lý do nào đó mà phân vùng bị mất thì đây là một lệnh cứu cánh cực kì hiệu quả. Chỉ cần phân vùng nằm trong Linux4 và Linux5 thì lệnh Linux6 sẽ cố gắng phục hồi nó. Ví dụ:

Thay đổi flag của phân vùng

Trong bảng phân vùng, bạn sẽ thấy một trường tên là Flag. Flag là để boot loader xác định phân vùng nào để boot. Có tổng cộng 11 flags:

Linux7

Để đặt flag cho một phần vùng ta sử dụng 2 logic on và off bằng lệnh sau:

Ví dụ mình đặt flag Linux8 cho phân vùng số 2 thì mình thực hiện lệnh sau:

Kết quả

Tổng kết

Quản lý phân vùng là kỹ năng cơ bản dành cho người sử dụng hệ điều hành Linux. Vì vậy bạn nên nắm rõ lý thuyết và thao tác thành thạo các công cụ phân vùng đĩa cứng. Việc phân vùng cũng ảnh hưởng đến dữ liệu trên đĩa cứng nên hãy thao tác cẩn thận và chính xác tuyệt đối nhé. Chúc bạn thành công!