安装ntfs-3g后插上移动硬盘仍提示“无法识别的文件系统”,无法自动挂载而只能手动挂载?已解决
2013-03-10 21:28
1361 查看
linux可以自动挂载热插拔的存储设备。
当检测到磁盘插入时,linux会获得这个磁盘上的文件系统信息,假如检测到了磁盘上的文件系统是 "abc" 格式,系统就会在 /sbin 下找mount.abc程序,如果找到,就用这个程序来挂载磁盘;找不到,则会提示无法识别的文件系统。
安装ntfs-3g后,可以看到 /sbin 目录下已经有 mount.ntfs-3g 可执行文件,但是并没有 mount.ntfs,因此当系统检测到ntfs格式的分区后仍然提示无法识别,(系统认名不认盘,它只认识ntfs-3g,而不认识 ntfs)。
这样问题就好解决了。既然mount.ntfs-3g可以挂载ntfs分区,那我们直接让它改名就行了!但是用mv来重命名并不是什么好的做法,因为这样一来,系统又不认识ntfs-3g了。所以我们最好留着3g,把mount.ntfs-3g复制一份再命名成mount.ntfs即可。但还有一个更好的做法,更省事儿省空间,我们直接把mount.ntfs写成shell脚本,这个脚本只占几十个字节。在脚本中用mount.ntfs-3g来执行挂载,我就是按这个方法做的。
脚本内容如下(记得加可执行权限):
#!/bin/sh
/sbin/mount.ntfs-3g $@ #别忘了传进来的参数。这里mount.ntfs-3g必须指定绝对路径,我试了,不指定会出错,不知为何。
不管用哪种方法,做好mount.ntfs这个文件之后,这时再插进ntfs格式的移动硬盘,会发现系统已经可以自动挂载ntfs分区了!而当我们高兴的打开这些磁盘时,就会发现情况不妙:糟糕!怎么丢了那么多文件!(当然如果你的移动硬盘里没有中文目录,这时你还不会受到惊吓)
我刚开始就被吓了一跳,两年来攒的各种软件和自己的代码都在里面啊!我赶紧重新手动挂载了一下我的硬盘分区,发现有惊无险,文件们都还在。这时仔细一看才发现,丢失的内容都是中文目录,后来经谷歌大仙儿指点,知道还需要进行语言设置,但直接用mount.ntfs-3g命令无法指定语言,于是索性在脚本里又用了一次mount命令。修改后的脚本如下:
#!/bin/sh
mount -t ntfs-3g -o locale=zh_CN.UTF-8 $@ #增加了locale选项。这里mount可以不指定绝对路径,同样不知为何。
到这里总算搞定了,ntfs分区已可以正常挂载使用。但还有一个问题不是太明白,当在命令行里手动挂载ntfs分区时,直接 "mount -t ntfs-3g .... "即可,不用指定locale;但在mount.ntfs脚本中,就必须指定,否则中文目录都看不见。
当检测到磁盘插入时,linux会获得这个磁盘上的文件系统信息,假如检测到了磁盘上的文件系统是 "abc" 格式,系统就会在 /sbin 下找mount.abc程序,如果找到,就用这个程序来挂载磁盘;找不到,则会提示无法识别的文件系统。
安装ntfs-3g后,可以看到 /sbin 目录下已经有 mount.ntfs-3g 可执行文件,但是并没有 mount.ntfs,因此当系统检测到ntfs格式的分区后仍然提示无法识别,(系统认名不认盘,它只认识ntfs-3g,而不认识 ntfs)。
这样问题就好解决了。既然mount.ntfs-3g可以挂载ntfs分区,那我们直接让它改名就行了!但是用mv来重命名并不是什么好的做法,因为这样一来,系统又不认识ntfs-3g了。所以我们最好留着3g,把mount.ntfs-3g复制一份再命名成mount.ntfs即可。但还有一个更好的做法,更省事儿省空间,我们直接把mount.ntfs写成shell脚本,这个脚本只占几十个字节。在脚本中用mount.ntfs-3g来执行挂载,我就是按这个方法做的。
脚本内容如下(记得加可执行权限):
#!/bin/sh
/sbin/mount.ntfs-3g $@ #别忘了传进来的参数。这里mount.ntfs-3g必须指定绝对路径,我试了,不指定会出错,不知为何。
不管用哪种方法,做好mount.ntfs这个文件之后,这时再插进ntfs格式的移动硬盘,会发现系统已经可以自动挂载ntfs分区了!而当我们高兴的打开这些磁盘时,就会发现情况不妙:糟糕!怎么丢了那么多文件!(当然如果你的移动硬盘里没有中文目录,这时你还不会受到惊吓)
我刚开始就被吓了一跳,两年来攒的各种软件和自己的代码都在里面啊!我赶紧重新手动挂载了一下我的硬盘分区,发现有惊无险,文件们都还在。这时仔细一看才发现,丢失的内容都是中文目录,后来经谷歌大仙儿指点,知道还需要进行语言设置,但直接用mount.ntfs-3g命令无法指定语言,于是索性在脚本里又用了一次mount命令。修改后的脚本如下:
#!/bin/sh
mount -t ntfs-3g -o locale=zh_CN.UTF-8 $@ #增加了locale选项。这里mount可以不指定绝对路径,同样不知为何。
到这里总算搞定了,ntfs分区已可以正常挂载使用。但还有一个问题不是太明白,当在命令行里手动挂载ntfs分区时,直接 "mount -t ntfs-3g .... "即可,不用指定locale;但在mount.ntfs脚本中,就必须指定,否则中文目录都看不见。
相关文章推荐
- 安装ntfs-3g后,让系统自动挂载移动硬盘
- 解决LINUX下无法自动挂载NTFS文件格式的移动硬盘访问
- NTFS-3G 自动识别并挂载NTFS文件系统的移动硬盘
- 用ntfs-3g解决ntfs挂载,以及移动硬盘NTFS分区自动挂载问题
- 无法挂载自动挂载ntfs移动硬盘,手动挂载成功
- 解决Ubuntu自动挂载U盘/SD Card被识别为只读文件系统
- Debian Wheezy 64 - 解决插ntfs格式的u盘或者移动硬盘时报错,不能自动挂载
- 移动硬盘提示此卷不包含可识别的文件系统要怎么办啊
- 解决CentOS自动挂载U盘/SD Card被识别为只读文件系统
- 解决PXE批量安装Linux系统时kickstart自动识别硬盘名称的问题
- 移动硬盘无法识别提示需要格式化的解决办法
- 移动硬盘删除文件时提示“文件或目录损坏且无法读取”的解决方法-chkdsk 命令的巧用
- SQL Server 2000服务无法启动,提示“系统找不到指定的文件”解决方法及sp4安装不上
- [linux]SLES11 sp1 安装后无法挂载ext4文件系统的解决方法
- 解决双系统问题,先安装win7,再安装ubuntu,发现ubuntu不能识别检测已经安装的win7,并且只能看到一整块硬盘的问题
- U盘无法识别,磁盘管理中格式化时提示“系统找不到指定文件”的解决方法
- 解决linux 不能识别ntfs分区问题(linux系统挂载移动硬盘)
- 移动硬盘删除文件时提示“文件或目录损坏且无法读取”的解决方法-chkdsk 命令的巧用
- win7系统使用移动硬盘提示“文件或目录损坏且无法读取”的解决方法
- 解决ntfs格式的移动硬盘mount到Linux下时变成只读文件系统的问题