废话说了很多,问题出来了。每次启动后,都要手动选择挂载各个盘,比如fun盘,learn盘,来听听音乐,看看电子书啥的。如果不挂载的话,我的banshee就不能打开列表中的音乐,几回下来很麻烦,为此尝试每次启动后手动挂载变为自动化的过程。
在Google,baidu之后,觉得效果不大理想,主要是说的东西太多,不是我想要的,或者说内容太杂了。于是乎看看说明文档,主要有两个部分,一个是命令mount,另外一个是fstab,分别看了一点之后,开始尝试。
(以下操作最好都在sudo下面进行,否则可能会有权限问题)
现备份文件/etc/fstab,然后编辑该文件。观察样例形式,找到了
于是乎试着使用自己的方式来改写。sudo fdisk -l查看硬盘信息.
/dev/sda1 * 1 7572 60820168+ 7 HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2 7572 11494 31498240 7 HPFS/NTFS
Partition 2 does not end on cylinder boundary.
/dev/sda3 11494 26506 120588288+ 5 Extended
Partition 3 does not end on cylinder boundary.
/dev/sda4 26507 30401 31283280 7 HPFS/NTFS
Partition 4 does not end on cylinder boundary.
/dev/sda5 11494 16715 41943040 7 HPFS/NTFS
/dev/sda6 16716 21937 41943040 7 HPFS/NTFS
/dev/sda7 21937 26506 36700160 7 HPFS/NTFS
sudo mount /dev/sda1 /media/test
通过对挂载之后内容的判断,知道上面的分区分别是哪些盘,然后就好说了。
编辑/etc/fstab文件,在最后面加入我要开机自动挂载的盘的配置信息,如下:
/dev/sda5 /media/Learn ntfs nodev,noexec,nosuid 0 0
/dev/sda6 /media/Fun ntfs nodev,noexec,nosuid 0 0
信息错误可以有dmesg | tail来查看。
在找到类型错误后,修改位ntfs,即可正确的挂载。
然后挂载的话就直接使用sudo mount /media/Fun ......即可。
当前,注意由于配置文件中有/media/Code......文件夹,所以需要在/media文件夹下面新建相应的文件夹,否则会失败,注意还要是管理员权限。
最后,注销后再次进入,就能够看到自动挂载的盘符了,而且,此时还不能umount掉哦,提示不是root用户。至此,达到了第一个目的了,能够开机自动挂载。
如果想要使用更加个性化的选项和操作,可以查看参考资料,另外,Man文档中有很多有用的信息,看文档是最快,最直接的方式。
如果想要取消挂载的话,直接使用umount命令即可。比如取下挂载fun,则使用命令:sudo umount /media/fun即可。
P.S: 如何挂载ISO文档呢?之前下载了无损音乐,格式是ISO镜像,不想解压,那么如何mount上去呢?
Key:
P.S.S: 在终端输入命令之后,如果想在前面加入sudo怎么办?还要移动方向键来选择插入点,多麻烦啊?
Key:
使用Ctrl+A(不管大小写)键即可跳转到第一个字符,从而输入sudo后回车即可。
修改:上面的描述在实际运行的时候,能够开机的时候mount,但是今天发现,直接用Banshee来打开音乐的话,还是会出现问题,就像没有mount一样,不能打开文件,所以怀疑是权限问题。再次阅读了man mount和man fstab的资料(主要资料在man mount中),修改了相应的权限。能够实现mount的时候打开文件了,而且是开机自动mount。
修改文件如下:
users:表示任何用户都能够umount,之前的设置不能umount,只能在命令行下面使用sudo权限才能使用。
rw:表示拥有读写权限。
auto:Can be mounted with the -a option.(使用mount -a的时候能够吧fstab中的所有自动mount上去)
dev: Interpret character or block special devices on the filesystem.
umask以及fmask:对于文件和文件目录的权限设置。
下面是一个资料中关于fstab的详细解释,在其中有更详细的解释和说明(How to fstab)( http://ubuntuforums.org/showthread.php?t=283131)
Options for a separate /home : nodev,nosuid,relatime
My recommended options for removable (USB) drives are in green.
auto= mounted at boot
noauto= not mounted at boot
user= when mounted the mount point is owned by the user who mounted the partition
users= when mounted the mount point is owned by the user who mounted the partition and the group users
ro= read only
rw= read/write
说明:option字段中,即上面的 users,auto,rw,dev,exec,umask=002部分,是使用逗号间隔的一个设置,其中auto是在启动的时候自动mount,而noauto则是在启动的时候不mount(可见之前noauto实际上还是没有mount上去吧,这也解释了为何不能打开,虽然可以看见盘符,能够进去,但是以前保存的列表还是不能打开文件,不过进入盘符倒是可以的。)
users能够umount,只要是使用者即可,不一定要是root。
挂载点的问题:
挂载在/mnt下面的话,不会出现在Places和Desktop中,而挂载在/media则会出现在桌面和位置上面。(默认的是在media下面,这也是为何在菜单中点击某个盘的时候实现挂载,然后在/media下面会出现相应的盘符,而不是在/mnt下面,其实,可以把ISO文件挂载在/mnt下面,硬盘分区挂载在/media下面)
- /mnt Typically used for fixed hard drives HD/SCSI. If you mount your hard drive in /mnt it will NOT show in "Places" and your Desktop.
- /media Typically used for removable media (CD/DVD/USB/Zip). If you mount your hard drive in /media it WILL show in "Places" and your Desktop.
修改2:
今天在VBox中下载的视频无法拷贝到挂载的盘,后来发现,是因为上次修改了fstab的原因,经过多次测试,终于知道问题处在umask上面,再次修改,将umask修改位0000即可。注意:umask会夺去默认的权限,比如UNIX上面创建一个文件默认的是644,这个字段的作用就是:
设定这个盘符(或者文件)的存取权限。之前的umask位004的情况,只能够读取,而不能够写入。原因就在这里!
最后,附上man文档中关于这些option的一些设置:
附参考资料:
在linux中/etc/fstab的数据项如下所示:
/dev/device mountpoint type rules dump order
设备名称 挂载点 分区类型 挂载选项 dump选项 fsck选项
例如这是一个普通的/etc/fstab:
/dev/hda2 / ext3 defaults 0 1
/dev/hda3 swap swap defaults 0 0
/dev/hda5 /usr ext3 defaults 0 0
/dev/fdo /mnt/flopy ext3 noauto 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0
(1)设备名称
/dev/device就是需要挂载的设备,/hda2就是第一个IDE插槽上的主硬盘的第二个分区。如果是第二个IDE插槽主硬盘的第三个分区,那就是/dev/hdc3,具体可以在linux下使用fdisk -l 查看。
(2)挂载点
mountpoint 就是挂载点。/、 /usr、 swap 都是系统安装时分区的默认挂载点。
如果你要挂载一个新设备,你就要好好想想了,因为这个新设备将作为文件系统永久的一部分,需要根据FSSTND(文件系统标准),以及它的作用,用户需求来决定。比如你想把它做为一个共享资源,放在/home下面就是一个不错选择。
(3)分区类型
type 是指文件系统类型,下面列举几个常用的:
Linux file systems: ext2, ext3, jfs, reiserfs, reiser4, xfs, swap.
Windows:
vfat = FAT 32, FAT 16
ntfs= NTFS
Note: For NTFS rw ntfs-3g
CD/DVD/iso: iso9660
Network file systems:
nfs: server:/shared_directory /mnt/nfs nfs <options> 0 0
smb: //win_box/shared_folder /mnt/samba smbfs rw,credentials=/home/user_name/winbox-credentials.txt 0 0
auto: The file system type (ext3, iso9660, etc) it detected automatically. Usually works. Used for removable devices (CD/DVD, Floppy drives, or USB/Flash drives) as the file system may vary on thesedevices.
(4)挂载选项
rules 是指挂载时的规则。下面列举几个常用的:
auto 开机自动挂载
default 按照大多数永久文件系统的缺省值设置挂载定义
noauto 开机不自动挂载
nouser 只有超级用户可以挂载
ro 按只读权限挂载
rw 按可读可写权限挂载
user 任何用户都可以挂载
请注意光驱和软驱只有在装有介质时才可以进行挂载,因此它是noauto
(5)dump选项
这一项为0,就表示从不备份。如果上次用dump备份,将显示备份至今的天数。
(6)fsck选项
order 指fsck(启动时fsck检查的顺序)。为0就表示不检查,(/)分区永远都是1,其它的分区只能从2开始,当数字相同就同时检查(但不能有两1)。
如果我要把第二个IDE插槽主硬盘上的windows C 区挂到文件系统中,那么数据项是:
/dev/hdc1 /c vfat defaults 0 0
(/c 是事先建立的文件夹,作为c盘的挂载点。)
当你修改了/etc/fstab后,一定要重新引导系统才会有效。
fstab中存放了与分区有关的重要信息,其中每一行为一个分区记录,每一行又可分为六个部份,下面以/dev/hda7 / ext2 defaults 1 1为例逐个说明:
1. 第一项是您想要mount的储存装置的实体位置,如hdb或如上例的/dev/hda7。
2. 第二项就是您想要将其加入至哪个目录位置,如/home或如上例的/,这其实就是在安装时提示的挂入点。
3. 第三项就是所谓的local filesystem,其包含了以下格式:如ext、ext2、msdos、iso9660、nfs、swap等,或如上例的ext2,可以参见/prco/filesystems说明。
4. 第四项就是您mount时,所要设定的状态,如ro(只读)或如上例的defaults(包括了其它参数如rw、suid、exec、auto、nouser、async),可以参见「mount nfs」。
5. 第五项是提供DUMP功能,在系统DUMP时是否需要BACKUP的标志位,其内定值是0。
6. 第六项是设定此filesystem是否要在开机时做check的动作,除了root的filesystem其必要的check为1之外,其它皆可视需要设定,内定值是0。
参考链接:
http://diamonder.blog.51cto.com/159220/282542
http://blogold.chinaunix.net/u1/55527/showart_449692.html
(设置fstab需要参考的资料)
< 4th column: Mount options >
The fourth column in fstab
lists all the mount options for the device or partition. This is also the most confusing column in the fstab
file, but knowing what some of the most common options mean, saves you from a big headache. Yes, there are many options available, but I'll take a look at the most widely used ones only. For more information, check out the man page of mount
.
auto and noauto With the auto
option, the device will be mounted automatically (at bootup, just like I told you a bit earlier, or when you issue the mount -a
command).auto
is the default option. If you don't want the device to be mounted automatically, use the noauto
option in /etc/fstab
. With noauto
, the device can be mounted only explicitly.
user and nouser These are very useful options. The user
option allows normal users to mount the device, whereas nouser
lets only the root to mount the device. nouser
is the default, which is a major cause of headache for new Linux users. If you're not able to mount your cdrom, floppy, Windows partition, or something else as a normal user, add the user
option into /etc/fstab
.
exec and noexec exec
lets you execute binaries that are on that partition, whereas noexec
doesn't let you do that. noexec
might be useful for a partition that contains binaries you don't want to execute on your system, or that can't even be executed on your system. This might be the case of a Windows partition.
exec
is the default option, which is a good thing. Imagine what would happen if you accidentally used the noexec
option with your Linux root partition...
ro Mount the filesystem read-only.
rw Mount the filesystem read-write. Again, using this option might cure the headache of many new Linux users who are tearing their hair off because they can't write to their floppies, Windows partitions, or something else.
sync and async How the input and output to the filesystem should be done. sync
means it's done synchronously. If you look at the example fstab
, you'll notice that this is the option used with the floppy. In plain English, this means that when you, for example, copy a file to the floppy, the changes are physically written to the floppy at the same time you issue the copy command.
However, if you have the async
option in /etc/fstab
, input and output is done asynchronously. Now when you copy a file to the floppy, the changes may be physically written to it long time after issuing the command. This isn't bad, and may sometimes be favorable, but can cause some nasty accidents: if you just remove the floppy without unmounting it first, the copied file may not physically exist on the floppy yet!
async
is the default. However, it may be wise to use sync
with the floppy, especially if you're used to the way it's done in Windows and have a tendency to remove floppies before unmounting them first.
defaults Uses the default options that are rw, suid, dev, exec, auto, nouser, and async.
另外,附上一点小技巧,如何保存man文档?
如,要把ls命令的man页输出到ls.txt文件,只需要:
man ls | col -b > ls.txt