Linux: Conf: fstab自動掛載磁盤和ramdisk


提示: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為ntfsntfs-3g。其實,mount.ntfs正是mount.ntfs-3g的鏈接:

kernel 5.15之后直接集成了Paragon捐獻的ntfs3驅動,不再需要FUSE,性能大幅提升,fstab中type應改為ntfs3

至於這個提升到底有多少,做個測試給大家看看:

Benchmark with SATA3 固態盤

(win下速度約500~600MB/s)

  • ntfs-3g
    ntfs-3g

  • ntfs3
    ntfs3

再來個機械盤Benchmark

  • ntfs-3g
    ntfs-3g

  • ntfs3
    ntfs3

差別過於明顯了:上限從190MB/s左右提升到了3GB/s,從開啟fsync的實際寫入速度可看出ntfs3可以極大發揮物理設備的潛力。贊!

如何默認NTFS3

自動掛載的分區可以在fstab指定,那如何讓mount指令或者文件管理器程序默認使用ntfs3而不是ntfs-3g呢?

我們有兩種方式達成這個目的:

  1. 修改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
  1. /etc/filesystems 指定mount嘗試ntfs3
sudo mv /sbin/mount.ntfs /sbin/mount.ntfs.disabled
echo ntfs3 | sudo tee /etc/filesystems
  1. /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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM