Lệnh mkfs trong Linux đóng vai trò thiết lập hệ thống file mới trên các thiết bị lưu trữ và sẽ xóa bỏ toàn bộ dữ liệu hiện có trong quá trình thực hiện. Dựa trên kinh nghiệm quản trị hạ tầng hơn 10 năm, mình nhận thấy mkfs là một lệnh mạnh mẽ nhưng cũng tiềm ẩn rủi ro rất cao nếu người dùng chủ quan trong việc nhận diện tên phân vùng. Bài viết này đúc kết từ những kinh nghiệm xử lý thực tế đó để giúp bạn làm chủ lệnh mkfs một cách chuyên nghiệp và an toàn nhất.
Những điểm chính
- Quan điểm của mình: Trong quản trị hạ tầng hiện đại, việc hiểu rõ sự khác biệt giữa các hệ thống file như ext4 và XFS là yếu tố quan trọng quyết định hiệu suất I/O và khả năng phục hồi dữ liệu của máy chủ. Việc nắm vững cách sử dụng lệnh mkfs chính là bước khởi đầu để xây dựng nền tảng lưu trữ tối ưu, ổn định và linh hoạt cho doanh nghiệp.
- Khái niệm mkfs: Hiểu rõ bản chất mkfs là trình điều phối giúp chuẩn hóa quy trình định dạng ổ đĩa theo nhiều chuẩn hệ thống file khác nhau.
- Cú pháp và tùy chọn: Nắm vững cấu trúc lệnh và các tham số quan trọng để tùy chỉnh gán nhãn, kiểm tra lỗi đĩa và bắt buộc định dạng linh hoạt.
- Lựa chọn File System: Biết cách phân biệt đặc điểm của các loại File System để áp dụng đúng mục đích lưu trữ.
- Trường hợp ứng dụng: Xác định chính xác các tình huống cần dùng lệnh như khởi tạo phần cứng mới, sửa lỗi mount hoặc chuyển đổi công nghệ lưu trữ.
- Chuẩn bị môi trường: Biết cách tạo ổ đĩa giả lập giúp bạn thoải mái thực hành và thử nghiệm các lệnh format mà không lo rủi ro mất dữ liệu thật.
- Ví dụ thực tế: Áp dụng thành công việc định dạng chuẩn ext4, XFS và quản lý định danh UUID chuyên nghiệp cho các phân vùng đĩa.
- Lưu ý an toàn: Nắm vững các nguyên tắc về ngắt kết nối thiết bị và quy trình phân vùng trước khi format để bảo vệ tính ổn định của hệ thống.
- Câu hỏi thường gặp: Giải đáp các thắc mắc thường gặp liên quan đến lệnh mkfs.
mkfs là gì?
mkfs (viết tắt của Make File System) trong Linux là một công cụ dòng lệnh được sử dụng để định dạng (format) một phân vùng ổ đĩa thành một hệ thống tập tin cụ thể như ext4, xfs, hay fat32. Về bản chất, mkfs không phải là công cụ thực thi đơn lẻ mà hoạt động như một giao diện điều phối.
Thay vì trực tiếp định dạng ổ đĩa, mkfs tự động gọi và kích hoạt các trình thực thi chuyên biệt tương ứng với định dạng mong muốn. Thông qua quá trình này, lệnh sẽ ghi đè lên thiết bị vật lý hoặc phân vùng logic bằng một bảng quản lý inode, super block và các cấu trúc dữ liệu cơ sở mới. Nhờ vậy, máy chủ có thể dễ dàng kiểm soát được cách thức tập tin được tạo ra, truy xuất và xóa bỏ trên ổ đĩa.
Ví dụ: Khi bạn thực thi lệnh mkfs -t ext4 /dev/sdb1, trình điều phối mkfs sẽ tìm và chạy công cụ /sbin/mkfs.ext4 để tiến hành định dạng phân vùng /dev/sdb1 theo chuẩn ext4.

