mount命令(用來掛載硬盤或鏡像等)

一 mount命令(用來掛載硬盤或鏡像等)
用法:mount [-t vfstype] [-o options] device dir
1.-t vfstype 指定文件系統的類型,通常不必指定。mount 會自動選擇正確的類型。常用類型有:
DOS fat16文件系統:msdos
Windows 9x fat32文件系統:vfat
Windows NT ntfs文件系統:ntfs
Windows網絡文件共享:smbfs (默認的windows系統都支持的)

windows網絡共享文件:cifs (cifs是smbfs的升級版,默認的windows系統都支持的,首先推薦)

光盤或光盤鏡像:iso9660
UNIX(LINUX) 文件網絡共享:nfs


2.-o options 主要用來描述設備或檔案的掛接方式。常用的參數有:
loop:用來把一個文件當成硬盤分區掛接上系統
ro:採用只讀方式掛接設備
rw:採用讀寫方式掛接設備
iocharset:指定訪問文件系統所用字符集
3.device 要掛接(mount)的設備。
4.dir設備在系統上的掛接點(mount point)。 

 

3 monut 遠程或本機的windows分區之NTFS格式支持:
1)根據內核安裝ntfs支持模塊:http://sourceforge.net/projects/linux-ntfs/files/
具體的過程幫助:http://gerardmcgarry.com/blog/hacking-centos-ntfs-support
實例:sudo mount -t cifs //remotehostname/shared /mnt/myshared -o username=XXX,password=XXX
2)安裝ntfs-3g----- yum install ntfs-3g(fuse-ntfs-3g)
參考:http://www.zzdushi.com/?p=30
參考:http://ntfs-3g.org/
具體過程幫助:http://wiki.centos.org/TipsAndTricks/NTFS
實例:mount -t ntfs-3g /dev/sda1 /mnt/windows(umount /mnt/windows)

3 實例:
掛載本機的iso:mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom
掛載遠程的fat32的共享目錄:mount //10.167.20.20/shared /mnt/mywinshare
Windows 的C分區掛到Liunx的/mnt/winc目錄下: mount -t vfat /dev/hda1 /mnt/winc ,如果中文顯示有問題:#mount -t vfat -o iocharset=cp936 /dev/hda1 /mnt/winc。(要掛載本地的windows分區,在ubuntu下使用命令sudo fdisk -l 來查看磁盤分區情況。)
當插入閃盤後,閃盤被識別爲一個SCSI盤,通常輸入以下命令:mount /dev/sda1 /usb

二 FQA

1. 用mount/umount能做什麼?
不同的操作系統使用不同的文件系統格式。MS-DOS支持FAT16文件系統,Windows98支持FAT16、FAT32文件系 統,WindowsNT支持FAT16、NTFS文件系統,Windows2000則支持FAT16、FAT32、NTFS三種文件系統格式,而 Linux差不多支持所有的文件系統格式,但一般使用ext2或ext3文件系統。 很多用戶使用的是windows操作系統,如果想在運行的Linux下訪問其它文件系統中的資源的話,就要用mount命令來實現。  

2.  mount的基本用法是?
格式:mount [-參數] [設備名稱] [掛載點]
其中常用的參數有:
-a 安裝在/etc/fstab文件中類出的所有文件系統。
-f 僞裝mount,作出檢查設備和目錄的樣子,但並不真正掛載文件系統。
-n 不把安裝記錄在/etc/mtab 文件中。
-r 講文件系統安裝爲只讀。
-v 詳細顯示安裝信息。
-w 將文件系統安裝爲可寫,爲命令默認情況。


-t <文件系統類型> 指定設備的文件系統類型,常見的有:
ext2  linux目前常用的文件系統
msdos  MS-DOS的fat,就是fat16
vfat  windows98常用的fat32
nfs  網絡文件系統
iso9660  CD-ROM光盤標準文件系統
ntfs  windows NT/2000/XP的文件系統
auto 自動檢測文件系統 


-o <選項> 指定掛載文件系統時的選項,有些也可寫到在/etc/fstab中。常用的有:
defaults 使用所有選項的默認值(auto、nouser、rw、suid)
auto/noauto 允許/不允許以 –a選項進行安裝
dev/nodev 對/不對文件系統上的特殊設備進行解釋
exec/noexec 允許/不允許執行二進制代碼
suid/nosuid 確認/不確認suid和sgid位
user /nouser 允許/不允許一般用戶掛載
codepage=XXX 代碼頁
iocharset=XXX 字符集
ro 以只讀方式掛載
rw 以讀寫方式掛載
remount 重新安裝已經安裝了的文件系統
loop 掛載迴旋設備
username/password用來設置有訪問權限的用戶名和密碼

需要注意的是,掛載點必須是一個已經存在的目錄,這個目錄可以不爲空,但掛載後這個目錄下以前的內容將不可用,umount以後會恢復正常。使用多個-o參數的時候,-o 只用一次,參數之間用半角逗號隔開:

  1. # mount –o remount,rw XXX XXX
例如要掛載windows下文件系統爲FAT32的D盤,一般而言在Linux下這個分區對應/dev/hda5,根據具體的分區情況會有不同,這裏就以hda5來舉例說明:
  1. # mkdir /mnt/hda5  //創建hda5的目錄作爲掛載點,位置和目錄名可自定義//

  2. # mount -t vfat /dev/hda5 /mnt/hda5
一般而言,Linux會自動探測分區的文件系統,除非讓你指定時,否則-t vfat 可以省掉。
  1. # mount /dev/hda5 /mnt/hda5
這樣就可以進入/mnt/hda5目錄去訪問分區中的資源了。

