将一个位于NTFS分区上的文件夹用作/home目录。

我使用五笔输入法在我的ntfs分区上安装了Ubuntu 10.10。因此,我想将主文件夹更改为ntfs分区上的一个文件夹。这样,在重新安装Ubuntu后,我可以保留个人配置、软件等。
所以,我使用ntfs-config来管理磁盘分区,在系统启动时自动挂载。所有文件和目录的权限都是777。
然后,我修改了/etc/passwd,将主文件夹设置为ntfs分区上的文件夹。我可以成功登录帐户,但似乎.bashrc和.profile没有正确加载。我无法使用输入法(甚至无法配置ibus),也没有声音设备。但是,将主文件夹改回/home/后,一切正常运行。
有谁能给我一些提示让它正常工作吗?谢谢。

4NTFS不适用于家庭分区,因为有一些特定类型的文件系统对象(字符设备、命名管道等)可能需要但在NTFS上不受支持。 - João Pinto
@Pinto,谢谢你的回复。是的,我知道NTFS与Linux使用的文件系统相比缺少一些功能。但据我所知,这是在不创建ext3/ext4分区的情况下保持个人数据安全的最佳方式。几个月前,在使用9.04时,我就这样做过,效果很好。 - Kane
5问题在于现在可能需要一些这些功能,例如关于您的音频问题,pulseaudio现在在用户级别运行,它在您的主目录($HOME/.pulseaudio)中创建符号链接。我不确定您是否可以在NTFS上创建指向ext分区(/tmp)的Unix兼容的符号链接。 - João Pinto
5个回答

NTFS不适合用于家庭分区,因为它不支持某些类型的文件系统对象(字符设备、命名管道等),而这些对象在某些服务中是必需的。

我目前将我的主文件夹(例如~/Documents~/Music)存储在一个NTFS文件系统上,几个月来似乎一切正常。

以一个例子来说明,在NTFS分区中托管您的~/Documents到Windows配置文件文件夹中:

  1. 首先确保将NTFS分区设置为自动挂载,这样每次启动系统时都可以访问它。
  2. 将可能积累在~/Documents中的任何文件移动到NTFS分区中(例如mv ~/Documents/* /mnt/winblows/Users/Username/Documents/)。
  3. 现在删除~/Documents目录,并在其位置创建一个指向该NTFS文件夹的链接,命名为Documents(例如ln -s mnt/winblows/Users/Username/Documents Documents)。
注意:你可能需要确保你的~/.config/user-dirs.dirs与你选择的文件夹位置保持同步(我已经做了)。更多详细信息请参见this answer。此外,请注意你的Windows用户配置文件目录的实际位置,因为这些位置在不同版本中有所变化。

不是将我的主目录移动,而是删除了现有的数据文件夹,并在原地创建了链接。
具体来说,我进入文件系统,在名为host的目录中找到了一个目录(在Windows中是我的C:\,因为我使用Wubi在Windows上托管Ubuntu)。然后我进入user\myusername\并为我的Documents、Music和Pictures文件夹创建了链接。我将所有的数据从home\备份到这些文件夹中(例如将home\Pictures\*备份到host\user\myusername\Pictures中)。然后我删除了home\Pictures文件夹,将我在host\user\myusername\中创建的链接移动到我的主目录中,并将其重命名为"Picture"。其他文件夹也是同样的操作。

如果你想确保安全性,最好不要这样做。在旧版本的GDM中(比如你可能在9.04中找到的版本),有一个简单的选项可以忽略文件权限等。然而,自那时以来,GDM的(图形界面)选项发生了很大变化,我的建议是你应该避免风险。例如,如果你的.Xauthority文件权限设置错误,你可能无法登录。
正如其他用户指出的,NTFS不支持一些应用程序/服务可能需要的功能,比如Unix符号链接,而且NTFS上的碎片化风险也比ext文件系统高得多。为了安全起见,最好选择像xfs、ext3/4或者甚至btrfs这样的文件系统。
编辑:我还注意到你说你使用wubi在一个NTFS分区上安装。这只能工作是因为它创建了一个虚拟磁盘,但正如我上面提到的,碎片化可能会发生。如果你把/home文件夹放在受Windows控制的分区上,存在损坏的风险(我没有链接,但我有经验;我以前做过类似的事情,每次Windows访问驱动器时都要进行磁盘检查。我不知道Windows正在慢慢地搞砸事情)。

现在看来,固态硬盘的碎片化似乎不再是一个问题。 - trusktr

另一种方法是:
- 将您的主文件夹保持不变, - 自动挂载VFAT分区,例如在`/mnt/my-data`上 - 将标准的文档、图片、视频等文件夹移动到这个VFAT分区。拖放这些文件夹似乎可以工作,但可能需要编辑您的`~/.config/user-dirs.dirs`文件。请尝试一下。
现在,您至少有这些文件位于与Microsoft Windows共享的VFAT分区上。Microsoft Windows也有类似的文件夹,我想您可以将它们重定向到这个共享分区 - 很抱歉,我不知道如何操作,但我很想知道!
我认为这似乎是一个不错的方法。您的Linux特定文件仍然位于Linux文件系统中,只有共享数据被放置在原始的VFAT文件系统上,其中不包含符号链接和权限等功能,但可能也不需要。