天天看點

Linux作業系統下挂載硬碟分區的幾種方法

<b>方法一、使用Autofs</b>

1、Autofs的特點:Autofs與Mount/Umount的不同之處在于,它是一種看守程式(deamon)。如果它檢測到使用者正試圖通路一個尚未挂接的檔案系統,它就會自動檢測該檔案系統,如果該檔案系統存在,那麼Autofs會自動将其挂接。另一方面,如果它檢測到某個已挂接的檔案系統在一段時間内沒有被使用,那麼Autofs會自動将其解除安裝。是以一旦運作了Autofs後,使用者就不在需要手動完成檔案系統的挂接和解除安裝。

2、Autofs的安裝: 隻需執行以下一條指令:rpm -ivh autofs-3.1.3-10.i386.rpm。安裝完成後,以後每次啟動Linux,Autofs都會自動運作。

3、Autofs的配置:首先, Autofs需要從/etc/auto.master這個檔案中讀取配置資訊。該檔案中可以同時指定多個挂接點,每個挂接點單獨用一行來定義,每一行可包括3個部分,分别用于指定挂接點位置,挂接時需使用的配置檔案(即:所謂的map file)及所挂接檔案系統在空閑多長時間後自動被解除安裝。例如,auto.master檔案中包括如下一行: /auto /etc/auto.misc --timeout 60。其中第一部分指定一個安裝點為/auto,第二部分指定/auto的map檔案為/etc/auto.misc,第三部分指定檔案系統在其空閑60秒後自動 被解除安裝。其次,從/etc/auto.misc這個檔案讀取挂接時需要使用的配置資訊。例如,auto.misc檔案包括如下内容

cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom

Windows_C -fstype=auto,iocharset=cp936 :/dev/hda1

Windows_D -fstype=auto,iocharset=cp936 :/dev/hda5

Windows_E -fstype=auto,iocharset=cp936 :/dev/hda6

其中第一行指定将裝置/dev/cdrom挂接在/auto的cd子目錄中,第二行指定将硬碟的Windows分區挂接在/auto的Windows_*子目錄中。每一行的第二個值-fstype是一個可選項,用來表明所挂接的檔案系統的類型和挂接選項,在 mount指令能使用挂接選項同樣适用于-fstype。修改了配置檔案後,可通過執行指令“/etc/init.d/autofs restart”,使新的配置生效。 現在輸入指令“ls /auto/cd”,Autofs會自動檢測光驅中是否有CD光牒,如果有,它會自動将其挂接在/auto/cd中,這樣ls就會列出其中的内容。如果我們在 60秒内沒有再次通路/auto/cd時,Autofs會自動将其解除安裝掉。

<b>方法二、修改/etc/fstab</b>

1、fstab檔案的作用

檔案/etc/fstab存放的是系統中的檔案系統資訊。當正确的設定了該檔案,則可以通過"mount  /directoryname"指令來加載一個檔案系統,每種檔案系統都對應一個獨立的行,每行中的字段都有空格或tab鍵分開。同時fsck、 mount、umount的等指令都利用該程式。

2、下面是/etc/fstab檔案的一個示例行:

fs_spec fs_file fs_type fs_options fs_dump fs_pass 

/dev/hda1   /   ext2     defaults    1    1 

fs_spec  - 該字段定義希望加載的檔案系統所在的裝置或遠端檔案系統,對于一般的本地塊裝置情況來說:IDE裝置一般描述為 /dev/hdaXN,X是IDE 裝置通道(a, b, or c),N代表分區号;SCSI裝置一描述為/dev/sdaXN。對于NFS情況,格式一般為:,例如: `knuth.aeb.nl:/'。對于procfs,使用`proc'來定義。

fs_file - 該字段描述希望的檔案系統加載的目錄點,對于swap裝置,該字段為none;對于加載目錄名包含空格的情況,用40來表示空格。

fs_type - 定義了該裝置上的檔案系統,一般常見的檔案類型為ext2 (Linux裝置的常用檔案類型)、vfat(Windows系統的fat32格式)、NTFS、iso9600等。

fs_options - 指定加載該裝置的檔案系統是需要使用的特定參數選項,多個參數是由逗号分隔開來。對于大多數系統使用"defaults"就可以滿足需要。其他常見的選項包括:

選項              含義

ro      以隻讀模式加載該檔案系統

sync    不對該裝置的寫操作進行緩沖處理,這可以防止在非正常關機時情況下破壞檔案系統,但是卻降低了計算機速度

user    允許普通使用者加載該檔案系統

quota   強制在該檔案系統上進行磁盤定額限制

noauto  不再使用mount -a指令(例如系統啟動時)加載該檔案系統

fs_dump - 該選項被"dump"指令使用來檢查一個檔案系統應該以多快頻率進行轉儲,若不需要轉儲就設定該字段為0

fs_pass - 該字段被fsck指令用來決定在啟動時需要被掃描的檔案系統的順序,根檔案系統"/"對應該字段的值應該為1,其他檔案系統應該為2。若該檔案系統無需在啟動時掃描則設定該字段為0

3、修改/etc/fstab實作自動挂載Windows分區,并顯示中文目錄

LABEL=/ / ext3 defaults 1 1

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

none /proc proc defaults 0 0

none /dev/shm tmpfs defaults 0 0

LABEL=/usr /usr ext3 defaults 1 2

/dev/hda9 swap swap defaults 0 0

#添加如下幾行

/dev/hda1 /mnt/win_c vfat codepage=936,iocharset=cp936 0 0

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

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

4、對部分分區格式的支援需要編譯相關的支援到核心了來實作,如NTFS。

<b>方法三、編寫shell腳本,開機自動運作mount指令</b>

首先,以root身份登陸,在/mnt下,你要有win_c win_d win_e這幾個目錄,如果沒有可以通過在虛拟終端分别輸入mkdir /mnt/win_c,mkdir /mnt/win_d,mkdir /mnt/win_e來建立。接着打開虛拟終端,輸入 vi mymount,然後按insert輸入如下代碼:

#!/bin/bash

case $1 in

m)

mount -o iocharset=cp936 -t vfat /dev/hda1 /mnt/win_c

mount -o iocharset=cp936 -t vfat /dev/hda5 /mnt/win_d

mount -o iocharset=cp936 -t vfat /dev/hdc6 /mnt/win_e

;;

u)

umount -o iocharset=cp936 -t vfat /dev/hda1 /mnt/win_c

umount -o iocharset=cp936 -t vfat /dev/hda5 /mnt/win_d

umount -o iocharset=cp936 -t vfat /dev/hda6 /mnt/win_e

esac

然後按Esc輸入:wq回車就可以了.第一行#!/bin/bash指定以bash shell執行此檔案.case $1 in 為取的指令行參數.若為m則開始挂載,若為u則解除安裝.其中-o iocharset=cp936能夠顯示中文名.-t vfat 為指定檔案系統類型為WINDOWS下的VFAT檔案系統.win_c win_d win_e為目錄/mnt下的子目錄.

到這裡,該程式已經寫好了.但是它還沒有執行權利.我們隻要輸入下面這個指令就可以了.

chmod u+x mymount

到這步你隻要輸入./mymount m,就可以挂載windows分區了.如果在/etc/rc.d/rc.local 檔案中添加這一行:

sh ./root/mymount m

重新開機後linux會自動挂載windows分區。

本文轉自 liang831002 51CTO部落格,原文連結:http://blog.51cto.com/leo0216/70362,如需轉載請自行聯系原作者

繼續閱讀