Cú pháp và các tùy chọn phổ biến của mkfs
Cú pháp tổng quát để sử dụng lệnh như sau:
mkfs [options]... [fs-options]... device [size]Trong đó:
mkfs: Lệnh gọi trình điều phối chính.device: Đường dẫn trỏ đến thiết bị hoặc phân vùng đích cần định dạng.[options]...:Các tùy chọn chung của lệnh mkfs, ví dụ:-tđể chỉ định loại định dạng,-Vđể kiểm tra phiên bản.[fs-options]...: Các tùy chọn nâng cao dành riêng cho từng loại hệ thống file cụ thể.size]: Tham số tùy chọn để giới hạn kích thước hệ thống file.
Ví dụ, để định dạng một phân vùng sang ext4, bạn dùng lệnh sau:
sudo mkfs.ext4 /dev/sdb1Bạn cũng có thể sử dụng tùy chọn -t để chỉ định loại filesystem với cú pháp dưới đây:
sudo mkfs -t ext4 /dev/sdb1Dưới đây là bảng các tùy chọn thường được sử dụng nhất khi làm việc với mkfs:
| Option | Ý nghĩa | Ví dụ |
|---|---|---|
| -t | Dùng để chỉ định định dạng file system muốn tạo (ví dụ: ext4, xfs, ntfs, vfat). Nếu bạn bỏ trống tham số này, mặc định hệ điều hành sẽ chọn chuẩn ext2. | mkfs -t ext4 /dev/sdb1 |
| -F | Bắt buộc format, bỏ qua các cảnh báo an toàn. | mkfs.ext4 -F /dev/sdb1 |
| -L | Gán nhãn cho filesystem để dễ quản lý. | mkfs.ext4 -L data /dev/sdb1 |
| -q | Chế độ im lặng, không hiển thị thông tin chi tiết. | mkfs.ext4 -q /dev/sdb1 |
| -c | Kiểm tra các badblocks trên ổ đĩa trước khi format. | mkfs.ext4 -c /dev/sdb1 |
| -V | Hiển thị thông tin chi tiết về quá trình thực hiện, giúp bạn biết lệnh thực tế nào đang chạy ngầm. | mkfs -V -t xfs /dev/sdc1 |
Các loại File System phổ biến
Hệ điều hành Linux hỗ trợ một danh sách các hệ thống file rất đa dạng. Bạn cần hiểu rõ đặc điểm của chúng để thiết lập tham số -t cho phù hợp:
| Loại File System | Đặc điểm | Mục đích sử dụng |
|---|---|---|
| EXT2 | Hệ thống file đầu tiên của Linux, không có tính năng ghi nhật ký, dễ mất dữ liệu khi mất điện đột ngột. | Sử dụng cho các thiết bị lưu trữ tĩnh hoặc các bản phân phối Linux đời cũ. |
| EXT3 | Bản cải tiến của EXT2, bổ sung tính năng ghi nhật ký giúp kiểm tra và sửa chữa lỗi nhanh hơn. | Từng là tiêu chuẩn cho nhiều hệ thống Linux trước khi EXT4 ra đời. |
| EXT4 | Hiệu suất cao, hỗ trợ dung lượng lưu trữ cực lớn và giảm tình trạng phân mảnh dữ liệu. | Hệ thống tệp mặc định và phổ biến nhất trên hầu hết các bản phân phối Linux hiện nay. |
| BFS | Viết tắt của Boot File System, thiết kế đơn giản để tối ưu hóa quá trình quét tệp. | Sử dụng riêng cho các phân vùng khởi động của hệ thống. |
| FAT | Không có tính năng ghi nhật ký, cấu trúc đơn giản nhưng khả năng tương thích cực cao giữa các nền tảng. | Dùng cho đĩa mềm, ổ USB đời cũ và các thiết bị lưu trữ di động nhỏ. |
| CRAMFS | Hệ thống file nén chỉ đọc, có kích thước rất nhỏ gọn và tốc độ truy cập nhanh. | Thích hợp cho các hệ thống nhúng và các tệp ảnh Linux khởi động. |
| MSDOS | Một biến thể của FAT do Microsoft phát triển, có cấu trúc cơ bản và nhẹ. | Đảm bảo tính tương thích dữ liệu giữa cả hai môi trường Windows và Linux. |
| VFAT | Bản mở rộng của FAT, hỗ trợ tên tệp dài thay vì giới hạn 8 ký tự truyền thống. | Sử dụng rộng rãi cho thẻ nhớ và các ổ đĩa di động hiện đại cần tương thích đa nền tảng. |
| MINIX | Thiết kế dựa trên hệ điều hành Unix thu nhỏ, cấu trúc đơn giản hóa tối đa. | Xuất hiện trên các bản phân phối Linux cổ hoặc dùng cho mục đích giáo dục về hệ điều hành. |
| NTFS | Hệ thống file ghi nhật ký hiện đại của Microsoft với tính năng bảo mật và phân quyền nâng cao. | Hệ thống tệp mặc định cho các phiên bản Windows hiện nay (Windows 10, 11). |
Lựa chọn của chuyên gia:
– Cho máy tính cá nhân, máy chủ web và hầu hết các ứng dụng thông thường: ext4 là lựa chọn an toàn, ổn định và đáng tin cậy nhất.
– Cho máy chủ lưu trữ file lớn, database hoặc hệ thống ảo hóa yêu cầu hiệu suất I/O đỉnh cao: xfs thường mang lại hiệu quả vượt trội.
– Khi bạn cần trao đổi dữ liệu với máy Windows/macOS qua USB: Hãy chọn vfat (FAT32).
Khi nào cần sử dụng lệnh mkfs?
Dưới đây là các trường hợp cụ thể cần sử dụng lệnh mkfs:
- Khởi tạo ổ cứng vật lý mới (HDD/SSD): Khi vừa lắp đặt thêm ổ đĩa vào máy chủ, bạn bắt buộc phải dùng mkfs để tạo cấu trúc để hệ điều hành mới có thể ghi dữ liệu lên đó.
- Khắc phục lỗi không thể mount: Lệnh mkfs giúp giải quyết tình trạng lệnh lsblk hiển thị tên thiết bị nhưng lệnh mount lại báo lỗi “no filesystem” hoặc “wrong fs type”.
- Chuyển đổi hoặc làm mới định dạng hệ thống file: Dùng lệnh mkfs khi bạn muốn xóa sạch dữ liệu cũ và thay đổi công nghệ lưu trữ, ví dụ như chuyển từ ext4 sang xfs để tối ưu hóa cho các file dung lượng lớn hoặc sang btrfs để hỗ trợ snapshot.
- Reset và xóa sạch dữ liệu: Tương tự tính năng “Format” trên hệ điều hành Windows, mkfs giúp bạn xóa mới hoàn toàn cấu trúc dữ liệu trên một phân vùng nhanh chóng nhất.
- Định dạng các file ảnh tĩnh: Dùng để tạo file system trực tiếp trên một tập tin loopback nhằm cung cấp dung lượng lưu trữ cô lập cho máy ảo.
- Chuẩn bị hạ tầng cho các ứng dụng chuyên biệt: Bạn dùng mkfs khi cần thiết lập phân vùng dành riêng cho các mục đích kỹ thuật cao như:
- Lưu trữ dữ liệu tổng quát.
- Làm nơi chứa dữ liệu chia sẻ qua mạng.
- Tạo các Volume lưu trữ bền vững cho Container.
Lưu ý
Lệnh mkfs sẽ xóa sạch mọi dữ liệu hiện có trên phân vùng mục tiêu, do đó hãy chắc chắn rằng bạn đã chọn đúng tên thiết bị trước khi nhấn Enter.

