掛載fat檔案系統

pingley發表於2012-03-24
掛載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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章