分页: 1 / 3

关于 Ubuntu 自动挂载 Windows 分区

发表于 : 2005-04-06 22:57
oneleaf
作者:jhuangjiahua
引用:

代码: 全选

#!/bin/sh
#
#autowinfs auto mount windows disks
#
# Copyright (c) 2005 Jiahua Huang <jhuangjiahua@gmail.com>
#License: GPLv2
#
# /usr/bin/sutowinfs
# 用来自动挂载机器上的 Windows 分区 , 并写入 /etc/fstab
# 五 2月 18 14:06:12 CST 2005

mkdir -p /windows/
rmdir /windows/* 1> /dev/null

grep -v '/windows/' /etc/fstab > /etc/fstab.swp

# 本脚本用于 UTF-8 的 Locale 下 , 如果是 GBK 的 locale , 就把 下面的 utf8 换成 iocharset=cp936
# 单独的 fdisk -l 不能列出分区的情况很少了 , 所以把 /dev/[hs]d[a-z] 去掉
## fdisk -l /dev/[hs]d[a-z] | grep -E 'FAT|NTFS' | cut -d' ' -f1 | cut -d/ -f3 | while read WDISKS
# 查找 NTFS 分区 , 新内核的 auto 好像有点问题 , 所以现在把 NTFS 和 VFST 分开来
fdisk -l /dev/[hs]d[a-z] | grep 'NTFS' | cut -d' ' -f1 | cut -d/ -f3 | while read WDISKS
do echo "/dev/$WDISKS /windows/$WDISKS ntfs auto,user,utf8,umask=0 0 0" >> /etc/fstab.swp
mkdir "/windows/$WDISKS"
done

fdisk -l /dev/[hs]d[a-z] | grep 'FAT' | cut -d' ' -f1 | cut -d/ -f3 | while read WDISKS
do echo "/dev/$WDISKS /windows/$WDISKS vfat auto,user,utf8,umask=0 0 0" >> /etc/fstab.swp
mkdir "/windows/$WDISKS"
done

mv /etc/fstab.swp /etc/fstab

mount -a

exit 0
再运行命令

代码: 全选

sudo chmod +x /usr/sbin/autowinfs
sudo /usr/sbin/autowinfs
就可以了

挂载windows分区

发表于 : 2005-04-09 19:58
TubuX
系统自动挂载:

mkdir /mnt/hda1
/mnt/hda2
或:
mkdir /media/winnt
/media/win32

至于是media还是mnt都可以,没有特定要求!

Edit /etc/fstab
/dev/hdaX /media/XXX auto rw,user,noauto,utf8 0 0
以上方法是让系统自动指定type类型。

其中Type是类型参数可指定如下:
一、) /dev/hdaX /mnt/XXX vfnt rw,user,noauto,utf8 0 0
二、) /dev/hdaX /mnt/XXX vfat rw,user,noauto,utf8 0 0

第一项type为NT系统,第二项为FAT32位系统。

意思是:
─指定/dev块设置位置
─挂载到/mnt/的XXX下
─vfnt为NT类型
─rw设置可写选项
─user设置用户使用限权
─noauto设置在启动时不自动挂载设备
─utf8本地设置,让文件名正常显示中文。也可以将其定义为GBK或GB18030,但utf8最好,cp=936为GB2312。可根据自己要求更改。
─后面的0不用管它,但需要加上,这是告诉系统此设备的优先级。

后记:就这么简单..........
手动挂载我不写了,除非想自找麻烦,那自己去想怎么做,贴子里也有很多相关的内容。

上面的内容太理论化,当然不是不好,那是Huahua精贴。

我挂载以后发现:

发表于 : 2005-04-29 7:00
faif
我在/etc/fstab只有root有权限才能写的问题:

加入umask=0002的选项才解决。使得普通用户可以写权限。
或者使用guid应该也是一样的吧。

Re: 挂载windows分区

发表于 : 2005-04-29 9:56
firehare
TubuX 写了:系统自动挂载:

mkdir /mnt/hda1
/mnt/hda2
或:
mkdir /media/winnt
/media/win32

至于是media还是mnt都可以,没有特定要求!
做个小补充:
根据目录含义来说:
/media目录主要是用来挂载移动介质的
/mnt目录主要是用来挂载非移动介质的

不过其实没有任何关系!

RE

发表于 : 2005-05-03 22:24
sunux
我现在遇到一个问题,就是我安装系统时就挂了两个分区了,但是访问时,中文都显示乱码,现在用这个方法时出现冲突了,这应该怎么办呀~
原谅偶问这个水平不高的问题吧~

发表于 : 2005-05-03 22:34
oneleaf
手工修改 /etc/fstab

发表于 : 2005-05-03 22:54
sunux
谢谢了,这个已经搞定~
但是我运行:sudo chmod +x /usr/sbin/autowinfs 时~
却出现:~ # chmod +x /usr/sbin/autowinfs
chmod: 无法访问‘/usr/sbin/autowinfs’: 没有那个文件或目录
这是怎么回事呀?

发表于 : 2005-05-03 23:40
oneleaf
没有建立autowinfs文件,参考这个完整的

http://www.ubuntu.org.cn/docs/faq/Using ... 4861676641

发表于 : 2005-05-04 10:40
sunux
哦,这样呀,
但是我在没有那个文件前提下中是运行了那个脚本,也能每次启动都自动挂载WIN分区~ 8)

发表于 : 2005-05-05 15:52
ct
系统的建议是用nls=utf8挂载,而不是iocharset=utf8

Re: 挂载windows分区

发表于 : 2005-05-31 22:16
seraphq
为什么我从没听说过vfnt这种类型?我只听说过ntfs和vfat。而且man mount给出的支持的文件系统类型中也没有vfnt这么个东东。

BTW,为什么要noauto呢?启动的时候就自动挂载不是很好用吗?
TubuX 写了:系统自动挂载:

mkdir /mnt/hda1
/mnt/hda2
或:
mkdir /media/winnt
/media/win32

至于是media还是mnt都可以,没有特定要求!

Edit /etc/fstab
/dev/hdaX /media/XXX auto rw,user,noauto,utf8 0 0
以上方法是让系统自动指定type类型。

其中Type是类型参数可指定如下:
一、) /dev/hdaX /mnt/XXX vfnt rw,user,noauto,utf8 0 0
二、) /dev/hdaX /mnt/XXX vfat rw,user,noauto,utf8 0 0

第一项type为NT系统,第二项为FAT32位系统。

意思是:
─指定/dev块设置位置
─挂载到/mnt/的XXX下
─vfnt为NT类型
─rw设置可写选项
─user设置用户使用限权
─noauto设置在启动时不自动挂载设备
─utf8本地设置,让文件名正常显示中文。也可以将其定义为GBK或GB18030,但utf8最好,cp=936为GB2312。可根据自己要求更改。
─后面的0不用管它,但需要加上,这是告诉系统此设备的优先级。

后记:就这么简单..........
手动挂载我不写了,除非想自找麻烦,那自己去想怎么做,贴子里也有很多相关的内容。

上面的内容太理论化,当然不是不好,那是Huahua精贴。

发表于 : 2005-06-01 23:27
ink
建议修改为nls=utf8,原来的已经不被认可了。

发表于 : 2005-06-02 8:46
oneleaf

发表于 : 2005-06-04 20:05
sunxd0791
我是一个新手,第一次用linux

我已经按照以上的方法做了,但是在执行sudo /usr/sbin/autowinfs后,却出现 wrong fs type, bad option, bad superblock on /dev/hda6,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
这样的信息,windows分区还是挂载不上,为什么呢?

我的windows分区都是fat32格式

发表于 : 2005-06-04 20:36
oneleaf
呵呵,将vfat的条件 nls=utf8 还是改为 iocharset=utf8 试试。