提示:fstab配置錯誤會因無法正確掛載導致啟動失敗,雖可修改前先備份出錯時通過liveCD/USB還原fstab,但最好在修改fstab之后用 mount
命令測試一下:
sudo vim /etc/fstab
sudo systemctl daemon-reload # 重新加載修改后的fstab
sudo umount /media/win-D # 卸載原來掛載的某個盤
sudo mount -a # 自動掛載所有盤
示例配置
fstab示例配置如下:(Linux下沒必要單獨搞個/ramdisk
分區,/dev/shm
就是自帶的內存盤了)
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=000F-74AF /boot/efi vfat defaults,noatime 0 2
UUID=428cb395-2087-4d4b-9d81-ff52064e4136 swap swap defaults,noatime 0 2
UUID=6bc51c0a-b212-4f24-91a1-8cb8c46e3bdf / ext4 defaults,noatime 0 1
UUID=ecd6d8cf-344d-48dd-86f1-c58c5cd7627d /opt ext4 defaults,noatime 0 2
UUID=2f95aa6d-3694-4fc3-8fe1-be6e4ccb7a45 /home ext4 defaults,noatime 0 2
# overwrite size of /tmp
tmpfs /tmp tmpfs nodev,nosuid,size=5G 0 0
# ramdisk
# none /ramdisk tmpfs nodev,nosuid,noatime,mode=1777,size=512M 0 0
tmpfs /ramdisk tmpfs nodev,nosuid,noatime,mode=1777,size=384M 0 0
# ramdisk for mysql
tmpfs /var/lib/mysqltmp tmpfs rw,gid=987,uid=987,size=48M,mode=0750,noatime 0 0
# windows ntfs
/dev/sda3 /mnt/winD ntfs defaults,noatime,umask=0 0 2
/dev/sda4 /mnt/winE ntfs-3g defaults,noatime,umask=0 0 2
為避免發生事故,修改fstab文件后都要使用命令 mount -a
進行掛載測試,沒有報錯信息說明fstab文件沒有問題。否則根據報錯解決問題。
掛載NTFS,使用NTFS3新驅動!
掛載NTFS分區可指定type為ntfs
或ntfs-3g
。其實,mount.ntfs
正是mount.ntfs-3g
的鏈接:
kernel 5.15之后直接集成了Paragon捐獻的ntfs3驅動,不再需要FUSE,性能大幅提升,fstab中type應改為ntfs3
。
至於這個提升到底有多少,做個測試給大家看看:
Benchmark with SATA3 固態盤
(win下速度約500~600MB/s)
-
ntfs-3g
-
ntfs3
再來個機械盤Benchmark
-
ntfs-3g
-
ntfs3
差別過於明顯了:上限從190MB/s左右提升到了3GB/s,從開啟fsync的實際寫入速度可看出ntfs3可以極大發揮物理設備的潛力。贊!
如何默認NTFS3
自動掛載的分區可以在fstab指定,那如何讓mount
指令或者文件管理器程序默認使用ntfs3而不是ntfs-3g呢?
我們有兩種方式達成這個目的:
- 修改mount.ntfs內容,hook住外界對其調用,轉給ntfs3
cd /usr/sbin
sudo mv mount.ntfs mount.ntfs.disabled
sudo mv /sbin/mount.ntfs /sbin/mount.ntfs.disabled
sudo dd status=none of=mount.ntfs > mount.ntfs <<EOF
#!/bin/bash
exec mount -t ntfs3 $@
EOF
sudo chmod 755 mount.ntfs
- 在
/etc/filesystems
指定mount嘗試ntfs3
sudo mv /sbin/mount.ntfs /sbin/mount.ntfs.disabled
echo ntfs3 | sudo tee /etc/filesystems
- /etc/udev/rules.d/ntfs3_by_default.rules
SUBSYSTEM"block", ENV{ID_FS_TYPE}"ntfs", ENV{ID_FS_TYPE}="ntfs3"
兩種方式任選一個,修改后重啟驗證。
https://www.linuxquestions.org/questions/slackware-14/kernel-5-15-ntfs3-vs-ntfs-3g-4175702945/
https://forums.gentoo.org/viewtopic-t-1144830-start-0.html
https://ubuntu-mate.community/t/kernel-5-15-ntfs3-and-caja/24759
https://wiki.archlinux.org/title/NTFS