ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 挂载fat文件系统

挂载fat文件系统

原创 Linux操作系统 作者:pingley 时间:2012-03-24 00:04:10 0 删除 编辑
挂载fat文件系统
linux 下可以挂载fat 文件系统,但是默认不能挂载ntfs文件系统。
所以如果你的主机即按照了windows又安装了linux,建议linux下的或者windows
下的一个分区格式为fat 类型的文件系统,可以用来共享一些文件。
先来查看下系统已经挂载的文件系统
[oracle@zeng ~]$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda5             69017104   8392392  57118844  13% /
tmpfs                  1487064       420   1486644   1% /dev/shm
/dev/sda6             30237648    493732  28207916   2% /home
/dev/sda7             30237648   3971488  24730160  14% /usr
/dev/sda9             10079084    368016   9199068   4% /var
我尝试用mount -a来挂载/etc/fstab中所有为挂载的磁盘设备。
[oracle@zeng ~]$ mount -a
mount: only root can do that
[oracle@zeng ~]$ su - root
Password: 
[root@zeng ~]# mount -a
[root@zeng ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda5             69017104   8392396  57118840  13% /
tmpfs                  1487064       420   1486644   1% /dev/shm
/dev/sda6             30237648    493736  28207912   2% /home
/dev/sda7             30237648   3971488  24730160  14% /usr
/dev/sda9             10079084    368024   9199060   4% /var
没有挂载新的磁盘设备。我们来查看写/etc/fstab中的内容吧。
[root@zeng ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sun Oct 23 19:54:54 2011
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=ad30ebcc-eb32-491c-a933-d9bffce7b25b /                       ext4    defaults        1 1
UUID=2008d7e7-2d33-4eb4-afc7-eac756bf545a /home                   ext4    defaults        1 2
UUID=96bdc5e5-9255-4a4a-a63a-bd2facd1ce97 /usr                    ext4    defaults        1 2
UUID=2636c6bb-0c45-4cc6-bef9-26b8b3ec582a /var                    ext4    defaults        1 2
UUID=968f76a3-b337-41ab-8071-d48d9d5a94a6 swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
可见没有我想要挂载的那个fat 类型的磁盘分区。
列出所有的磁盘分区.
[root@zeng ~]# fdisk -l
Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d0815
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          13      102400    7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2              13        4463    35737600    7  HPFS/NTFS
/dev/sda3            4463        8924    35840000    7  HPFS/NTFS
/dev/sda4            8924       30402   172517376    5  Extended
/dev/sda5   *        8925       17654    70117376   83  Linux
/dev/sda6           17654       21478    30720000   83  Linux
/dev/sda7           21479       25303    30720000   83  Linux
/dev/sda8           25303       28866    28616704    6  FAT16
/dev/sda9           28866       30141    10240000   83  Linux
/dev/sda10          30141       30402     2096128   82  Linux swap / Solaris
我要这里要挂载的是/dev/sda8 文件系统的类型是fat16.
[root@zeng ~]# mount -t vfat /dev/sda8 /mnt/sda8
-t 指定文件系统的类型,注意这里是vfat,而不是fat16.
另外在挂载某个设备(文件系统)前需要为他确定一个挂载点。我这里创建了一个
目录/mnt/sda8
[root@zeng ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda5             69017104   8392420  57118816  13% /
tmpfs                  1487064       420   1486644   1% /dev/shm
/dev/sda6             30237648    493700  28207948   2% /home
/dev/sda7             30237648   3971488  24730160  14% /usr
/dev/sda9             10079084    368044   9199040   4% /var
/dev/sda8             28602704  17227696  11375008  61% /mnt/sda8
可以使用mount -l来查看目前linux 中所有的挂载信息。
[root@zeng ~]# mount -l
/dev/sda5 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda6 on /home type ext4 (rw)
/dev/sda7 on /usr type ext4 (rw)
/dev/sda9 on /var type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sda8 on /mnt/sda8 type vfat (rw)
通过挂载点访问新挂载的fat文件系统。
[root@zeng ~]# cd /mnt/sda8
[root@zeng sda8]# pwd
/mnt/sda8
/etc/mtab文件会实时记录已经挂载的设备(文件系统)的信息,比如设备名,挂载点,
文件系统类型,读写状态等。其他程序运行的时候可以依据这里记录的信息来访问设备。
比如你只是暂时的挂载了某个设备,但是有一个运用程序通过读取/etc/mtab中的信息,
正在往你刚挂载的文件系统中写数据,这时候你不知道有程序在使用该文件系统,当你
卸载那个文件系统的时候问题就出现了。
[root@zeng ~]# cat /etc/mtab
/dev/sda5 / ext4 rw 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs rw,rootcontext="system_u:object_r:tmpfs_t:s0" 0 0
/dev/sda6 /home ext4 rw 0 0
/dev/sda7 /usr ext4 rw 0 0
/dev/sda9 /var ext4 rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
/dev/sda8 /mnt/sda8 vfat rw 0 0
使用umount  设备名 卸载已经挂载的文件系统。
[root@zeng ~]# umount /dev/sda8
验证下/etc/mtab中的信息是不是真的实时更新。
[root@zeng ~]# cat  /etc/mtab
/dev/sda5 / ext4 rw 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs rw,rootcontext="system_u:object_r:tmpfs_t:s0" 0 0
/dev/sda6 /home ext4 rw 0 0
/dev/sda7 /usr ext4 rw 0 0
/dev/sda9 /var ext4 rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
那个/dev/sda8 真的被卸载了.
[root@zeng ~]# df 
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda5             69017104   8392428  57118808  13% /
tmpfs                  1487064       420   1486644   1% /dev/shm
/dev/sda6             30237648    493704  28207944   2% /home
/dev/sda7             30237648   3971488  24730160  14% /usr
/dev/sda9             10079084    368064   9199020   4% /var
通过-o 选项指定该值是的一些参数,比如读写状态,ro(read only),rw(read write)等。
我这里不使用-t 指定挂载的文件系统类型。
[root@zeng ~]# mount -o ro /dev/sda8 /mnt/sda8
查看挂载信息可以确定文件系统的读写状态等信息。这里/dev/sda8 是只读的。
[root@zeng ~]# mount -l
/dev/sda5 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda6 on /home type ext4 (rw)
/dev/sda7 on /usr type ext4 (rw)
/dev/sda9 on /var type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sda8 on /mnt/sda8 type vfat (ro)
/etc/filesystems 文件记录了测试(自动)挂载的文件系统类型。
也就是说存在于其中的文件系统可以不用-t 选项在挂载的时候指定。那个vfat也在其中。
[root@zeng ~]# cat /etc/filesystems
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
使用umount -n 卸载设备的时候,不会更新/etc/mtab。
[root@zeng ~]# umount  -n /mnt/sda8
看那个/dev/sda8 的条目还在。
[root@zeng ~]# tac /etc/mtab
/dev/sda8 /mnt/sda8 vfat ro 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
/dev/sda9 /var ext4 rw 0 0
/dev/sda7 /usr ext4 rw 0 0
/dev/sda6 /home ext4 rw 0 0
tmpfs /dev/shm tmpfs rw,rootcontext="system_u:object_r:tmpfs_t:s0" 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
sysfs /sys sysfs rw 0 0
proc /proc proc rw 0 0
/dev/sda5 / ext4 rw 0 0
当然在挂载的时候也可以指定-n 选项不更新/etc/mtab。
[root@zeng ~]# mount  -o ro  -n /dev/sda8 /mnt/sda8
没有那条/dev/sda8 的条目。
[root@zeng ~]# tail -n 1 /etc/mtab
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
挂载用的驱动程序存放的目录。用来挂载fat文件系统的驱动程序在fat目录中。
[root@zeng ~]# uname -r
2.6.32-71.29.1.el6.i686
[root@zeng ~]# cd /lib/modules/2.6.32-71.29.1.el6.i686/kernel/fs
[root@zeng fs]# ll
total 124
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 autofs4
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 btrfs
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 cachefiles
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 cifs
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 configfs
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 cramfs
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 dlm
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 ecryptfs
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 exportfs
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 ext2
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 ext3
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 ext4
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 fat
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 fscache
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 fuse
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 gfs2
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 jbd
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 jbd2
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 jffs2
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 lockd
-rwxr--r--. 1 root root 12468 Jun 28  2011 mbcache.ko
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 nfs
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 nfs_common
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 nfsd
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 nls
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 squashfs
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 ubifs
drwxr-xr-x. 2 root root  4096 Oct 23 21:00 udf

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26110315/viewspace-719408/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    169
  • 访问量
    717899