来看论坛也有一段时间了,问了些问题,得到大家的支持,无论能否帮到我,我都感谢大家。
现在我也发些自己探索的成果,同大家分享。水平有限,多多包涵。
以下脚本在ubuntu10.x 64bit gnome下测试通过。因为光盘与U盘在ubuntu10.x中都是自动检测并且自动挂载的,所以就不对其进行处理了。
make_fstab()
{
echo "aa" | sudo -S ls * > /dev/null #因为相关操作要su,所以先拿到到sudo的密码
reset
mounted=$(mount | grep /dev/sd | cut -f 1 -d ' ') #查看当前已经挂载了哪些分区(至少有/对应的分区)
[ -e "/dev/shm/tmp_mnt" ] || mkdir /dev/shm/tmp_mnt #/dev/shm在我的ubuntu中是tmpfs,可以减少读写磁盘。这个目录主要是临时挂载ext用的
for dev_name in $(ls /dev/sd??); #查找分区(但不包括硬盘设备,如/dev/sda,/dev/sdb)
do
dev_type=$(mount --guess-fstype ${dev_name}) #判断文件系统类型
echo -n $dev_name \(${dev_type}\) '' #将分区和文件系统打印出来
if [ -n "$(echo $mounted | grep ${dev_name})" ]; then #如果已挂载的话,打印 already mounted
echo is already mounted
else #否则按其文件系统类型进行挂载,挂载点取其卷标,与Nautilus行为保持一致
case "$dev_type" in
ntfs)
label=$(echo "aa" | sudo -S ntfslabel ${dev_name})
;;
ext?) #因为我无法取得未挂载的ext2/3/4的卷标,所以先将其在一个内存文件夹中只读挂载,拿到卷标后再卸载
echo "aa" | sudo -S mount -t $dev_type -o ro $dev_name /dev/shm/tmp_mnt
label=$(echo "aa" | sudo -S e2label ${dev_name})
echo "aa" | sudo -S umount $dev_name
;;
*) #其它我未试过(resierfs我试过,要安装相关组件才能取其卷标)
echo not support
continue
;;
esac
#正式挂载分区到“/media/卷标”中。这里只是简单批定了一个-o rw参数,以读/写方式挂载。
echo "aa" | sudo -S mkdir -p /media/${label}
echo "aa" | sudo -S mount -t $dev_type -o rw $dev_name /media/${label}
echo is mounted to /media/${label}
fi
done;
[ -e "/dev/shm/tmp_mnt" ] && rmdir /dev/shm/tmp_mnt #删除临时文件夹(不删也可,关机后自动消失的)
echo -n Will quit in 10s
sleep 10
}
make_fstab()
最后我保存成一个.sh文件,对其chmod a+x。开机进入桌面后,双击它运行即可。
我曾试过把代码或.sh文件的调用放在/etc/rc.local中,但不会开机自动执行,也试过把其放在启动程序(Startup App)中,10.04可以开机自动执行,但10.10也不能开机自动执行。
ubuntu自动挂载所有硬盘分区
-
- 帖子: 23
- 注册时间: 2010-07-01 23:13
-
- 帖子: 23
- 注册时间: 2010-07-01 23:13
Re: ubuntu自动挂载所有硬盘分区
注:
echo "aa" | sudo -S …… 里面的"aa"是sudo时要输入的密码。这句是自动输入密码,不用执行时再手工输入。
如果执行后Nautilus中分区消失,多数是此分区被挂到“/media/”下,用umount取消挂载即可。
echo "aa" | sudo -S …… 里面的"aa"是sudo时要输入的密码。这句是自动输入密码,不用执行时再手工输入。
如果执行后Nautilus中分区消失,多数是此分区被挂到“/media/”下,用umount取消挂载即可。
-
- 帖子: 64
- 注册时间: 2008-09-15 11:55
Re: ubuntu自动挂载所有硬盘分区
我是用udev rules+shell实现磁盘和iphone自动挂载
-
- 帖子: 23
- 注册时间: 2010-07-01 23:13
Re: ubuntu自动挂载所有硬盘分区
我写这个的目的是想大家帮我补齐其它文件系统,如btrfs,如何取得其卷标。
我在注释里说过,reiserfs未写是因为要安装reiserfsprogs组件,但为何gparted不用安装什么组件就可以拿到这些分区的卷标?我希望是只要能挂载此文件系统的环境,就能获得其卷标,而不用安装其它组件。
或者有些命令我还未会,希望你们帮我指出来。
还有,我觉得这个论坛的格式支持好差。代码明明在编辑时有空格的,但提交后所有空格都没有了,或者合并成一个空格了。搞到版面非常难看。
我在注释里说过,reiserfs未写是因为要安装reiserfsprogs组件,但为何gparted不用安装什么组件就可以拿到这些分区的卷标?我希望是只要能挂载此文件系统的环境,就能获得其卷标,而不用安装其它组件。
或者有些命令我还未会,希望你们帮我指出来。
还有,我觉得这个论坛的格式支持好差。代码明明在编辑时有空格的,但提交后所有空格都没有了,或者合并成一个空格了。搞到版面非常难看。
- kuerck
- 帖子: 62
- 注册时间: 2011-08-24 17:47
Re: ubuntu自动挂载所有硬盘分区
mark下 。留个名
个人博客:http://www.ckrn.net
个人论坛:http://www.xkshare.com[/color]
个人论坛:http://www.xkshare.com
代码: 全选
Hello ubuntu & Android!
-
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
- 联系:
Re: ubuntu自动挂载所有硬盘分区
去加urcllr 写了:我写这个的目的是想大家帮我补齐其它文件系统,如btrfs,如何取得其卷标。
我在注释里说过,reiserfs未写是因为要安装reiserfsprogs组件,但为何gparted不用安装什么组件就可以拿到这些分区的卷标?我希望是只要能挂载此文件系统的环境,就能获得其卷标,而不用安装其它组件。
或者有些命令我还未会,希望你们帮我指出来。
还有,我觉得这个论坛的格式支持好差。代码明明在编辑时有空格的,但提交后所有空格都没有了,或者合并成一个空格了。搞到版面非常难看。
代码: 全选
.
代码: 全选
] ls -ld //
- ljj_jjl2008
- 论坛版主
- 帖子: 14255
- 注册时间: 2007-09-16 8:29
Re: ubuntu自动挂载所有硬盘分区
选上,然后点击[ code ] 按钮!!urcllr 写了:我写这个的目的是想大家帮我补齐其它文件系统,如btrfs,如何取得其卷标。
我在注释里说过,reiserfs未写是因为要安装reiserfsprogs组件,但为何gparted不用安装什么组件就可以拿到这些分区的卷标?我希望是只要能挂载此文件系统的环境,就能获得其卷标,而不用安装其它组件。
或者有些命令我还未会,希望你们帮我指出来。
还有,我觉得这个论坛的格式支持好差。代码明明在编辑时有空格的,但提交后所有空格都没有了,或者合并成一个空格了。搞到版面非常难看。
自己不会用,反而怪论坛。
闻到死太贵, 麦克价更高。 有了笨笨兔, 二者皆可抛。
+ 我的六轮折腾
+ 折腾6轮的结果(对40余种WM的测试和分析,多种DE和WM并存的方案)
+ 折腾的中间成果:可以独立运行的一个Wharf(图标化的启动菜单)
+ 强烈推荐----折腾的终极成果:一个自己开发的DE环境
+ 签名空闲链接位置招租
+ 我的六轮折腾
+ 折腾6轮的结果(对40余种WM的测试和分析,多种DE和WM并存的方案)
+ 折腾的中间成果:可以独立运行的一个Wharf(图标化的启动菜单)
+ 强烈推荐----折腾的终极成果:一个自己开发的DE环境
+ 签名空闲链接位置招租
-
- 帖子: 4
- 注册时间: 2008-11-17 23:27
Re: ubuntu自动挂载所有硬盘分区
做个记号,呵呵
-
- 帖子: 2
- 注册时间: 2011-11-06 8:35
Re: ubuntu自动挂载所有硬盘分区
markriptide 写了:做个记号,呵呵
等下切系统试试~