首页 > 开发 > 综合 > 正文

系统相关:NTFS 挂载中文处理

2024-07-21 02:37:08
字体:
来源:转载
供稿:网友

  目前为止,逸晨仅只能于 FreeBSD 中读取 NTFS 5.x 的分割区,而尚无法进行写入的动作,至于 NTFS 4.x 的话,则因无相关系统可做测试,就且留待给您来做喽 ^_^
  假如您能够于 FreeBSD 中正确的对 NTFS 5.x 做写入动作的话,还请不吝来信告知做法,感谢您!!
  FreeBSD 的核心模块中,本身就已提供了对 NTFS 格式的支持,但是对于中文的部份却是令人残不忍睹。不过也请放心,因为还是有国内的热心高手为咱们解决了此问题,那就是 /usr/ports/chinese/big5fs 这个软件套件。
  请依照如下步骤来安装︰
  1. 取消 kernel 中 MSDOSFS 与 CD9660 的相关选项,并重新编译安装新的 kernel。假如您原来的核心就无使用这些选项的话,可以略过此步骤。
  2. /usr/src/sys 这个原始码目录需存在 -- 当然原始码也是要有的啦 ^_^
  假如您的系统中尚未有此目录的话,可以透过 /stand/sysinstall 来安装或是利用 CVSup 方式来取得。相关的作法已于前面提过了,在此就不再累述了。
  3. 在确定前两步骤的要求都已完成之后,您可以开始进行 big5fs 软件套件的安装了︰
  shell# cd /usr/ports/chinese/big5fs
  shell# make install clean
  在编译完成且安装好之后,big5fs 会在您的核心模块目录 (/modules) 下,放置了 big5cd9660.ko、 big5msdos.ko 和 big5ntfs.ko 三个核心模块。并且于系统的开机激活目录 (/usr/local/etc/rc.d) 下产生一 Script -- big5fs.sh,此指令稿会在每次开机时自动为您加载 big5cd9660.ko、 big5msdos.ko 和 big5ntfs.ko 三个核心模块,假如您是偶而才会用到这功能的话,您可以将此文件搬移开机激活目录,改采用手动加载即可,或是自行修改此指令稿的执行动作内容 -- 当然,您需要对 Shell Script 有些认知才行!!
  big5fs 提供了 VFAT、NTFS、Joliet 三种档案格式的中文解决方案,假如您的计算机主机是 FreeBSD 与 VFAT (Win95/98/ME) 或 NTFS (WinNT/2000/XP) 多重操作系统并存且又需读取 VFAT 或 NTFS 档案系统下的中文文件名,或是工作上有需读取含中文档名的 CD-ROM 的话,那建议您安装此软件套件。
  除了使用 /usr/ports/chinese/big5fs 之外,您还有另一个选择,这是给 FreeBSD-4.3-BETA2 用的,经测试于 FreeBSD 4.7 也是可行 ^_^
  首先我们需先下载原始码的更新档︰chinese_ntfs-4-ro-20011012.patch
  然后执行︰
  shell# cd /usr/src
  shell# patch -p0 < /path/to/the/file/chinese_ntfs-4-ro-20011012.patch
  然后重新编译核心,记得一定要编译模块哟 -- 假如您采用动态加载模式的话!!
  关于 chinese_ntfs-4-ro-20011012.patch 更新檔
  原作者网页〔Chun-Ying Huang (黄俊颖)〕︰
  http://www.cis.nctu.edu.tw/~gis89501/
  原说明文件︰
  http://www.cis.nctu.edu.tw/~gis89501/bsd/ntfs/README.txt
  上述的两种方式都仅只是让 FreeBSD 具有可读取 NTFS 的中文档名能力而已,我们还需处理挂载 NTFS 档案格式分割区的动作才行 -- 不然那么累的做这些动作干嘛咧 ^_^
  以逸晨为例,逸晨有个 NTFS 档案格式的分割区位于第二颗 E-IDE 硬盘的逻辑分割区中 (所有的延伸扇区全给了它)。
  因为逻辑扇区在 FreeBSD 中是由 slice 5 开始起跳,但是预设中的装置节点是不会为我们产生 slice 5 的,因此我们需先手动产生︰
  shell#cd /dev
  shell# sh MAKEDEV ad1s5
  OK!现在我们有了该 NTFS 的装置节点了。
  因为逸晨只是偶而才会用到 NTFS 上的档案,因此并不需为此 NTFS 分割区建立专有的对映目录,直接使用 /mnt 目录即可︰
  shell# mount -t ntfs /dev/ad1s5 /mnt
  因为我们于 mount 指令中有使用 -t 选项来指定使用 ntfs 档案格式,所以若 FreeBSD 发现目前核心中尚未支持 NTFS 档案格式能力的话,则会自动为您挂载上 NTFS 的核心模块。现在您可以执行 ls /mnt 来看看是否可正常看到位于 NTFS 分割区里的中文档案 ^_^
  假如您觉得每次挂载都得输入『漏漏长』的指令实在很讨厌,那么您可以将所要挂载的 NTFS 分割区写到 /etc/fstab 档案中,就像 CD-ROM 的挂载情形一样。
  请先为要挂载的 NTFS 分割区建立一专用对映目录,比如︰mkdir /NTFS
  然后编辑 /etc/fstab 档案,加入如下一行︰
  /dev/ad1s5 /NTFS ntfs ro,noauto 0 0 如此一来,当您想使用到该 NTFS 中的档案时,只需执行 mount /NTFS 就可以完成挂载的动作。

  假如您想一开机时就自动将该 NTFS 分割区给挂载的话,只需将上行设定中的 noauto 选项给去除即可!!
  注重︰
  假如您是采用手动挂载的话,请务必记得在重新开机前要先卸下 NTFS 分割区哟!!
  不然谁知什么时候会出问题哩 ^_^
  umount /NTFS

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表