回覆列表
  • 1 # 敘永萬學寬

    1、掛載點必須是一個目錄。

    2、一個分割槽掛載在一個已存在的目錄上,這個目錄可以不為空,但掛載後這個目錄下以前的內容將不可用。

    對 於其他作業系統建立的檔案系統的掛載也是這樣。但是需要理解的是:光碟、軟盤、其他作業系統使用的檔案系統的格式與linux使用的檔案系統格式是不一樣 的。光碟是ISO9660;軟盤是fat16或ext2;windows NT是fat16、NTFS;windows98是fat16、fat32;windows2000和windowsXP是fat16、fat32、 NTFS。掛載前要了解linux是否支援所要掛載的檔案系統格式。

    掛載時使用mount命令:

    格式:mount [-引數] [裝置名稱] [掛載點]其中常用的引數有

    -t<檔案系統型別> 指定裝置的檔案系統型別,常見的有:

    minix linux最早使用的檔案系統

    ext2 linux目前常用的檔案系統

    msdos MS-DOS的fat,就是fat16

    vfat windows98常用的fat32

    nfs 網路檔案系統

    iso9660 CD-ROM光碟標準檔案系統

    ntfs windows NT 2000的檔案系統

    hpfs OS/2檔案系統

    auto 自動檢測檔案系統

    -o<選項> 指定掛載檔案系統時的選項。有些也可用在/etc/fstab中。常用的有

    codepage=XXX 內碼表

    iocharset=XXX 字符集

    ro 以只讀方式掛載

    rw 以讀寫方式掛載

    nouser 使一般使用者無法掛載

    user 可以讓一般使用者掛載裝置提醒一下,mount命令沒有建立掛載點的功能,因此你應該確保執行mount命令時,掛載點已經存在。(不懂?說白了點就是你要把檔案系統掛載到哪,首先要先建上個目錄。這樣OK?)

    例子:windows98裝在hda1分割槽,同時計算機上還有軟盤和光碟需要掛載。

    # mk /mnt/winc

    # mk /mnt/floppy

    # mk /mnt/cdrom

    # mount -t vfat /dev/hda1 /mnt/winc

    # mount -t msdos /dev/fd0 /mnt/floppy

    # mount -t iso9660 /dev/cdrom /mnt/cdrom

    現在就可以進入/mnt/winc等目錄讀寫這些檔案系統了。要保證最後兩行的命令不出錯,要確保軟碟機和光碟機裡有盤。(要是硬碟的磁碟片也可以經常隨時更換的話,我想就不會犯這樣的錯誤了 :-> )

    如 果你的windows98目錄裡有中文檔名,使用上面的命令掛載後,顯示的是一堆亂碼。這就要用到 -o 引數裡的codepage iocharset選項。codepage指定檔案系統的內碼表,簡體中文中文程式碼是936;iocharset指定字符集,簡體中文一般用cp936或 gb2312。

    當掛載的檔案系統linux不支援時,mount一定報錯,如windows2000的ntfs檔案系統。可以重新編譯linux核心以獲得對該檔案系統的支援。關於重新編譯linux核心,就不在這裡說了。

    四 、自動掛載

    每次開機訪問windows分割槽都要執行mount命令顯然太煩瑣,為什麼訪問其他的linux分割槽不用使用mount命令呢?

    其實,每次開機時,linux自動將需要掛載的linux分割槽掛載上了。那麼我們是不是可以設定讓linux在啟動的時候也掛載我們希望掛載的分割槽,如windows分割槽,以實現檔案系統的自動掛載呢?

    這是完全可以的。在/etc目錄下有個fstab檔案,它裡面列出了linux開機時自動掛載的檔案系統的列表。我的/etc/fstab檔案如下:/dev/hda2 / ext3 defaults 1 1

    /dev/hda1 /boot ext3 defaults 1 2

    none /dev/pts devpts gid=5,mode=620 0 0

    none /proc proc defaults 0 0

    none /dev/shm tmpfs defaults 0 0

    /dev/hda3 swap swap defaults 0 0

    /dev/cdrom /mnt/cdrom iso9660 noauto,codepage=936,iocharset=gb2312 0 0

    /dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0

    /dev/hdb1 /mnt/winc vfat defaults,codepage=936,iocharset=cp936 0 0

    /dev/hda5 /mnt/wind vfat defaults,codepage=936,iocharset=cp936 0 0

    在/etc/fstab檔案裡,第一列是掛載的檔案系統的裝置名,第二列是掛載點,第三列是掛載的檔案系統型別,第四列是掛載的選項,選項間用逗號分隔。第五六列不知道是什麼意思,還望高手指點。

    在最後兩行是我手工新增的windows下的C;D盤,加了codepage=936和iocharset=cp936引數以支援中文檔名。引數defaults實際上包含了一組預設引數:

    rw 以可讀寫模式掛載

    suid 開啟使用者ID和群組ID設定位

    dev 可解讀檔案系統上的字元或區塊裝置

    exec 可執行二進位制檔案

    auto 自動掛載

    nouser 使一般使用者無法掛載

    async 以非同步方式執行檔案系統的輸入輸出操作

  • 中秋節和大豐收的關聯?
  • C裡的共同體和結構體的區別?