我希望将我的/home文件夹映射到机器上的不同位置/驱动器。当我查看 fstab 文件时,我看到以下内容:
/dev/mapper/cl-home /home xfs defaults 0 0
/dev/mapper/cl-swap swap swap defaults 0 0
/dev/sda1 /mnt/store/hd2 ntfs defaults,auto 0 0
Run Code Online (Sandbox Code Playgroud)
我的问题是:cl in/dev/mapper/cl-home指的是什么?
我可以这样输入吗:
/mnt/store/hd2/home/ /home ntfs defaults 0 0
Run Code Online (Sandbox Code Playgroud)
在 中/etc/fstab,第一列是卷位置,第二列是目录。该目录是挂载点,即可以访问文件的位置。卷位置指示文件的存储位置;根据文件系统类型,有不同类型的位置。对于“普通”文件系统,存储在磁盘上的文件和卷位置是磁盘分区。对于网络文件系统,例如nfs或cifs,这表示主机名和主机上的导出路径等。
您当前拥有的 ,/dev/mapper/cl-home使用 Linux 的卷格式 ( LVM )指定一个分区。卷名分为两部分:cl是卷组(覆盖一个或多个磁盘的一部分),home是该卷组内的逻辑卷。系统不关心逻辑卷home和目录/home是否同名,但人类使用同名很方便。
如果你想把你的主目录放在一个现有的 Windows 分区上,那么你不能只在这里更改卷名:/home不会是安装磁盘文件系统的地方。有几种方法可以做到这一点:
您可以使用绑定安装使/mnt/store/hd2/home也可以通过/home. fstab 条目将是
/dev/sda1 /mnt/store/hd2 ntfs
/mnt/store/hd2/home /home bind
Run Code Online (Sandbox Code Playgroud)
请注意,您没有在 上安装 NTFS 文件系统/home:它已经安装在/mnt/store/hd2. 您正在另一个位置提供目录树;其他目录树完全位于 NTFS 分区这一事实与此无关。
您可以创建/home一个符号链接到/mnt/store/hd2/home. 在这种情况下/home根本不会出现/etc/fstab。
您可以为您的主目录使用绑定安装或符号链接,而不要理会其他目录。
您可以将主目录更改为/mnt/store/hd2/home. 要么使用 GUI 来管理用户帐户,要么使用类似的命令
sudo usermod --home /mnt/store/hd2/linux-home --move-home joe
Run Code Online (Sandbox Code Playgroud)我不推荐任何这些选项,因为 NTFS 无法存储所有 Linux 文件名、类型和属性。所有这些选项都有进一步的问题:
locate,etc等等。/home也可能导致问题。/home也会导致安全策略的问题,尽管现在任何主要发行版都应该没问题。与其将您的主目录放在 NTFS 文件系统上,不如将它放在 Linux 文件系统上。要从 Linux 访问您的 Windows 文件,请在/mnt/store/hd2. /mnt/store/hd2为方便起见,在您的主目录中创建符号链接到下面的位置。