赞
踩
最近解了一个问题,就是Linux光驱自动挂载报错
通过执行上图中的
mount-t "iso9660" -o"uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500""/dev/sr0" /mnt
发现,确实没有办法挂载。
但是通过实践发现,如果把iocharset=utf8去掉就可以挂载了。
系统中挂载光驱是
/usr/lib/udisks2/udisksd这个进程实现的,然后找到对应的src.rpm包,在src/udisklinuxfilesystem.c中可以知道系统默认的就是utf8这种编码方式,如果修改可能会造成一些隐患。
通过在我x86_64机器上挂载usb光驱发现,他是可以通过utf8方式挂载的(中间由于自己粗心,挂载时把utf8写成了uft8,导致严重的判断失误,真是不应该)。
此时就想到了可能是内核上面的一些配置选项没有打开导致的
通过在menuconfig里搜索iocharset,utf8等一些于配置相关的参数,发现在
Filesystems->Native language support中有一些相关的配置。
通过不断尝试,最终可以发现NLSUTF-8这个参数编译进内核就可以让光驱正常挂载了。
遇到问题多观察,复现现象要多分析,多尝试,找到问题的关键点。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。