dmidecode là một công cụ dòng lệnh trên Linux dùng để đọc và hiển thị thông tin phần cứng máy tính từ bảng DMI hoặc SMBIOS cung cấp bởi BIOS, giúp kiểm tra chi tiết như nhà sản xuất, model, số serial, BIOS, CPU, RAM mà không cần mở máy. Trong bài viết này, mình sẽ hướng dẫn bạn cách sử dụng lệnh dmidecode để đọc thông tin phần cứng chính xác.
Những điểm chính
- Định nghĩa dmidecode: Hiểu rõ
dmidecodelà công cụ dòng lệnh dùng để đọc thông tin phần cứng chi tiết từ DMI/SMBIOS của hệ thống. - Các phương pháp lọc thông tin: Nắm được cách sử dụng các từ khóa hoặc mã số để lọc và xem thông tin của từng thành phần cụ thể.
- Lý do nên sử dụng dmidecode: Biết được các lợi ích chính của
dmidecode, từ việc tra cứu thông tin dễ dàng, đánh giá khả năng nâng cấp đến quản lý tài sản IT. - Cách sử dụng chi tiết: Thành thạo các lệnh thực tế để xem thông tin RAM, BIOS, số serial và cách tra cứu tài liệu hướng dẫn.
- Lưu ý khi sử dụng: Nắm được các lưu ý quan trọng để sử dụng
dmidecodemột cách an toàn và diễn giải kết quả chính xác, đặc biệt là yêu cầu quyền root và sự khác biệt trên máy chủ ảo. - Giải đáp thắc mắc (FAQ): Có được câu trả lời cho các vấn đề thực tế như cách xử lý lỗi “Permission denied”, cài đặt
dmidecodevà ý nghĩa của thông báo “To be filled by O.E.M”.
dmidecode là gì?
dmidecode là công cụ dòng lệnh trên Linux dùng để lấy thông tin chi tiết về phần cứng của hệ thống từ các bảng SMBIOS hoặc DMI do BIOS cung cấp. Công cụ này giúp người dùng xem các dữ liệu như bộ xử lý, bộ nhớ RAM, phiên bản BIOS, số sê-ri và các thông số cấu hình phần cứng khác dưới dạng dễ hiểu mà không cần mở máy.
dmidecode thường được ứng dụng phổ biến nhất trong việc kiểm tra, quản lý phần cứng cho quản trị viên hệ thống và người dùng cần thông tin chính xác về cấu hình thiết bị của mình.

Khi người dùng thực thi lệnh dmidecode mà không kèm theo tham số nào, hệ thống sẽ hiển thị toàn bộ thông tin phần cứng hiện có.
dmidecode
Các phương pháp lọc thông tin
Vì lượng thông tin dmidecode xuất ra rất lớn nên công cụ này hỗ trợ tùy chọn -t (hoặc –type) để lọc dữ liệu theo từng nhóm thành phần cụ thể. Bạn có thể sử dụng mã số (Type ID) hoặc từ khóa (Keyword) để thực hiện việc lọc này.
Dưới đây là bảng đối chiếu mã số và từ khóa thông dụng:
| Keyword (Từ khóa) | Type ID (Mã số) | Mô tả chức năng |
|---|---|---|
| bios | 0, 13 | Thông tin về BIOS/UEFI (Nhà sản xuất, phiên bản, ngày phát hành). |
| system | 1, 12, 15, 23, 32 | Thông tin tổng quan hệ thống (Serial Number, UUID, nhà sản xuất máy). |
| baseboard | 2, 10, 41 | Thông tin bo mạch chủ (Mainboard: Model, Version, Serial). |
| chassis | 3 | Thông tin về vỏ máy (Case/Chassis: Desktop, Rack, Laptop,…). |
| processor | 4 | Chi tiết về CPU (Tốc độ, số nhân, socket, dòng chip). |
| memory | 5, 6, 16, 17 | Thông tin về RAM (Dung lượng, tốc độ bus, loại khe cắm). |
| cache | 7 | Thông tin bộ nhớ đệm (Cache L1, L2, L3). |
| connector | 8 | Danh sách các cổng kết nối vật lý (USB, SATA, HDMI,…). |
| slot | 9 | Các khe mở rộng (PCI, PCIe, AGP). |

