10 ví dụ về lệnh fdisk trên Centos / Ubuntu / Debian / Fedora
Bài viết này giải thích về 10 lệnh fdisk cơ bản để quản lý bảng phân vùng trên các hệ thống dựa trên Linux. Bạn cần là người dùng root để chạy lệnh fdisk, nếu không, bạn sẽ gặp lỗi "command not found" (lệnh không được tìm thấy).
Giải thích về lệnh fdisk trong hệ điều hành Linux
Lệnh "fdisk" (viết tắt của "fixed disk or format disk") là một công cụ thường được sử dụng dòng lệnh để thao tác với ổ đĩa trên hệ thống Linux/Unix. Với sự trợ giúp của lệnh fdisk, bạn có thể xem, tạo, thay đổi kích thước, xóa, chuyển đổi, sao chép và di chuyển các phân vùng trên ổ cứng thông qua giao diện văn bản dựa trên menu.
Công cụ này rất hữu ích trong việc tạo không gian cho các phân vùng mới, tổ chức không gian cho các ổ đĩa mới, tổ chức lại các ổ đĩa cũ và sao chép hoặc di chuyển dữ liệu đến các đĩa mới. Nó cho phép bạn tạo tối đa bốn phân vùng chính mới và một số phân vùng mở rộng (logical), dựa trên kích thước ổ cứng có trong hệ thống của bạn.
10 cách dùng lệnh fdisk trong Linux
Xem tất cả các phân vùng đĩa
Dưới đây là danh sách các lệnh cơ bản để liệt kê tất cả các phân vùng ổ đĩa hiện có trên hệ thống của bạn. Đối số '-l' (viết tắt của "listing all partitions") được sử dụng với lệnh fdisk để xem tất cả các phân vùng có sẵn trên Linux. Các phân vùng được hiển thị theo tên thiết bị của chúng. Ví dụ: /dev/sda, /dev/sdb hoặc /dev/sdc.
[root@phothongtin.com ~]# fdisk -l Disk /dev/sda: 637.8 GB, 637802643456 bytes 255 heads, 63 sectors/track, 77541 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 2624 20972857+ 83 Linux /dev/sda3 2625 4582 15727635 83 Linux /dev/sda4 4583 77541 586043167+ 5 Extended /dev/sda5 4583 5887 10482381 83 Linux /dev/sda6 5888 7192 10482381 83 Linux /dev/sda7 7193 7845 5245191 83 Linux /dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris /dev/sda9 8368 77541 555640123+ 8e Linux LVM
Xem phân vùng đĩa cụ thể
Để xem tất cả các phân vùng của ổ đĩa cụ thể, sử dụng tùy chọn '-l' kèm theo tên thiết bị. Ví dụ, lệnh sau sẽ hiển thị tất cả các phân vùng ổ đĩa của thiết bị /dev/sda. Nếu bạn có tên thiết bị khác, chỉ cần viết tên thiết bị là /dev/sdb hoặc /dev/sdc.
[root@phothongtin.com ~]# fdisk -l /dev/sda Disk /dev/sda: 637.8 GB, 637802643456 bytes 255 heads, 63 sectors/track, 77541 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 2624 20972857+ 83 Linux /dev/sda3 2625 4582 15727635 83 Linux /dev/sda4 4583 77541 586043167+ 5 Extended /dev/sda5 4583 5887 10482381 83 Linux /dev/sda6 5888 7192 10482381 83 Linux /dev/sda7 7193 7845 5245191 83 Linux /dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris /dev/sda9 8368 77541 555640123+ 8e Linux LVM
Kiểm tra tất cả các lệnh fdisk có sẵn
Nếu bạn muốn xem tất cả các lệnh có sẵn cho fdisk, chỉ cần sử dụng lệnh sau bằng cách đề cập tên ổ đĩa như /dev/sda như được hiển thị dưới đây. Lệnh sau sẽ đưa ra kết quả tương tự như sau.
[root@phothongtin ~]# fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help):
Gõ 'm' để xem danh sách các lệnh có sẵn của fdisk mà bạn có thể thực hiện trên ổ đĩa /dev/sda. Sau đó, khi bạn nhập 'm' trên màn hình, bạn sẽ thấy tất cả các tùy chọn có sẵn cho fdisk mà bạn có thể sử dụng trên thiết bị /dev/sda.
[root@phothongtin ~]# fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help):
In ra bảng phân vùng (Partition Table)
Để in ra bảng phân vùng của một ổ đĩa cụ thể, ví dụ /dev/sda, bạn cần vào chế độ lệnh của ổ đĩa đó.
[root@phothongtin ~]# fdisk /dev/sda
Trong chế độ lệnh, hãy nhập 'p' thay vì 'm' như chúng ta đã làm trước đó. Khi bạn nhập 'p', nó sẽ in ra bảng phân vùng cụ thể của /dev/sda.
Command (m for help): p Disk /dev/sda: 637.8 GB, 637802643456 bytes 255 heads, 63 sectors/track, 77541 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 2624 20972857+ 83 Linux /dev/sda3 2625 4582 15727635 83 Linux /dev/sda4 4583 77541 586043167+ 5 Extended /dev/sda5 4583 5887 10482381 83 Linux /dev/sda6 5888 7192 10482381 83 Linux /dev/sda7 7193 7845 5245191 83 Linux /dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris /dev/sda9 8368 77541 555640123+ 8e Linux LVM Command (m for help):
Cách xóa phân vùng
Nếu bạn muốn xóa một phân vùng cụ thể (ví dụ /dev/sda9) trên ổ đĩa cụ thể như /dev/sda, bạn cần ở trong chế độ lệnh của fdisk để thực hiện điều này.
[root@phothongtin ~]# fdisk /dev/sda
Tiếp theo, nhập 'd' để xóa bất kỳ phân vùng nào trên hệ thống. Khi bạn nhập 'd', nó sẽ yêu cầu bạn nhập số phân vùng mà bạn muốn xóa trên ổ đĩa /dev/sda. Giả sử bạn nhập số '4' ở đây, sau đó nó sẽ xóa phân vùng số '4' (tức là /dev/sda4) và hiển thị không gian trống trong bảng phân vùng. Nhập 'w' để ghi bảng vào ổ đĩa và thoát sau khi đã thay đổi bảng phân vùng. Các thay đổi mới sẽ chỉ có hiệu lực sau khi khởi động lại hệ thống. Điều này có thể dễ dàng hiểu qua đầu ra dưới đây.
[root@phothongtin ~]# fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): d Partition number (1-4): 4 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks. You have new mail in /var/spool/mail/root
Cảnh báo: Hãy cẩn thận khi thực hiện bước này, vì sử dụng tùy chọn 'd' sẽ xóa hoàn toàn phân vùng khỏi hệ thống và có thể gây mất dữ liệu trong phân vùng.
Cách tạo phân vùng mới
Nếu bạn còn không gian trống trên một trong các thiết bị của bạn, ví dụ /dev/sda, và muốn tạo một phân vùng mới dưới nó, bạn cần ở trong chế độ lệnh của fdisk cho /dev/sda. Gõ lệnh sau để vào chế độ lệnh của ổ đĩa cụ thể:
[root@phothongtin ~]# fdisk /dev/sda
Sau khi vào chế độ lệnh, bây giờ nhấn phím "n" để tạo một phân vùng mới dưới /dev/sda với kích thước cụ thể.
[root@phothongtin ~]# fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n Command action e extended p primary partition (1-4) e
Khi tạo một phân vùng mới, nó sẽ yêu cầu bạn hai tùy chọn là tạo phân vùng "extended" hoặc "primary". Nhấn 'e' để tạo phân vùng mở rộng và 'p' để tạo phân vùng chính. Sau đó, nó sẽ yêu cầu bạn nhập hai thông tin sau đây:
- Số cylinder đầu tiên của phân vùng muốn tạo.
- Số cylinder cuối cùng của phân vùng muốn tạo (Số cylinder cuối cùng hoặc +cylinders hoặc +size).
Bạn có thể nhập kích thước của cylinder bằng cách thêm "+5000M" vào cylinder cuối cùng. Ở đây, '+' có nghĩa là cộng và 5000M có nghĩa là kích thước của phân vùng mới (tức là 5000MB). Hãy nhớ rằng sau khi tạo một phân vùng mới, bạn nên chạy lệnh 'w' để lưu các thay đổi mới vào bảng phân vùng và sau đó khởi động lại hệ thống để xác minh phân vùng mới đã được tạo.
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks.
Cách định dạng phân vùng
Sau khi tạo phân vùng mới, đừng bỏ qua việc định dạng phân vùng mới bằng lệnh 'mkfs'. Nhập lệnh sau vào terminal để định dạng một phân vùng. Ở đây, /dev/sda4 là phân vùng mới tạo của tôi.
[root@phothongtin ~]# mkfs.ext4 /dev/sda4
Cách kiểm tra kích thước phân vùng
Sau khi định dạng phân vùng mới, bạn có thể kiểm tra kích thước của phân vùng đó bằng cách sử dụng tùy chọn 's' (hiển thị kích thước trong khối) với lệnh fdisk. Điều này giúp bạn kiểm tra kích thước của bất kỳ thiết bị cụ thể nào.
[root@phothongtin ~]# fdisk -s /dev/sda2 5194304
Cách sửa thứ tự bảng phân vùng
Nếu bạn đã xóa một phân vùng logic và tạo lại nó, bạn có thể gặp vấn đề "partition out of order" hoặc thông báo lỗi như "Partition table entries are not in disk order".
Ví dụ, khi ba phân vùng logic như (sda4, sda5 và sda6) bị xóa và tạo phân vùng mới, bạn có thể mong đợi phân vùng mới sẽ có tên là sda Nhưng hệ thống sẽ tạo nó với tên là sda Điều này xảy ra do sau khi các phân vùng bị xóa, phân vùng sda7 đã được di chuyển thành sda4 và không gian trống dịch chuyển đến cuối.
Để sửa các vấn đề về thứ tự phân vùng và gán sda4 cho phân vùng mới tạo, sử dụng 'x' để nhập vào phần chức năng bổ sung và sau đó nhập lệnh chuyên gia 'f' để sửa đổi thứ tự của bảng phân vùng như được hiển thị dưới đây.
[root@phothongtin ~]# fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): x Expert command (m for help): f Done. Expert command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks.
Sau khi chạy lệnh 'f', đừng quên chạy lệnh 'w' để lưu và thoát khỏi chế độ lệnh fdisk. Sau khi sửa đổi thứ tự bảng phân vùng, bạn sẽ không còn nhận được thông báo lỗi nữa.
Cách tắt Boot Flag (*) của một phân vùng
Mặc định, lệnh fdisk hiển thị biểu tượng cờ khởi động (ví dụ: ‘*‘) trên mỗi phân vùng. Nếu bạn muốn kích hoặc vô hiệu hóa cờ khởi động trên một phân vùng cụ thể, thực hiện các bước sau đây.
[root@phothongtin ~]# fdisk /dev/sda
Nhấn phím ‘p‘ để xem bảng phân vùng hiện tại, bạn sẽ thấy có một cờ khởi động (biểu tượng dấu sao (*) màu cam) trên đĩa /dev/sda1 như được hiển thị dưới đây.
[root@phothongtin ~]# fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): p Disk /dev/sda: 637.8 GB, 637802643456 bytes 255 heads, 63 sectors/track, 77541 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 2624 20972857+ 83 Linux /dev/sda3 2625 4582 15727635 83 Linux /dev/sda4 4583 77541 586043167+ 5 Extended /dev/sda5 4583 5887 10482381 83 Linux /dev/sda6 5888 7192 10482381 83 Linux /dev/sda7 7193 7845 5245191 83 Linux /dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris /dev/sda9 8368 77541 555640123+ 8e Linux LVM
Tiếp theo, nhập lệnh ‘a‘ để vô hiệu hóa cờ khởi động, sau đó nhập số phân vùng ‘1‘ (ví dụ: /dev/sda1) trong trường hợp của tôi. Điều này sẽ vô hiệu hóa cờ khởi động trên phân vùng /dev/sda Điều này sẽ loại bỏ biểu tượng dấu sao (*).
Command (m for help): a Partition number (1-9): 1 Command (m for help): p Disk /dev/sda: 637.8 GB, 637802643456 bytes 255 heads, 63 sectors/track, 77541 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 1 13 104391 83 Linux /dev/sda2 14 2624 20972857+ 83 Linux /dev/sda3 2625 4582 15727635 83 Linux /dev/sda4 4583 77541 586043167+ 5 Extended /dev/sda5 4583 5887 10482381 83 Linux /dev/sda6 5888 7192 10482381 83 Linux /dev/sda7 7193 7845 5245191 83 Linux /dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris /dev/sda9 8368 77541 555640123+ 8e Linux LVM Command (m for help):
Bên trên là gần như tất cả các ví dụ về lệnh cơ bản của fdisk, nhưng câu lệnh này còn chứa nhiều lệnh chuyên gia khác mà bạn có thể sử dụng bằng cách nhập ‘x‘. Để biết thông tin chi tiết hơn, hãy kiểm tra lệnh ‘man fdisk‘ từ cửa sổ terminal.
Mọi người cũng tìm kiếm: fdisk ubuntu