mount后进入目录不能显示内容怎么办?
我的系统是fc3,前一阵mount后都可以正常使用,最近没怎么用,一上来就出问题.#mount /dev/hdb5 /mnt/win
#cd /mnt/win
这些都运行正常,可是ls之后什么反应都没了,这是什么问题?
#ls 加上-t vfat 呢? 如果没有人为更改文字编码,这样就行
mount -o iocharset=utf8 /dev/hdb5 /mnt/win 谢谢两位,我试了,两种方法都不行.其实我的系统在mount忧盘后可以正常工作,就是mount WINDOWS的系统盘后不能显示内容 ntfs?
安装补丁先 能mount得上,应该不是ntfs补丁的问题,没有打的话,是mount不上的(至少我自己的经验是这样),除非补丁有问题
-o iocharset=gb2312 或utf8这两个都试试
中文字体或locale都没有问题吗? 用
mount -t vfat /dev/hdb5 /mnt/win -o iocharset=utf8,codepage=936
不行,原来我就经常这样都可以,现在只有挂载忧盘可以,就是挂载不上windows的盘.我的windows2000系统不是ntfs,是fat32 iocharset=cp936试试 iocharset=gb2312,codepage=936 呢? iocharset=gb2312,codepage=936 呢?定义两次,罗嗦了。 把/etc/fstab贴出来看看 哪位提供补丁的下载地址阿?感谢中....... 精华贴里有,搜索一下吧 # This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/ / ext3 defaults 1 1
LABEL=/boot1 /boot ext3 defaults 1 2
none /dev/pts devptsgid=5,mode=6200 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
LABEL=SWAP-hdb9 swap swap defaults 0 0
/dev/hdc /media/cdrom auto pamconsole,fscontext=system_u:object_r:removable_t,ro,exec,noauto,managed 0 0
/dev/fd0 /media/floppy auto pamconsole,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0
~
我没有改过,不过刚装上fc3的时候装载不上忧盘,我按照一篇文章上说的内容修改过,如下:
由于 fc3 内核默认 fat32 文件系统字符编码是 ascii,如果优盘的文件名包含中文,那么在转换时会出问题,应用程序就会失去响应。具体的表现有多种,比如桌面假死,关机时提示无法卸载分区等等
解决的办法是在挂载时,根据语言环境 locale 的值,使用挂载参数。如果是 UTF-8 那么就用 mount -o utf8,如果是 GB* 那么就用 mount -o iocharset=cp936。但是这样繁琐地手动挂载就失掉了 FC3 的好处。正确的解决办法,是添加自己的配置文件,我的是这样
代码:
$ cat /usr/share/hal/fdi/95userpolicy/storage-policy.fdi
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
<device>
<match key="@block.storage_device:storage.removable" bool="true">
<merge key="volume.policy.mount_option.fmask=111" type="bool">true</merge>
<merge key="volume.policy.mount_option.dmask=0" type="bool">true</merge>
<merge key="volume.policy.mount_option.users" type="bool">true</merge>
<merge key="volume.policy.mount_option.utf8" type="bool">true</merge>
</match>
<match key="@block.storage_device:storage.hotpluggable" bool="true">
<merge key="volume.policy.mount_option.fmask=111" type="bool">true</merge>
<merge key="volume.policy.mount_option.dmask=0" type="bool">true</merge>
<merge key="volume.policy.mount_option.users" type="bool">true</merge>
<merge key="volume.policy.mount_option.utf8" type="bool">true</merge>
</match>
</device>
</deviceinfo>
原理正如上面所说,hal 在收到优盘插入的通知时,将读取这些 storage policy 配置文件。在改写 /etc/fstab 时,将用到配置文件中的数据,将这些 mount_option 全部加入 fstab 中去。
如何测试效果
测试效果的办法简单得很,但是不要急着插入优盘,而是应当先运行
代码:
service haldaemon restart
然后插入优盘。几秒钟之后,桌面上会出现优盘图标。看看你的 fstab,如果多了这样一行
代码:
/dev/sda1 /media/YUAN vfat pamconsole,utf8,users,dmask=0,fmask=111,noatime,sync,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0
那么说明没什么问题。也许你的系统中 selinux 已经被关闭了,所以参数没有这么长。访问优盘,应该不会再出错了。
可能的问题
如果你的语言环境是 gb2312,那么要把上面的配置文件稍微修改一下,把两次出现的 utf8 修改为 iocharset=cp936
小心配置文件中的拼写错误
如果仍然会挂起或死机,那么可能 haldaemon 没有重启动,甚至可能被关闭了。运行
代码:
chkconfig haldaemon on
chkconfig messagebus on
service messagebus restart
service haldaemon restart
命令的可重复性
不要手动修改 /etc/fstab,所有修改都会被丢弃掉,应该只修改 hal 的配置文件
因为我们只新建了一个配置文件,然后重启了一个服务,因此可重复性应该很好。配置文件中的选项如果发生冲突,据说将使用读取时靠后的一个,也就是说 95userpolicy 将比 90defaultpolicy 后读取?
与其他方案的兼容性
autofs 修改的是 /etc/auto.misc 和 /etc/auto.master,不会有冲突
手动挂载,或手动修改 /etc/fstab, 在重启后都将失效,因为 haldaemon 将接管 fstab 文件,除非在 fstab 中加入选项 unmanaged (?)
如何回退到最初的状态
因为只添加了一个配置文件,因此只要将它删除就可以了。另外最好执行一次
代码:
service haldaemon restart
页:
[1]