archlinux自动挂载windows的不同盘符(驱动器)

archlinux自动挂载windows的不同盘符(驱动器)

1. 前言

1.1. 需求

双系统windows和archlinux,有时候在windows下编写的代码,在切换成archlinux后,这时需要编辑windows下的代码,但是使用之前,需要在文件管理器中输入密码,会自动挂载到 /run/media/用户名目录下,挂载的名字是windows驱动器的命名。一般来说,编辑器默认选择打开的目录就是用户家目录。由于挂载的目录不太常用,在打开目录的时候需要手动选择,不太方便。

1.2. 解决思路

可以挂载到用户家目录下。在用户家目录创建一个以windows为名的目录,接着在windows 目录下创建驱动器的目录,将不同的驱动器挂载到相应的目录,如c盘驱动器的名字是base,d盘驱动器的名字是soft,d盘驱动器的名字是data,在windows目录下分别创建 base、soft、data三个目录。并分别挂载到它们。

2. 解决过程

## 2.1. 创建目录

首先在家目录下创建挂载的目录点

mkdir -p ~/windows/base && mkdir -p ~/windows/soft && mkdir -p ~/windows/data

挂载点分别为

/home/koko/windows/base
/home/koko/windows/soft
/home/koko/windows/data

# 以上目录分别对应着c盘,d盘,e盘

2.2. 安装ntfs-3g

为了解决挂载需要输入密码的问题,需要额外安装一个工具,名字叫做 ntfs-3g

sudo pacman -S ntfs-3g

安装完成之后,编写开机自启的服务文件,放入 /etc/systemd/system/ ,文件名为 windows-mount.service

[Unit]
Description=Mount Windows Partition  
After=network-online.target  
Wants=network-online.target  
  
[Service]  
ExecStart=/usr/bin/mount -a  
Type=oneshot  
RemainAfterExit=yes  
  
[Install]  
WantedBy=default.target

保存退出后,启动并开启自启

sudo systemctl enable windows-mount.service  
sudo systemctl start windows-mount.service

2.3. 编辑/etc/fstable文件

自动挂载目录可以编辑/etc/fsable文件,里面包含了挂载的信息,我的文件内容如下

/etc/fstable

[root@myarch ~]# cat /etc/fstab 
# /dev/nvme0n1p6 LABEL=myArch
UUID=cea4c38b-f7eb-4690-a35b-d4b6e8506d4d       /               btrfs           rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=256,subvol=/@     0 0

# /dev/nvme0n1p1
UUID=5F77-1EE1          /boot/efi       vfat            rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro   0 2

# /dev/nvme0n1p6 LABEL=myArch
UUID=cea4c38b-f7eb-4690-a35b-d4b6e8506d4d       /home           btrfs           rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=257,subvol=/@home 0 0

# /dev/nvme0n1p5
UUID=0ca07983-0116-4006-aa45-04a2abb129e6       none            swap            defaults        0 0

关于/etc/fatable 文件各列的简单解释

  • 第一列是挂载的设备(可以填写设备label或者uuid)
  • 第二列是挂载点。(必须是已经存在的目录)
  • 第三列是分区的格式。(如ntfs、btrfs、ext2、ext3、nfs、vfat)
  • 第四列是mount的挂载参数,一般情况下,直接写defaults即可。
  • 第五列的数字表示是否被dump备份,是的话为1,不是为0。
  • 第六列是开机时是否自检磁盘。1,2都表示检测,0表示不检测。但1,2表示不同的优先级,1更高。所以/ 分区必须设为1,而且整个fstab只允许出现一个1,若有多个分区需要检测,那么都设为2。

我们需要的就是在文件的后面继续添加挂载windows的配置

挂载设备的label或者uuid可以通过blkid查看

[root@myarch ~]# blkid
/dev/nvme0n1p5: UUID="0ca07983-0116-4006-aa45-04a2abb129e6" TYPE="swap" PARTUUID="b05fdaf2-9db0-424a-a133-b1874795e894"
/dev/nvme0n1p3: LABEL="soft" BLOCK_SIZE="512" UUID="64443273443247D6" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="71911f30-8521-4624-a8e3-1cbac1090f45"
/dev/nvme0n1p1: UUID="5F77-1EE1" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="3589701f-9bee-4c72-b2e6-79e486eecff0"
/dev/nvme0n1p6: LABEL="myArch" UUID="cea4c38b-f7eb-4690-a35b-d4b6e8506d4d" UUID_SUB="06d834ba-5c70-4c39-b750-245fd8b3a4a0" BLOCK_SIZE="4096" TYPE="btrfs" PTTYPE="PMBR" PARTUUID="cd79b562-bd9c-e04e-b539-e2eedee44d44"
/dev/nvme0n1p4: LABEL="data" BLOCK_SIZE="512" UUID="F23E39943E395339" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="8ee13aea-ebaa-4b0f-bf71-d30653055be3"
/dev/nvme0n1p2: LABEL="base" BLOCK_SIZE="512" UUID="3E2A25472A24FE11" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="54d043d7-3703-4fb8-88d1-c288bedba407"

根据以上信息,追加的fstable文件内容为

# windows
# base
UUID=3E2A25472A24FE11       /home/koko/windows/base            ntfs-3g            defaults,noauto,x-systemd.automount        0 0
# base
UUID=64443273443247D6       /home/koko/windows/soft            ntfs-3g            defaults,noauto,x-systemd.automount        0 0
# base
UUID=F23E39943E395339       /home/koko/windows/d            ntfs-3g            defaults,noauto,x-systemd.automount        0 0

至此,自动挂载不需要输入密码就完成了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值