Loading

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

posted @ 2022-04-07 00:16  dylanchu  阅读(804)  评论(0编辑  收藏  举报