掛載

掛載

掛載(mounting)是指由作業系統使一個存儲設備(諸如硬碟、CD-ROM或共享資源)上的計算機檔案和目錄可供用戶通過計算機的檔案系統訪問的一個過程。 一般來說,當計算機關機時,每個已掛載存儲都將經歷一次卸載,以確保所有排隊的數據被寫入,並保證介質上檔案系統結構的完整性。

基本信息

掛載概念

在windows作業系統中,

掛載通常是指給磁碟分區(包括被虛擬出來的磁碟分區)分配一個盤符。

這個操作可以通過“計算機管理”中的“磁碟管理”來進行。

第三方軟體,如磁碟分區管理軟體、虛擬磁碟軟體等,通常也附帶掛載功能。

在linux作業系統中,

掛載是一個非常重要的功能,使用非常頻繁。

它指將一個設備(通常是存儲設備)掛接到一個已存在的目錄上。

(這個目錄可以不為空,但掛載後這個目錄下以前的內容將不可用。)

需要理解的是,

linux作業系統將所有的設備都看作檔案,

它將整個計算機的資源都整合成一個大的檔案目錄。

我們要訪問存儲設備中的檔案,必須將檔案所在的分區掛載到一個已存在的目錄上,

然後通過訪問這個目錄來訪問存儲設備。

linux指南

掛載條件

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 可以讓一般用戶掛載設備

示例

提醒一下,你要把檔案系統掛載到哪,首先要先建上個目錄。

例子: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等目錄讀寫這些檔案系統了。

要保證最後兩行的命令不出錯,要確保軟碟機和光碟機里有盤。

分區標識

介紹Linux下分區是如何標識的,

通常是 hdyN (IDE 磁碟)或sdyN(SCSI 磁碟)。

y 這個字母標明分區所在的設備。

例如,/dev/hda(第一個 IDE 磁碟)或 /dev/sdb(第二個 SCSI 磁碟)

N 這個數字代表分區的編號。

前四個分區(主分區或擴展分區)是用數字從 1 排列到 4。邏輯分區從 5 開始。

例如,/dev/hda3 是在第一個 IDE 硬碟上的第三個主分區或擴展分區;/dev/sdb6 是在第二個 SCSI 硬碟上的第二個邏輯分區。

中文支持

如果你的windows98目錄里有中文檔案名稱,使用上面的命令掛載後,顯示的是一堆亂碼。

這就要用到 -o 參數裡的codepage iocharset選項。

codepage指定檔案系統的代碼頁,簡體中文中文代碼是936;

iocharset指定字元集,簡體中文一般用cp936或gb2312。

當掛載的檔案系統linux不支持時,mount一定報錯,如windows2000的ntfs檔案系統。

可以重新編譯linux核心以獲得對該檔案系統的支持或者下個支持ntfs的補丁。

自動掛載

每次開機訪問windows分區都要運行mount命令顯然太煩瑣,

我們可以設定讓linux在啟動的時候也掛載我們希望掛載的分區,如windows分區,

以實現檔案系統的自動掛載。

在/etc目錄下有個fstab檔案,它裡面列出了linux開機時自動掛載的檔案系統的列表。

我的/etc/fstab檔案如下:

LABEL=/ / ext3 defaults 1 1

LABEL=/boot /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/hda8 swap swap defaults 0 0

/dev/cdrom /mnt/cdrom udf,iso9660 noauto, owner, kudzu, ro 0 0

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

/dev/cdrom1 /mnt/cdrom1 udf, iso9660 noauto, owner, kudzu, ro 0 0

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

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

/dev/hda6 /mnt/winf vfat defaults,codepage=936,iocharset=cp936 0 0

在/etc/fstab檔案里,

第一列是掛載的檔案系統的設備名,

第二列是掛載點,

第三列是掛載的檔案系統類型,

第四列是掛載的選項,

選項間用逗號分隔。

在最後三行是我手工添加的windows下的C、D、F盤,

加了codepage=936和iocharset=cp936參數以支持中文檔案名稱。

參數defaults實際上包含了一組默認參數:

rw 以可讀寫模式掛載 suid 開啟用戶ID和群組ID設定位 dev 可解讀檔案系統上的字元或區塊設備

exec 可執行二進制檔案 auto 自動掛載 nouser 使一般用戶無法掛載

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

大家可以看到在這個列表里,光碟機和軟碟機是不自動掛載的,參數設定為noauto。

掛載ISO

掛載ISO格式的命令:

mount -loop -o iocharset=cp936 xxxxx.iso /mnt/iso

相關詞條

相關搜尋

熱門詞條

聯絡我們