Tại sao nên sử dụng lệnh dmidecode?
Dưới đây là những lý do mà bạn nên sử dụng lệnh dmidecode:
- Tra cứu dễ dàng: Người quản trị hệ thống có thể truy xuất thông tin chi tiết về phần cứng mà không cần phải tắt máy, tháo vỏ case hay can thiệp vật lý trực tiếp vào các linh kiện bên trong.
- Đánh giá khả năng nâng cấp: Lệnh dmidecode cung cấp cái nhìn rõ ràng về cấu hình hiện tại cũng như giới hạn phần cứng của hệ thống, giúp người dùng xác định được dung lượng RAM tối đa hoặc dòng CPU cao nhất mà bo mạch chủ hỗ trợ.
- Hỗ trợ quản lý tài sản: Bộ phận kỹ thuật có thể sử dụng công cụ này để trích xuất số Serial Number và mã định danh thiết bị, phục vụ cho công tác kiểm kê tài sản trong doanh nghiệp.
- Đánh giá và bảo trì: Kỹ thuật viên có thể dựa vào các dữ liệu trích xuất từ bảng DMI để khoanh vùng lỗi phần cứng, khắc phục sự cố và đảm bảo tính tương thích tuyệt đối trước khi thực hiện bất kỳ quy trình nâng cấp nào.
Cách sử dụng lệnh dmidecode chi tiết theo từng trường hợp
1. Sử dụng tùy chọn lọc theo mã số (Type ID)
Nếu bạn nắm rõ mã số của thành phần cần kiểm tra, bạn có thể truyền trực tiếp số đó vào sau tham số -t.
Ví dụ, để xem thông tin về các cổng kết nối vật lý, bạn sử dụng mã số 8:
dmidecode -t 8
2. Sử dụng tùy chọn lọc theo từ khóa
Việc sử dụng từ khóa giúp câu lệnh dễ nhớ và trực quan hơn. Thay vì nhớ các con số, bạn chỉ cần nhập tên thành phần tiếng Anh tương ứng.
Ví dụ, để kiểm tra thông tin bộ nhớ đệm (Cache) của CPU, bạn thực hiện lệnh sau:
dmidecode -t cache
3. Xem thông tin RAM và BIOS
Xem thông tin RAM
Ví dụ, để kiểm tra thông tin RAM (Memory), bạn sử dụng mã số 16 (Physical Memory Array) hoặc từ khóa memory để xem dung lượng tối đa hỗ trợ và các thanh RAM đang cắm:
dmidecode -t 16
Xem thông tin BIOS
Để xem phiên bản BIOS hiện tại nhằm phục vụ việc nâng cấp hoặc vá lỗi bảo mật, bạn sử dụng lệnh:
dmidecode -t bios
4. Xem thông tin hệ thống và số Serial
Để lấy nhanh số Serial Number (Service Tag) của máy chủ hoặc thông tin model máy nhằm mục đích bảo hành, bạn sử dụng từ khóa system. Lệnh này rất hữu ích trong việc quản lý tài sản hạ tầng IT.
dmidecode -t system
5. Tra cứu tài liệu hướng dẫn
Để tìm hiểu sâu hơn về các tùy chọn nâng cao khác của dmidecode, người dùng có thể tham khảo tài liệu hướng dẫn tích hợp sẵn trên Linux thông qua lệnh man:
man dmidecodeLưu ý khi sử dụng dmidecode
Mặc dù dmidecode rất an toàn vì chỉ đọc dữ liệu, nhưng để sử dụng hiệu quả và tránh hiểu sai thông tin, bạn cần lưu ý:
- Có quyền root (hoặc dùng sudo): Do dmidecode cần truy cập trực tiếp vào vùng nhớ hệ thống để đọc bảng DMI nên tài khoản người dùng thường sẽ bị từ chối truy cập.
- Độ chính xác của thông tin phụ thuộc vào nhà sản xuất: Một số thông tin có thể hiển thị là “To be filled by O.E.M.” hoặc để trống nếu nhà sản xuất bo mạch chủ không nạp dữ liệu đầy đủ vào BIOS.
- Kết quả trên máy chủ ảo phản ánh cấu hình ảo hóa: Khi chạy trên VPS, dmidecode sẽ hiển thị thông tin do Hypervisor cung cấp chứ không phải thông tin của máy chủ vật lý bên dưới.
- Lệnh dmidecode chỉ có chức năng đọc dữ liệu: Bạn không thể sử dụng công cụ này để thay đổi số Serial, cập nhật BIOS hay sửa đổi bất kỳ cấu hình phần cứng nào.
- Cấu trúc bảng DMI có thể thay đổi theo phiên bản SMBIOS: Việc sử dụng các script tự động để lọc thông tin cần được kiểm tra kỹ, vì định dạng đầu ra có thể khác biệt nhẹ giữa các phiên bản phần cứng khác nhau.

Câu hỏi thường gặp
Tại sao tôi nhận được thông báo lỗi “Permission denied” khi chạy lệnh dmidecode?
Lệnh dmidecode hoạt động bằng cách đọc trực tiếp từ bộ nhớ hệ thống để trích xuất bảng DMI. Vì lý do bảo mật, chỉ có người dùng root hoặc người dùng có quyền quản trị mới được phép truy cập vùng nhớ này. Để khắc phục, bạn hãy thêm sudo vào trước câu lệnh.
Ví dụ: sudo dmidecode -t system.
Làm thế nào để cài đặt dmidecode nếu lệnh này chưa có sẵn trên hệ thống?
Mặc dù dmidecode thường được cài sẵn trên hầu hết các bản phân phối Linux hiện đại, nhưng trong các phiên bản Minimal, có thể bạn sẽ cần cài đặt thủ công:
– Trên Ubuntu/Debian: sudo apt-get install dmidecode.
– Trên CentOS/RHEL/Fedora: sudo yum install dmidecode hoặc sudo dnf install dmidecode.
Tại sao một số thông tin trả về lại hiển thị là “To be filled by O.E.M”?
Thông báo “To be filled by O.E.M” xuất hiện khi nhà sản xuất bo mạch chủ hoặc máy tính chưa nạp dữ liệu cụ thể vào trường đó trong quá trình sản xuất. Điều này thường gặp ở các máy tính tự lắp ráp (PC) hoặc các bo mạch chủ giá rẻ; trong khi các máy bộ thường có thông tin đầy đủ hơn.
Bài viết đã hướng dẫn chi tiết về cách sử dụng lệnh dmidecode để kiểm tra thông tin phần cứng trên hệ điều hành Linux. Việc nắm vững công cụ này sẽ giúp quá trình quản trị, giám sát và bảo trì hệ thống của bạn trở nên hiệu quả hơn. Chúc bạn thực hiện thành công và hẹn gặp lại bạn trong các bài viết tiếp theo.