Chuẩn bị môi trường trước khi chạy lệnh mkfs
Vì lệnh mkfs hoạt động với cơ chế xóa trắng và định dạng lại phân vùng nên việc chọn đúng ổ đĩa đích là điều rất quan trọng để tránh mất dữ liệu không thể khôi phục. Do đó, đối với người dùng mới hoặc khi muốn thử nghiệm các định dạng file system lạ, giải pháp tối ưu nhất là tạo một file giả lập ổ đĩa. Điều này cho phép bạn thoải mái thực hành các lệnh format mà không gây rủi ro cho ổ cứng vật lý của hệ thống.Quy trình tạo ổ đĩa ảo để thực hành như sau:
Bạn sẽ sử dụng công cụ dd để tạo ra một file rỗng có dung lượng 100MB, đóng vai trò như một ổ USB ảo để bạn thử nghiệm.
- Bước 1: Khởi động Terminal trên Ubuntu hoặc Linux.
- Bước 2: Thực thi câu lệnh khởi tạo sau:
dd if=/dev/zero of=~/backup.img bs=1M count=100Trong đó:
if=/dev/zero (Input File): Lấy dữ liệu đầu vào từ /dev/zero – một thiết bị ảo đặc biệt trong Linux chuyên tạo ra các ký tự Null liên tục.of=~/backup.img (Output File): Định nghĩa đường dẫn và tên file đích sẽ được tạo ra.bs=1M (Block Size): Quy định kích thước của mỗi khối dữ liệu là 1 Megabyte.count=100: Yêu cầu hệ thống sao chép 100 khối liên tiếp.
Sau khi lệnh chạy xong, bạn sẽ sở hữu một file backup.img với dung lượng chính xác là 100MB. Bây giờ, bạn có thể sử dụng file này để chạy thử các lệnh mkfs mà không lo làm hỏng hệ thống thật.
Các ví dụ sử dụng lệnh mkfs thực tế
Tạo partition theo chuẩn ext4
Để định dạng phân vùng theo chuẩn phổ biến nhất trên Linux, bạn dùng lệnh:
sudo mkfs.ext4 /dev/sdb1
Khi chạy lệnh này, toàn bộ dữ liệu hiện có trên /dev/sdb1 sẽ bị xóa và phân vùng sẽ được làm mới với filesystem ext4, sẵn sàng để mount và lưu trữ dữ liệu trên Linux.
Tạo partition theo chuẩn XFS
Đối với các máy chủ lớn yêu cầu hiệu suất cao, bạn nên định dạng theo chuẩn XFS bằng lệnh dưới đây:
sudo mkfs.xfs /dev/sdb1
Khi chạy lệnh này, toàn bộ dữ liệu cũ trên /dev/sdb1 sẽ bị xóa và phân vùng được làm mới với filesystem XFS rỗng, sẵn sàng để mount và sử dụng lưu trữ dữ liệu.
Kinh nghiệm từ chuyên gia: Dựa trên các bài test hiệu năng thực tế mình khuyên dùng XFS cho các máy chủ chạy Database (MySQL, PostgreSQL) hoặc File Server. XFS có khả năng xử lý song song và quản lý Metadata tốt hơn hẳn ext4 khi dung lượng ổ đĩa vượt quá 16TB.
Gán nhãn để dễ nhận diện
Để đặt tên gợi nhớ cho phân vùng ngay khi format, bạn sử dụng lệnh sau:
sudo mkfs.ext4 -L data /dev/sdb1
Khi cài đặt nhãn xong, hệ điều hành sẽ tự động nhận diện thiết bị thông qua tên gọi thay vì hiển thị các ký tự kỹ thuật khô khan.
Kiểm tra filesystem sau khi mkfs
Sau khi định dạng xong, bạn có thể xác minh lại thông tin filesystem về loại filesystem, nhãn, UUID,… bằng các lệnh:
lsblk -f
Nếu màn hình trả về dòng kết quả chứa từ khóa ext4 filesystem data, điều đó chứng tỏ quá trình tạo lập đã thành công.
blkid /dev/sdb1
Mount partition để sử dụng
Phân vùng đĩa sau khi định dạng vẫn chưa thể dùng được ngay mà phải gắn vào một thư mục đang có trên hệ thống để bắt đầu trao đổi dữ liệu. Ví dụ, để gắn phân vùng mới vào thư mục /mnt/data, bạn chạy hai lệnh sau:
sudo mkdir -p /mnt/data
sudo mount /dev/sdb1 /mnt/data
df -h
Từ thời điểm này, mọi tệp tin bạn lưu vào đường dẫn /mnt/data sẽ được máy tính ghi thẳng lên ổ cứng /dev/sdb1.
Lỗi thường gặp: Rất nhiều người dùng quên rằng lệnh mount ở trên chỉ có tác dụng tạm thời. Do đó nếu bạn khởi động lại máy, ổ đĩa sẽ biến mất khỏi thư mục /mnt/data. Bạn hãy luôn nhớ khai báo thông tin vào file /etc/fstab để hệ thống tự động kết nối lại mỗi khi khởi động.
Lưu ý khi sử dụng lệnh mkfs
Vì mkfs là lệnh có tính chất phá hủy dữ liệu cũ để xây dựng cấu trúc mới, việc thao tác cẩn trọng là yêu cầu bắt buộc. Dưới đây là các lưu ý bạn không nên bỏ qua:
- Tuân thủ quy trình phân vùng trước: Trừ các trường hợp đặc biệt, bạn không nên định dạng trực tiếp lên thiết bị thô. Hãy luôn tạo bảng phân vùng chuẩn bằng các công cụ như parted hoặc fdisk trước. Việc này đảm bảo ổ đĩa có cấu trúc logic rõ ràng và dễ dàng quản lý về sau.
- Kiểm tra lỗi vật lý trên phần cứng cũ: Nếu bạn tái sử dụng một ổ cứng đã cũ, hãy thêm tùy chọn
-cvào câu lệnh để hệ thống kiểm tra bề mặt đĩa nhằm phát hiện và đánh dấu các sector bị hỏng, ngăn chặn việc ghi dữ liệu vào các vùng hỏng này trong tương lai. - Tối ưu hóa định danh bằng nhãn: Thay vì để hệ thống tự đặt tên mặc định, bạn hãy chủ động gán nhãn gợi nhớ cho phân vùng bằng tùy chọn
-L [Tên_Nhãn]. Việc này giúp bạn dễ dàng nhận diện chức năng của ổ đĩa và đơn giản hóa việc cấu hình tự động mount trong file /etc/fstab. - Bắt buộc ngắt kết nối trước khi thực thi: Linux có cơ chế bảo vệ không cho phép định dạng một phân vùng đang được sử dụng. Do đó bạn cần chắc chắn rằng mình đã chạy lệnh umount đối với phân vùng đích để tránh lỗi “Device is busy”.
- Xác định chính xác UUID sau khi format: Sau khi chạy mkfs, UUID của phân vùng sẽ bị thay đổi. Nếu bạn đang cấu hình boot hoặc fstab dựa trên UUID cũ, hệ thống sẽ báo lỗi khi khởi động lại. Do đó bạn cần cập nhật lại UUID mới ngay sau khi định dạng xong.

