Trong thế giới Unix-like, hệ thống tệp không được cột vào những chữ cái ổ đĩa như Windows — chúng là một cây đại lộ duy nhất, nơi mọi con đường đều quy về một gốc chung. Từ mount đến umount và các thủ thuật remount, những lệnh này là chiếc la bàn giúp bạn ghép, tách và định hình không gian lưu trữ trên Linux giống như người nghệ nhân ghép mảnh kính màu vào cửa sổ thời gian. Bài viết này giải nghĩa từng khía cạnh thiết yếu của mount/umount, cung cấp ví dụ thực tiễn, mẹo chẩn đoán và các tình huống hay gặp — một cẩm nang hữu ích cho những ai muốn nắm quyền kiểm soát hệ thống tệp trên máy tính của mình.
Kiến trúc hệ thống tệp trên Linux: một cây duy nhất
Khác với Windows gán ký tự ổ đĩa (C:, D:…), Linux gom tất cả vào một cây thư mục duy nhất bắt đầu từ /. Khi một thiết bị lưu trữ được gắn kết, nội dung của thiết bị ấy được “ghép” vào một nhánh của cây đó — gọi là mount point. Mount point là thư mục mà tại đó hệ thống tệp của thiết bị trở nên hiện hữu đối với hệ thống.
Nhiều hệ thống tệp được tự động mount khi khởi động hoặc khi thiết bị được kết nối; song bạn cũng có thể tắt tính năng tự động để kiểm soát chặt chẽ hơn. Trong những tình huống cần kiểm tra, sửa lỗi hay thao tác thủ công, mount, umount và tuỳ chọn remount là vũ khí thiết yếu.
Hai laptop so sánh Windows và Linux, truyền tải tệp giữa chúng
Hai laptop so sánh Windows và Linux, truyền tải tệp giữa chúng
Dò tìm hệ thống tệp đang mount với mount
Lệnh mount gần như là bộ kính hiển vi cho admin: gọi không cần tuỳ chọn sẽ liệt kê tất cả hệ thống tệp đã được mount:
- Gõ
mountđể thấy toàn bộ danh sách thiết bị, mount point, loại hệ thống tệp và các tuỳ chọn (rw, ro, relatime…). - Nếu đầu ra quá dài, thu hẹp bằng
-tđể lọc theo loại, ví dụmount -t tmpfshoặcmount -t ext4.
Các chỉ báo thường gặp:
rw— đọc/ghi (read-write).ro— chỉ đọc (read-only).relatime— tối ưu cách ghi thời điểm truy cập file.errors=remount-ro— nếu phát hiện lỗi nghiêm trọng, kernel sẽ remount sang chỉ đọc để phục hồi.
Kết quả lệnh mount hiển thị thông tin thiết bị và mount point
Kết quả lệnh mount hiển thị thông tin thiết bị và mount point
Kiểm tra dung lượng và mount point với df
Lệnh df cho bạn cái nhìn về dung lượng, chỗ đã dùng và còn trống, kèm mount point. Nếu muốn bỏ qua một số loại file system (ví dụ squashfs do các ứng dụng snap tạo ra), dùng -x:
df -x squashfsĐiều này giúp lọc bớt “tiếng ồn” trong đầu ra và tập trung vào các phân vùng bạn quan tâm.
Sử dụng df với -x để loại trừ squashfs, hiển thị dung lượng và mount point
Sử dụng df với -x để loại trừ squashfs, hiển thị dung lượng và mount point
Remount tất cả hệ thống tệp theo fstab
Tập tin /etc/fstab là bảng danh sách các hệ thống tệp được mount lúc khởi động. Để buộc refresh và remount tất cả mục trong fstab, dùng:
sudo mount -aLệnh này hữu ích khi gặp nhiều vấn đề liên quan tới mount—nó có thể tự khắc phục hoặc ít nhất đưa ra thông báo chẩn đoán để kiểm tra nhật ký hệ thống.
Gắn (mount) file ISO như một thiết bị
Bạn có thể mount file ISO để duyệt nội dung mà không cần ghi ra đĩa. Ví dụ:
sudo mount -t iso9660 -o loop TinyCore-current.iso /mnt-t iso9660chỉ định kiểu hệ thống tệp ISO.-o loopdùng loop device để mount một file như một thiết bị.- ISO luôn được mount ở chế độ chỉ đọc.
Sau khi mount, truy cập bằng ls /mnt như với bất kỳ thư mục nào khác.
Mount ISO trong terminal, minh họa cách mount file ảnh ISO lên /mnt
Mount ISO trong terminal, minh họa cách mount file ảnh ISO lên /mnt
Duyệt và unmount ISO
Khi ISO đã được mount:
ls /mnt
ls /mnt/cde/Để ngắt kết nối, dùng umount (không có chữ “n”):
sudo umount /mntNếu lệnh không báo lỗi thì mọi thứ đã được thực hiện thành công.
Tạo mount point theo ý bạn
Mount point chỉ đơn giản là một thư mục. Bạn có thể tạo và dùng mount point cá nhân:
sudo mkdir -p /media/dave/isomnt
sudo mount -r -t iso9660 -o loop TinyCore-current.iso /media/dave/isomnt/Hoặc mount ở vị trí khác nếu muốn truy cập ngắn gọn hơn.
Mount ISO lên /media/dave/isomnt, minh họa tạo mount point cá nhân để truy cập dễ dàng
Mount ISO lên /media/dave/isomnt, minh họa tạo mount point cá nhân để truy cập dễ dàng
Bind: chiếu nối một mount point đến thư mục khác
Bind cho phép một mount point được truy cập qua nhiều đường dẫn. Ví dụ bạn muốn truy cập ISO đã mount qua thư mục trong home:
mkdir ~/iso
sudo mount -B /media/dave/isomnt/ ~/iso
cd ~/isoKhi bind, bạn có thể dùng cả hai đường dẫn song song để truy xuất cùng một hệ thống tệp.
Tạo thư mục con và bind mount để truy cập hệ thống tệp từ nhiều vị trí
Tạo thư mục con và bind mount để truy cập hệ thống tệp từ nhiều vị trí
Unmount khi dùng bind
Một hệ thống tệp đã bind cần được unmount ở cả mount point gốc và bind point:
sudo umount /media/dave/isomnt
sudo umount ~/isoNếu chỉ unmount một đường dẫn, hệ thống tệp vẫn còn truy cập qua đường dẫn còn lại.
Mount thiết bị vật lý (ví dụ: ổ đĩa mềm)
Khi gắn thiết bị mới, Linux cấp một device file trong /dev, ví dụ /dev/sda, /dev/sdb, v.v. Dùng df | grep /dev/sd để xem sd device hiện có:
df | grep /dev/sdNếu ổ đĩa mềm xuất hiện là /dev/sdb, mount nó lên /mnt:
sudo mount /dev/sdb /mntVà unmount bằng:
sudo umount /dev/sdbNhãn hệ thống tệp (Labels)
Bạn có thể dùng mount -l -t <type> để xem label của file system. Ví dụ kiểm tra nhãn vfat:
mount -l -t vfatNhãn hiện trong ngoặc vuông ở cuối dòng. Labels chỉ là tên gắn, giúp nhận diện nhanh hơn chứ không ảnh hưởng chức năng.
Dùng mount -l -t vfat để hiển thị nhãn (label) của hệ thống tệp, hiển thị chỉ dẫn NORTUN trên floppy
Dùng mount -l -t vfat để hiển thị nhãn (label) của hệ thống tệp, hiển thị chỉ dẫn NORTUN trên floppy
Tùy chọn lazy khi umount: chờ đến lúc an toàn
Khi một file system đang được dùng (ví dụ người dùng đang ở trong thư mục đó), lệnh umount sẽ thất bại. Tuỳ chọn -l (lazy) cho phép yêu cầu unmount được ghi lại và thực hiện khi tài nguyên không còn bận nữa:
sudo umount -l /dev/sdbSau đó khi tiến trình hoặc người dùng rời khỏi thư mục, hệ thống sẽ tự gỡ mount.
Sử dụng umount -l để đợi hệ thống giải phóng mount point, minh họa hành vi lazy unmount
Sử dụng umount -l để đợi hệ thống giải phóng mount point, minh họa hành vi lazy unmount
Mount Samba (CIFS) — truy cập chia sẻ mạng
Samba/CIFS cho phép chia sẻ thư mục giữa Linux và Windows. Sau khi cài cifs-utils (trên Debian/Ubuntu dùng sudo apt-get install cifs-utils), bạn có thể mount share như sau:
sudo mount -t cifs -o credentials=/etc/samba/creds,uid=1000,gid=1000 //192.168.4.13/share /media/dave/NASGiải thích:
-t cifs— kiểu file system là CIFS.credentials=/etc/samba/creds— file chứa username và password cho share (giữ file này an toàn).uid/gid— đặt chủ sở hữu của root thư mục mount.//IP/share— địa chỉ mạng và tên share Samba./media/dave/NAS— mount point phải tồn tại trước khi mount.
Sau đó truy cập /media/dave/NAS để thấy nội dung chia sẻ.
Mount Samba share trên Linux, trình bày cách kết nối đến Raspberry Pi chia sẻ thư mục Backup dưới tên share
Mount Samba share trên Linux, trình bày cách kết nối đến Raspberry Pi chia sẻ thư mục Backup dưới tên share
Tạo file image, format và mount để thử nghiệm
Bạn có thể tạo một file image rồi làm file system bên trong để thử nghiệm:
Tạo file rỗng 20 MB bằng dd:
dd if=/dev/zero of=./geek_fs bs=1M count=20Tạo ext4 bên trong:
mkfs -t ext4 ./geek_fsMount file image:
sudo mount ./geek_fs /media/dave/geek
sudo chown dave:users /media/dave/geekBạn có thể thao tác, copy file vào và kiểm tra hoạt động như một thiết bị thực.
Dùng dd tạo file image, mkfs tạo hệ thống tệp và mount để thử nghiệm thao tác read/write
Dùng dd tạo file image, mkfs tạo hệ thống tệp và mount để thử nghiệm thao tác read/write
Remount — thay đổi thuộc tính mount mà không unmount
Khi cần đổi một mount từ ro sang rw (hoặc ngược lại) mà không muốn ngắt kết nối hoàn toàn:
Ví dụ mount read-only trước:
sudo mount -r /dev/sdb /mnt
mount | grep /mnt # sẽ thấy 'ro'Để remount sang read-write:
sudo mount -o remount,rw /mnt
mount | grep /mnt # sẽ thấy 'rw'Đây là thao tác thường thấy khi test hay chuyển hệ thống từ trạng thái an toàn sang trạng thái hoạt động.
Thực hiện remount để chuyển từ ro sang rw bằng mount -o remount, minh họa bằng kết quả grep trên /mnt
Thực hiện remount để chuyển từ ro sang rw bằng mount -o remount, minh họa bằng kết quả grep trên /mnt
Di chuyển mount (move) và giới hạn của systemd
Trước đây, mount -M cho phép chuyển mount point sang vị trí khác trong một lệnh. Tuy nhiên, trên các distro sử dụng systemd, tuỳ chọn -M có thể không hoạt động. Thay vào đó, dùng bind:
sudo mount -B /mnt ./geekĐiều này không giải phóng mount point gốc nhưng đem lại kết quả thực dụng tương tự.
Những quan sát cuối cùng
Trong hành trình thao tác với hệ thống tệp, mount và umount là những công cụ cơ bản nhưng mạnh mẽ — như cây thước của người thợ mộc, vừa giúp đo, vừa giúp nối, cắt những mảnh hệ thống theo ý muốn. Lưu ý rằng một vài tuỳ chọn (như -M) có thể bị ảnh hưởng bởi môi trường init (systemd vs SysV), và một số thao tác có thể cần lặp lại sau khởi động nếu không lưu vào fstab.
Khi gặp sự cố hệ thống tệp, hiểu rõ cách mount, remount, unmount và bind sẽ giúp bạn ghép lại “bức tranh” dữ liệu một cách an toàn và hiệu quả.
Kết luận: nắm vững mount/umount là như nắm chìa khóa vào kho lưu trữ của hệ thống — hãy luyện tập trên file image trước khi thao tác với phân vùng quan trọng.
Bạn đã sẵn sàng áp dụng những lệnh này trên hệ thống của mình chưa? Hãy thử tạo một file image, mount nó và chia sẻ kết quả hoặc thắc mắc của bạn ở phần bình luận!