挂载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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26110315/viewspace-719408/