Khi bạn cố gắng mount ổ cứng SMB (NAS) vào Ubuntu, đôi khi lệnh sudo mount -a báo lỗi và từ chối hoạt động. Nguyên nhân không phải do NAS hay cấu hình Samba sai, mà thường đến từ một phân vùng NTFS trên ổ cứng gắn trong máy (/dev/sda1) bị lỗi filesystem. Bài viết này sẽ hướng dẫn bạn chi tiết từ A-Z cách mount ổ cứng SMB vào Ubuntu, sửa chữa phân vùng NTFS bị hỏng bằng ntfsfix Ubuntu và giải quyết triệt để lỗi MFTMirr.
Bạn đang vận hành một máy chủ gia đình hoặc hệ thống lab doanh nghiệp nhỏ. Nhu cầu truy cập dữ liệu tập trung trên NAS qua mạng lan là cực kỳ phổ biến. Việc thiết lập mount ổ cứng SMB vào Ubuntu giúp tự động hóa quá trình này mỗi khi máy khởi động. Việc mount ổ cứng SMB vào Ubuntu giúp đồng bộ dữ liệu nhanh hơn. Tuy nhiên, rắc rối xảy ra khi hệ thống kiểm tra tất cả dòng trong fstab và dừng lại vì một lỗi đĩa vật lý không liên quan. Chúng ta sẽ cùng mổ xẻ nguyên nhân và cách xử lý trong bài viết này.
Cơ Chế Mount Trong Linux & Samba Client Hoạt Động Thế Nào?
Trước khi đi sâu vào sửa lỗi, bạn cần hiểu bản chất của việc mount ổ cứng SMB vào Ubuntu. Trong Linux, mọi thiết bị lưu trữ, dù là ổ cứng vật lý gắn trong hay thư mục chia sẻ qua mạng, đều phải được gắn vào một thư mục rỗng trong cây thư mục gốc (Root Filesystem). Quá trình gắn này được gọi là mount. Bạn có thể xem thêm hướng dẫn sử dụng lệnh tại Linux mount man page.
Giao thức SMB (Server Message Block), hay còn gọi là CIFS (Common Internet File System) trên Linux, hoạt động ở tầng ứng dụng. Đây là cơ sở cốt lõi giúp bạn thực hiện mount ổ cứng SMB vào Ubuntu. Khi bạn thực hiện lệnh mount ổ cứng SMB vào Ubuntu, Linux kernel sử dụng driver cifs để dịch các yêu cầu đọc ghi file của hệ điều hành thành các gói tin mạng gửi tới NAS. Do đó, ranh giới giữa file cục bộ và file mạng được làm phẳng.
Vấn đề ở đây là, lệnh mount -a (mount all) trong Ubuntu được thiết kế để đọc tệp cấu hình /etc/fstab và mount tất cả các mục được khai báo trong đó. Nếu bất kỳ một dòng nào bị lỗi — kể cả một phân vùng NTFS gắn trong máy — Ubuntu sẽ báo lỗi và dừng toàn bộ tiến trình mount phía sau. Đó là lý do tại sao một lỗi ổ cứng NTFS cục bộ lại có thể chặn đứng tiến trình mount ổ cứng SMB vào Ubuntu của bạn.
Xác Định Lỗi Khi Chạy Mount -a
Khi bạn cấu hình dòng lệnh mount ổ cứng SMB vào Ubuntu trong fstab và chạy lệnh chạy thử sudo mount -a, hệ thống có thể từ chối mount và quăng ra thông báo lỗi gây bối rối:
does not match
Failed to mount '/dev/sda1': Input/output error
Thực tế thì, thông báo lỗi này chỉ ra rằng phân vùng /dev/sda1 định dạng NTFS đang bị hỏng cấu trúc siêu dữ liệu. Cụ thể là bản sao bảng tập tin chính () không khớp với bảng tập tin chính gốc (). Đây gọi là lỗi MFTMirr trên hệ thống Linux. Khi Ubuntu quét qua dòng này trong fstab, nó gặp lỗi và từ chối xử lý các dòng cấu hình tiếp theo, bao gồm cả dòng cấu hình mount ổ cứng SMB vào Ubuntu.
Lỗi này thường do ba nguyên nhân chính gây ra: máy tính bị tắt đột ngột làm gián đoạn ghi đĩa, tính năng Fast Startup của Windows khóa phân vùng không cho hệ điều hành khác truy cập, hoặc tệ hơn là ổ cứng vật lý của bạn đang xuất hiện các bad sector ở khu vực ghi siêu dữ liệu quan trọng.
Kiểm Tra Dòng Nào Trong Fstab Gây Lỗi
Để cô lập lỗi và đảm bảo quá trình mount ổ cứng SMB vào Ubuntu được diễn ra trơn tru, bạn cần tìm ra dòng cấu hình phân vùng bị hỏng. Chạy lệnh sau để hiển thị nội dung file cấu hình fstab:
cat /etc/fstab
Hãy chú ý đến các dòng không có dấu # ở đầu. Dấu # biểu thị dòng chú thích (comment) sẽ được hệ điều hành bỏ qua khi mount. Nếu bạn thấy một dòng chứa phân vùng NTFS (ví dụ /dev/sda1) trỏ đến một điểm mount nào đó, hãy tạm thời thêm dấu # vào đầu dòng đó. Điều này giúp cô lập lỗi NTFS để bạn tập trung kiểm thử kết nối mount ổ cứng SMB vào Ubuntu trước.
Để xem thông tin chi tiết về các phân vùng đĩa cứng đang được cắm trên máy, bạn chạy lệnh liệt kê thiết bị khối:
lsblk -f
Lệnh này sẽ hiển thị cấu trúc cây của ổ cứng, định dạng file system (FSTYPE) như ext4, ntfs, cifs và mã UUID duy nhất của từng phân vùng. Việc nắm rõ UUID giúp bạn viết dòng cấu hình fstab chuẩn xác hơn, tránh lỗi nhận diện sai tên ổ đĩa sda/sdb khi cắm thêm thiết bị ngoại vi.
Sửa Lỗi Phân Vùng NTFS Bị Hỏng Với ntfsfix
Nếu bạn muốn giữ cả hai phân vùng hoạt động đồng thời, bạn phải sửa lỗi MFTMirr trên phân vùng NTFS. Công cụ tốt nhất để xử lý nhanh việc này trực tiếp trên môi trường Linux là ntfsfix Ubuntu. Công cụ này nằm trong gói tiện ích ntfs-3g được cài đặt mặc định trên hầu hết các bản phân phối Ubuntu.
Để tiến hành sửa lỗi, bạn chạy lệnh ntfsfix Ubuntu chỉ định chính xác phân vùng bị hỏng:
sudo ntfsfix /dev/sda1
Lệnh ntfsfix Ubuntu sẽ thực hiện quét cấu trúc NTFS cơ bản, reset lại cờ báo trạng thái bẩn (dirty flag) và đồng bộ lại với . Sau khi lệnh chạy xong và báo thành công, bạn hãy thử chạy lại lệnh mount toàn bộ để kiểm tra xem quá trình mount ổ cứng SMB vào Ubuntu đã hoạt động trở lại chưa:
sudo mount -a
Thú thật là, ntfsfix Ubuntu chỉ là một giải pháp sửa lỗi phần mềm ở mức bề mặt. Đối với các lỗi hư hỏng chỉ mục nghiêm trọng hơn, cách duy nhất và an toàn nhất là cắm ổ cứng đó vào một máy tính chạy hệ điều hành Windows và thực hiện sửa lỗi đĩa bằng công cụ chính chủ của Microsoft:
chkdsk /f E:
Thay thế E: bằng ký tự phân vùng ổ cứng tương ứng trên Windows của bạn. Lệnh này sẽ quét sâu vào bảng MFT, tìm kiếm các cung từ bị lỗi và sắp xếp lại cấu trúc dữ liệu chuẩn chỉnh nhất.
Kiểm Tra Sức Khỏe Ổ Cứng Bằng Smartctl
Nếu bạn đã chạy ntfsfix Ubuntu và chkdsk nhiều lần nhưng lỗi MFTMirr vẫn xuất hiện lại sau một thời gian ngắn, vấn đề có thể nằm ở phần cứng. Các bad sector vật lý xuất hiện trên bề mặt đĩa từ sẽ làm hỏng dữ liệu liên tục. Trước khi thiết lập mount ổ cứng SMB vào Ubuntu lâu dài, hãy kiểm tra sức khỏe vật lý của ổ đĩa bằng công cụ smartctl.
Hãy cài đặt gói công cụ kiểm tra thông số SMART và chạy quét toàn diện ổ đĩa:
sudo apt install smartmontools -y
sudo smartctl -a /dev/sda
Trong bảng kết quả trả về, bạn cần phân tích kỹ ba thông số sức khỏe quan trọng sau:
- Reallocated_Sector_Ct: Đây là số lượng sector hỏng đã được firmware của ổ cứng phát hiện và chuyển vùng dữ liệu sang vùng dự phòng. Nếu chỉ số này lớn hơn 0 và có xu hướng tăng dần theo tuần, ổ cứng của bạn đang chết dần và cần thay thế ngay lập tức.
- Current_Pending_Sector: Số lượng sector nghi ngờ bị hỏng và đang chờ để được phân bổ lại. Chỉ số này cho thấy đĩa cứng đang gặp khó khăn khi đọc ghi tại một số tọa độ vật lý.
- Offline_Uncorrectable: Số lượng sector lỗi vĩnh viễn không thể sửa chữa. Dữ liệu nằm ở các khu vực này coi như đã mất sạch.
Theo kinh nghiệm thực tế của mình, nếu bất kỳ chỉ số nào ở trên vượt quá 0, bạn nên sao lưu dữ liệu quan trọng ngay lập tức trước khi tiến hành bất kỳ cấu hình hệ thống nào sâu hơn.
Hướng Dẫn Từng Bước Mount Ổ Cứng SMB Vào Ubuntu
Sau khi đã dọn dẹp sạch sẽ các lỗi đĩa NTFS cục bộ, chúng ta sẽ tiến hành cấu hình mount ổ cứng SMB vào Ubuntu. Hãy thực hiện theo 4 bước tiêu chuẩn sau để đảm bảo kết nối mạng ổn định và bảo mật tối đa.
Bước 1: Cài đặt gói thư viện cifs-utils
Để Ubuntu có thể hiểu và mount được định dạng hệ thống file CIFS/SMB từ mạng, bạn cần cài đặt gói thư viện hỗ trợ theo tài liệu Ubuntu Mount Guide để hệ thống sẵn sàng cho tiến trình mount ổ cứng SMB vào Ubuntu bằng lệnh:
sudo apt update
sudo apt install cifs-utils -y
Bước 2: Tạo thư mục đích để mount (Mount Point)
Tạo một thư mục rỗng trên máy Ubuntu làm điểm gắn kết ổ đĩa mạng. Thư mục này sẽ là đích đến khi thực hiện mount ổ cứng SMB vào Ubuntu. Bạn có thể tạo trong thư mục /mnt:
sudo mkdir -p /mnt/NAS
Bước 3: Tạo tệp thông tin đăng nhập Samba an toàn
Để tránh việc hiển thị mật khẩu đăng nhập NAS dưới dạng văn bản thô (clear text) trong file fstab mà ai cũng có thể đọc được, hãy tạo một file credentials riêng tư:
sudo nano /etc/samba/credentials
Nhập thông tin tài khoản đăng nhập NAS của bạn. Đây là bước chuẩn bị tối quan trọng trước khi cấu hình mount ổ cứng SMB vào Ubuntu trong fstab:
username=tai_khoan_nas
password=mat_khau_nas
domain=WORKGROUP
Lưu lại và đóng file. Tiến hành phân quyền chặt chẽ chỉ cho phép user root đọc ghi file này để bảo mật thông tin tài khoản:
sudo chmod 600 /etc/samba/credentials
Bước 4: Cấu hình mount tự động trong fstab
Mở file cấu hình fstab bằng trình soạn thảo nano với quyền sudo:
sudo nano /etc/fstab
Thêm dòng cấu hình sau vào cuối file để thiết lập tự động mount ổ cứng SMB vào Ubuntu. Việc tự động mount ổ cứng SMB vào Ubuntu qua fstab sẽ hạn chế tối đa thao tác thủ công sau mỗi lần reboot:
//192.168.1.100/data /mnt/NAS cifs credentials=/etc/samba/credentials,uid=1000,gid=1000,iocharset=utf8,_netdev,nofail,x-gvfs-show 0 0
Hãy thay thế địa chỉ IP 192.168.1.100/data bằng IP và tên thư mục chia sẻ thực tế trên NAS của bạn. Lưu lại file và chạy lệnh mount để áp dụng ngay lập tức cấu hình mới:
sudo mount -a
Giải Mã Các Tham Số Cấu Hình Fstab Cho SMB
Để dòng lệnh mount ổ cứng SMB vào Ubuntu hoạt động bền bỉ và không gây treo máy khi khởi động. Khi vận hành mount ổ cứng SMB vào Ubuntu, việc hiểu rõ các tham số cấu hình là bắt buộc. Dưới đây là giải nghĩa chi tiết các tham số tối ưu trong dòng lệnh fstab ở bước trên:
- cifs: Định dạng hệ thống tệp tin mạng dùng để mount.
- credentials=/etc/samba/credentials: Đường dẫn trỏ tới file chứa tài khoản mật khẩu đã được mã hóa quyền 600.
- uid=1000,gid=1000: Thiết lập quyền sở hữu thư mục cho user thông thường trên Ubuntu. Tùy chọn này giúp việc mount ổ cứng SMB vào Ubuntu không bị giới hạn quyền ghi file. (UID 1000 là user đầu tiên được tạo). Thiếu tham số này, thư mục mount sẽ thuộc quyền root và bạn không thể ghi file từ ứng dụng thông thường.
- iocharset=utf8: Đảm bảo hiển thị đúng các ký tự tiếng Việt có dấu và ký tự đặc biệt trong tên file/thư mục.
- _netdev: Chỉ dẫn hệ điều hành hoãn việc mount ổ đĩa mạng này cho đến khi kết nối mạng lan/wifi được khởi động hoàn tất. Thiếu tùy chọn này, máy chủ Ubuntu sẽ bị treo rất lâu lúc boot nếu không tìm thấy mạng.
- nofail: Báo cho Ubuntu tiếp tục khởi động bình thường ngay cả khi không thể mount được NAS (ví dụ khi NAS bị tắt nguồn). Đây là tùy chọn cực kỳ quan trọng để ngăn chặn lỗi treo màn hình khởi động.
- x-gvfs-show: Cho phép GNOME Virtual File System nhận diện và hiển thị trực tiếp biểu tượng ổ đĩa mạng NAS này ở thanh điều hướng bên trái của ứng dụng Files (Nautilus). Đây là tùy chọn tuyệt vời cho người dùng Ubuntu Desktop.
Hiển Thị Ổ NAS Mount Trong Giao Diện Files (Nautilus)
Mặc dù tùy chọn x-gvfs-show giúp kích hoạt hiển thị ổ đĩa mạng trong giao diện đồ họa Files (Nautilus), đôi khi do cơ chế phân quyền bảo mật chặt chẽ của GNOME, ổ đĩa vẫn không tự động xuất hiện. Để xử lý triệt để việc hiển thị trực quan này, bạn có hai phương pháp tiếp cận thực tế:
Cách 1: Thêm bookmark thủ công bằng phím tắt
Mở ứng dụng Files lên, nhấn tổ hợp phím Ctrl + L để hiển thị thanh nhập đường dẫn. Nhập vào đường dẫn thư mục mount của bạn (ví dụ /mnt/NAS) rồi nhấn Enter. Khi thư mục NAS mở ra, bạn chỉ cần nhấn tổ hợp phím Ctrl + D. Thư mục này sẽ được ghim cố định vào thanh sidebar bên trái của Nautilus để bạn click truy cập nhanh bất cứ lúc nào.
Cách 2: Mount trực tiếp vào thư mục người dùng (Home)
Một mẹo nhỏ nhưng cực kỳ hiệu quả mà các sysadmin hay dùng là mount ổ cứng SMB vào Ubuntu trực tiếp vào bên trong thư mục Home của user thay vì thư mục hệ thống /mnt. GNOME ưu tiên quét và hiển thị các mount point nằm trong thư mục Home của người dùng hiện tại.
Hãy tạo một thư mục tên là NAS ngay trong thư mục Home của bạn:
mkdir -p ~/NAS
Sau đó, mở file fstab ra và sửa đường dẫn mount point từ /mnt/NAS thành /home/ten_nguoi_dung/NAS (thay thế ten_nguoi_dung bằng tên user Ubuntu thực tế của bạn). Tiến hành cập nhật cấu hình hệ thống:
sudo systemctl daemon-reload
sudo mount -a
Lúc này, biểu tượng ổ đĩa mạng sẽ xuất hiện ngay lập tức trong giao diện quản lý Files dưới dạng một ổ cứng gắn ngoài cực kỳ tiện lợi. Quyết định lựa chọn mount ổ cứng SMB vào Ubuntu thay vì các giao thức khác giúp việc tích hợp thư mục Home trở nên tối ưu hơn.
Troubleshooting: Xử Lý Các Lỗi Thường Gặp Khi Mount SMB
Quá trình thiết lập mount ổ cứng SMB vào Ubuntu đôi khi phát sinh một số lỗi quyền hạn hoặc mạng. Dưới đây là các lỗi thường gặp khi mount ổ cứng SMB vào Ubuntu và cách giải quyết. Dưới đây là cách chẩn đoán và khắc phục nhanh:
Lỗi 1: Permission Denied (Lỗi 13) khi ghi file
Hiện tượng là bạn mount thành công, đọc được file nhưng không thể tạo thư mục mới hay ghi file vào NAS. Nguyên nhân do bạn thiếu tham số định danh user uid và gid trong file fstab. Khi thiếu, Linux sẽ gán quyền sở hữu điểm mount cho user root. Hãy kiểm tra lại dòng cấu hình fstab và chắc chắn đã có uid=1000,gid=1000. Đây là tham số quan trọng bậc nhất khi mount ổ cứng SMB vào Ubuntu để tránh lỗi phân quyền (hoặc ID tương ứng của user bạn đang dùng, kiểm tra bằng lệnh id).
Lỗi 2: Hệ thống bị đơ, treo rất lâu khi khởi động
Hiện tượng này xuất hiện khi máy Ubuntu của bạn khởi động trong trạng thái không cắm dây mạng hoặc NAS đang tắt nguồn. Hệ điều hành cố gắng kết nối mạng để mount ổ đĩa mạng nhưng không tìm thấy thiết bị, gây ra timeout kéo dài. Hãy khắc phục bằng cách thêm hai tham số quan trọng là _netdev và nofail vào phần option trong fstab để Ubuntu bỏ qua tiến trình mount mạng này và tiếp tục boot bình thường. Điều này giúp hệ thống mount ổ cứng SMB vào Ubuntu một cách thông minh, không chặn quá trình boot của server.
Lỗi 3: Lỗi cifs_mount failed với status -101
Lỗi này báo hiệu hệ thống không thể tìm thấy đường đi (route) tới địa chỉ IP của NAS. Hãy kiểm tra kết nối mạng của bạn bằng lệnh ping: ping -c 3 dia_chi_ip_nas. Nếu ping lỗi, hãy kiểm tra lại cấu hình IP tĩnh trên NAS và dây cáp mạng kết nối.
Kiểm Tra Kết Quả Mount Cuối Cùng
Sau khi hoàn tất cấu hình và chạy lệnh mount, bạn có thể chạy lệnh sau để kiểm tra xem phân vùng mạng đã được gắn kết thành công vào hệ thống chưa. Đây là bước xác nhận cuối cùng cho quy trình mount ổ cứng SMB vào Ubuntu:
mount | grep cifs
Nếu terminal trả về dòng cấu hình dạng //192.168.1.100/data on /home/... type cifs, xin chúc mừng bạn đã cấu hình thành công ổ đĩa mạng SMB. Bạn cũng có thể xem thêm các bài viết hữu ích về tối ưu hóa mạng của mình như giảm thời gian phản hồi TTFB để tăng tốc độ truyền tải file trong mạng nội bộ và đẩy nhanh tiến trình mount ổ cứng SMB vào Ubuntu.
Kết Luận
Vấn đề phát sinh lỗi MFTMirr khi chạy mount tự động thực chất là một lỗi đĩa NTFS nội bộ ngăn chặn tiến trình đọc file fstab của Ubuntu. Bằng cách sử dụng ntfsfix Ubuntu hoặc công cụ chkdsk trên Windows, bạn có thể dễ dàng sửa chữa lỗi này.
Khi thực hiện mount ổ cứng SMB vào Ubuntu, hãy nhớ áp dụng đầy đủ các tùy chọn tối ưu trong fstab như uid, gid, _netdev, nofail và đặc biệt là x-gvfs-show để ổ đĩa mạng hiển thị mượt mà. Để tăng cường bảo mật cho toàn bộ hệ thống máy chủ của mình chống lại các nguy cơ xâm nhập từ mạng ngoài, bạn nên tham khảo hướng dẫn thiết lập CrowdSec WAF bảo vệ máy chủ.
Tham khảo hướng dẫn bảo mật và tài liệu kỹ thuật chính thức về giao thức kết nối tại: Samba Org Technical Documentation.