Câu hỏi thường gặp
Nếu lỡ chạy mkfs nhầm ổ đĩa thì có lấy lại được dữ liệu không?
Về cơ bản là rất khó. Lệnh mkfs sẽ ghi đè lên bảng quản lý file cũ, khiến hệ điều hành không còn nhìn thấy dữ liệu trước đó. Mặc dù có các công cụ khôi phục dữ liệu chuyên sâu, nhưng khả năng khôi phục toàn vẹn là rất thấp và tốn kém. Do đó, bạn hãy luôn sao lưu dữ liệu quan trọng trước khi gõ lệnh.
Tại sao tôi nhận được lỗi “Device is busy” khi chạy mkfs?
Lỗi này xuất hiện khi phân vùng bạn muốn định dạng đang được hệ điều hành sử dụng (đang ở trạng thái mount). Để khắc phục, bạn bắt buộc phải ngắt kết nối phân vùng đó khỏi hệ thống bằng lệnh umount trước khi thực hiện định dạng.
Tôi nên chọn định dạng ext4 hay xfs?
– ext4: Là lựa chọn an toàn, ổn định và tương thích tốt nhất cho hầu hết các nhu cầu sử dụng thông thường trên Linux.
– xfs: Thường được ưu tiên cho các máy chủ lưu trữ lớn, cần xử lý các file có dung lượng khổng lồ hoặc yêu cầu hiệu suất cao về I/O.
Lệnh mkfs đóng vai trò quan trọng trong quy trình quản lý lưu trữ trên Linux, giúp chuyển đổi các thiết bị phần cứng thành không gian lưu trữ dữ liệu sẵn sàng hoạt động. Việc hiểu rõ cách lựa chọn định dạng phù hợp và sử dụng thành thạo các tùy chọn đi kèm sẽ giúp bạn tối ưu hóa hiệu suất máy chủ ngay từ bước khởi tạo. Tuy nhiên, do tính chất ghi đè dữ liệu vĩnh viễn, sự cẩn trọng và thói quen sao lưu trước khi thực thi luôn là yêu cầu bắt buộc đối với mọi quản trị viên.




