2009年5月19日星期二

Linux下使用NTFS几则

1. 不久前买了500G的移动硬盘,但为搞成什么格式的分区头疼了两天,因为我想Linux和Windows下都可以读写,但满足条件的FAT32又不能超过32G,并且不支持4G以上的文件。

后来想起原来一直在用的那个40G移动硬盘也没有分过区,也用得挺好啊。一查,原来用的就是NTFS,只不过每次GNOME自动采用ntfs-3g驱动挂接上来,我都没留意(mount命令显示为 /dev/hda6 on /mnt/e type fuseblk (rw,nosuid,nodev,allow_other,blksize=512) ,注意type显示为fuseblk)。

于是格式化为200G NTFS, 200G ext3, 32G FAT32,依靠GNOME自动挂接。

2. 为了下载iDeneb的ISO镜像 (4.3G),其它分区都没有这么大的空间了,只得删掉一个FAT32分区,改为NTFS。注意修改/etc/fstab时不能照抄上面mount命令的结果写成
       /dev/hda6  /mnt/e  fuseblk  rw,nosuid,nodev,allow_other,blksize=512   0  0
因为这个fuse在用户空间挂接的。在/etc/fstab中应该写成
   /dev/hda6  /mnt/e  ntfs-3g  rw    0  0

P.S. gparted挺不错的,俺现在不用去下载Partition Magic了并重启到Windows了
P.S. vuze(原名azureus)个BT下载软件很不错,下载国外的一些资源相当快,毕竟在sf.net受欢迎程度排名第一啊。我用amule下载iDeneb 1.4,开了一天一夜,才下了1.2G,换用vuze后,几乎一直是占满2M的ADSL带宽,睡前家的任务,早上起来就已经完成了。

3. 这两天注意到Linux下显示的NTFS分区的文件数不对,少了不少文件,我以为是因为休眠Linux期间又进入Windows往该目录下写文件造成了不同步引起的,于是umount后再mount,文件又回来了。以为真是不同步的原因。

但几天后Linux重新开机,问题又来了,但这几天没进Windows啊,于是上网找,说会消失的文件都是文件名包含非ANSI字符的(还真是),原因大概是系统启动时系统locale尚未得知,碰到非ANSI字符的文件名,就扔掉了,但后面mount时,能够根据locale设置自动处理。有两个解决方法
1) NTFS-3G的网站上说,升级到2009.1.1之后的版本就可以了,自带UTF-8支持
2) 在/etc/fstab中,添加"locale=zh_CN.UTF-8"到options部分
   /dev/hda6  /mnt/e  ntfs-3g  rw,locale=zh_CN.UTF-8    0  0