我创建了一个分区,我想将该分区挂载到此目录/home/max/VirtualBox VMs
我在 fstab 中写了这一行:
/dev/sda4 /home/max/VirtualBox\ VMs ext4 默认值 0 0
但它给出了这个错误
[mntent]: /etc/fstab 中的第 16 行有问题
我知道我收到此错误是因为“virtualBox VMs”之间存在空格
是否可以挂载到该目录?
[max@localhost VirtualBox 虚拟机]$ pwd /home/max/VirtualBox 虚拟机
答案1
使用引号。
/dev/sda4 “/home/max/VirtualBox VMs” ext4 默认值 0 0
答案2
答案3
我正在使用 Bash 函数将整个路径转换为代码点:
fstab_path(){
local path=$1
local s=
local c=
for i in $(seq 1 ${#path})
do
c=${path:i-1:1}
s="$s"$(printf '\\0%o' "'$c")
done
echo "$s" >/dev/stdout
}
path="path with spaces tabs etc.."
fpath=$(fstab_path "$path")
答案4
我遇到了同样的问题,但有一点不同:安装文件系统包含虚拟盒的子卷放入我的 ext4 分区上的主目录中(我刚刚更换了硬盘)。
我按照 Dennis 的解决方案操作,但仍然遇到问题。我遇到的问题是,新旧系统路径都包含空格,我的解决方案是替换全部包含空格的路径\040
;它看起来像这样:
/dev/sda1
是旧系统的 btrfs/dev/sdb1
新系统的- 挂载子卷
path/with space
到/home/<user>/VirtualBox VMs
- 最终的 /etc/fstab:
...
/dev/sdb1 /home ext4 defaults 0 0
/dev/sda1 /home/<user>/VirtualBox\040VMs btrfs defaults,subvol=path/with\040space 0 0
...