3.      爲什麼mount上分區後顯示不了中文文件爲問號/亂碼?
顯示問號表明你的系統中沒有可識別使用的中文字體,請先安裝中文字體。確保你的系統已經可以很好的顯示中文。顯示爲亂碼一般是mount默認使用的文件系 統編碼和文件系統中文件的實際編碼不一致造成的。要想正常顯示中文文件,mount時需要用到 -o 參數裏的codepage和iocharset選項。codepage指定文件系統的代碼頁,簡體中文中文代碼是936;iocharset指定字符集, 簡體中文一般用cp936或gb2312。
  1. # mount –o iocharset=gb2312 codepage=936 /dev/hda5 /mnt/hda5
一般來說 mount –o iocharset=cp936 /dev/hda5 /mnt/hda5 就可以解決問題了。
如果這樣做了以後還有問題,請嘗試UTF-8編碼:
  1. # mount –o iocharset=utf8 /dev/hda5 /mnt/hda5
4.      爲什麼mount上去以後分區普通用戶不可寫?
mount時加上 –o umask=000 即可:
  1. # mount –o umask=000, iocharset=cp936 /dev/hda5 /mnt/hda5
5.      爲什麼mount上去後的分區中的文件都變成短文件名了?
這是文件系統掛錯的原因,將FAT32掛載成FAT16時就會出現這種情況,先umount,然後用 –t vfat 重新掛載即可解決問題。
  1. # mount –t vat /dev/hda5 /mnt/hda5
6.      爲什麼不能mount ntfs分區?
這是內核不支持NTFS文件系統的原因,請重新編譯內核或者安裝內核的NTFS文件系統支持包,以使得內核有NTFS文件系統的支持。

7.      如何掛載U盤和mp3?
如果計算機沒有其它SCSI設備和usb外設的情況下,插入的U盤的設備路徑是 /dev/sda1,用命令:
  1. # mkdir /mnt/u

  2. # mount /dev/sda1 /mnt/u
掛載即可。

8.      可以直接使用iso文件嗎?
可以,就是mount的這一選項使得Linux下有免費虛擬光驅的說法,具體用法是:
  1. # mkdir /mnt/iso

  2. # mount –o loop linux.iso /mnt/iso
當然,掛載以後掛載點/mnt/iso也是隻讀的。  

9.      我怎麼不可以mount iso文件?
一般而言,大多數的發行版使用的內核均已將loop設備的支持編譯進去了,但是也有沒有的情況,所以請確保系統所使用的內核支持loop設備。
第二種情況是iso文件被放置到了NTFS或其它只讀文件系統中了。掛載loop 設備必須要求掛載到一個可寫的分區中,目前Linux內核對NTFS文件系統的寫支持非常有限,請將iso文件複製到其它可寫文件系統中後再掛載。

10.  如何掛載光驅和軟驅
一般來說CDROM的設備文件是/dev/hdc,軟驅的設備名是/dev/fd0
  1. # mkdir /mnt/cdrom

  2. # mount /dev/hdc /mnt/cdrom //掛載光驅 //

  3. # mkdir /mnt/floppy  

  4. # mount /dev/fd0 /mnt/floppy   //掛載軟驅 //
11.  爲何掛載的CD-ROM不能顯示中文文件?
使用 –o iocharset=cp936 選項一般能解決問題,否則使用utf-8編碼。
  1. # mount –o iocharset=cp936 /dev/hdc /mnt/cdrom

12.  如何開機自動掛載分區?
每次掛載都要輸入那麼長的命令的確是繁瑣了些,只要將分區信息寫到/etc/fstab文件中即可實現系統啓動的自動掛載,例如對於/dev/hda5的自動掛載添加如下的行即可:
  1. /dev/hda5 /mnt/hda5 vfat defaults,iocharset=cp936, rw 0 0
13.  如何掛載samba 分區?
  1. # mkdir /mnt/share

  2. # mount -t smbfs -o username=root,password=abc,codepage=936,iocharset=gb2312 //192.168.1.100/share  /mnt/share
如果中文顯示不正常請嘗試UTF-8編碼。當然可以寫到fstab中實現自動掛載。

14.  mount --bind是什麼意思?
mount --bind 是將一個目錄中的內容掛載到另一個目錄上,用法是
  1. # mount --bind olddir newdir
這個命令使得自己搭建的FTP要共享某個目錄的時候變得特別方便。如果要取消mount用命令:
  1. # mount --move olddir newdir 即可。
如果mount --bind 也想寫入fstab中的話格式如下:
  1. olddir newdir none bind 0 0
15.  umount基本用法是?
譬如 /dev/hda5 已經掛載在/mnt/hda5上,用一下三條命令均可卸載掛載的文件系統
  1. # umount /dev/hda5

  2. # umount /mnt/hda5

  3. # umount /dev/hda5 /mnt/hda5
16.  爲什麼umount的時候老顯示 device busy?
這是因爲有程序正在訪問這個設備,最簡單的辦法就是讓訪問該設備的程序退出以後再umount。可能有時候用戶搞不清除究竟是什麼程序在訪問設備,如果用戶不急着umount,則可以用:
  1. # umount -l /mnt/hda5

來卸載設備。選項 –l 並不是馬上umount,而是在該目錄空閒後再umount。還可以先用命令 ps aux 來查看佔用設備的程序PID,然後用命令kill來殺死佔用設備的進程,這樣就umount的非常放心了。

三 參考
http://www.linuxdiyf.com/bbs/thread-19086-1-4.html###
發佈了26 篇原創文章 · 獲贊 7 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章