1. 程式人生 > >設定/etc/fstab實現自動掛載

設定/etc/fstab實現自動掛載

/etc/fstab 可 能玩Linux的朋友都知道fstab這個檔案,如果要用好linux,熟悉linux的一些核心配置檔案是必要的,而fstab則是其中之一。這個檔案 描述系統中各種檔案系統的資訊,應用程式讀取這個檔案,然後根據其內容進行自動掛載的工作。因此,我們需要理解其中的內容,瞭解它如何與 mount命令配合工作,並能夠針對自己的情況進行修改。 

作 為系統配置檔案,fstab通常都位於/etc目錄下,它包括了所有分割槽和儲存裝置的資訊,以及它們應該掛載到哪裡,以什麼樣子的方式掛載。如果遇到一些 類似於無法掛載你的windows分割槽阿,無法使用你的光碟機阿,無法對某個分割槽進行寫入操作阿什麼的,那麼基本上可以斷定,你的fstab內容有問題了。 也就是說,你可以通過修改它來搞定這些問題,而不用去論壇冰天雪地裸體跪求答案了。 

說 了半天,/etc/fstab其實就是一個文字檔案,用gedit或者vi都可以開啟,當然,前提是root許可權。在這個檔案中,每個檔案系統(包括分割槽 或者裝置)用一行來描述,在每一行中,用空格或TAB符號來分隔各個欄位,檔案中以*開頭的行是註釋資訊。Fstab檔案中的紀錄的排序十分重要。因為 fsck,mount或umount等程式在做它們的工作時會按此順序進行本。下面進行詳細的講解,本文假設讀者已經有掛載檔案系統和分割槽的基礎知識。 

在講解之前要說一下,每個人所使用的系統情況都是不同的,包括硬體種類,所用系統等,因此fstab檔案肯定是有所差異的。但是其基本結構,如上所述,都不會變。所以我們先以一個fstab內容作為模板進行講解。 

首先請看下面這個例子: 
/dev/hda2 / ext2 defaults 1 1 
/dev/hdb1 /home ext2 defaults 1 2 
/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0 
/dev/fd0 /media/floppy auto rw,noauto,user,sync 0 0 
proc /proc proc defaults 0 0 
/dev/hda1 swap swap pri=42 0 0 

這 些看起來毫無意義的字元代表了什麼?在對應相應分割槽或者儲存裝置資訊的每一行中,每一列又是什麼意思?先大體講一下,第一列表示裝置的名稱,第二列表示該 裝置的掛載點,第三列是檔案系統,第四列是掛載選項,第五列是dump選項(用一個數字表示),第六列(接下來的數字)表示檔案系統檢查選項。好了,接下 來,就要詳細介紹這些引數的具體含義了。 

第一、二列:裝置和預設掛載點


說 實話,第一列和第二列的內容是最簡單最直接的,它們的作用就是告訴mount命令,我想掛載什麼分割槽或者什麼裝置,以及我所希望的掛載點在哪裡。在 fstab中為某一個裝置指定的掛載點是其預設掛載點,也就是當你在掛載目錄的時候沒有手工指定其他目錄的話,系統就將該裝置掛載到這個目錄。大多數 Linux發行版都會為掛載點建立專門的目錄,大多數是在/mnt下,但是一些發行版(比如SUSE或者ubuntu)是在/media下。筆者使用的是 ubuntu,所以示例資訊中也是用的/media目錄。 

按照我們給出的fstab示例,如果你敲入命令 

$ mount /dev/fd0 

你 的軟碟機就將掛載到/media/floppy,因為這是你告訴系統的軟碟機預設掛載點。如果沒有這個資訊,當你敲入mount命令時,mount會感到很困 惑:該死的,你想讓我把這玩意掛載到哪裡去呢?當然,如果你看fstab中發行版給你指定的預設掛載點不順眼,也可以自由修改它,修改成任何一個你希望的 目錄都可以。如果還不存在,就首先建立這個目錄。要知道,fstab是不會把所有工作都給你包乾的哦。 

另外,有一些分割槽和儲存裝置是在Linux系統啟動的時候就自動掛載的,比如,讓我們看看剛才列出來的fstab示例資訊,有兩行是這樣的: 
/dev/hda2 / ext2 defaults 1 1 
/dev/hdb1 /home ext2 defaults 1 2 

正 如剛才我們講到的那樣,這兩行表示/dev/hda2預設掛載到/根目錄,而 /dev/hdb1則預設掛載到/home目錄,。這些工作在你Linux系統啟動的時候就會通過讀取fstab自動完成,否則的話……想象你會遭受什麼 樣的折磨吧,所有的程式都在/根目錄下,而你卻無法使用,因為你沒有掛載/根目錄!恩,我保證,這將是一次讓人沮喪的系統使用經歷。 

除 了顯示的使用裝置名,你可以使用裝置的UUID或裝置的卷標籤,例如,你可以在這個欄位寫成“LABAL=root”或“UUID= 3e6be9de- 8139-11d1-9106-a43f08d823a6”,這將使系統更具伸縮性。例如,如果你的系統新增或移除了一個SCSI硬碟,這有可以改變你的 裝置名,但它不會修改你的卷標籤。 

對於NFS mount操作,這個欄位應該包含host:dir格式的資訊,例如:knuth.aeb.nl:/,對於程序檔案系統procfs,使用proc。 

第三列:檔案系統型別
 

fstab 中的第三列指示了裝置或者分割槽的檔案系統型別。它支援很多種類的檔案系統,我們在這裡只介紹最為常用的。如果想了解你的kernel目前支援哪些檔案系 統,可以檢視/proc/filesystems的內容。如果這個欄位定義為swap,這條紀錄將關聯到一個用於交換目的的檔案或分割槽。如果這個欄位定義 為ignored,這行將被忽略。這對於顯示目前沒有使用的分割槽非常有用。 

ext2 和 ext3: Linux下的Ext2檔案系統,是 GNU/Linux 系統中標準的檔案系統,其特點為存取檔案的效能極好,對於中小型的檔案更顯示出優勢,這主要得利於其簇快取層的優良設計。至於Ext3檔案系統,它屬於一 種日誌檔案系統,是對ext2系統的擴充套件。日誌式檔案系統的優越性在於,它會將整個磁碟的寫入動作完整記錄在磁碟的某個區域上,以便有需要時可以回朔追 蹤。由於詳細紀錄了每個細節,故當在某個過程中被中斷時,系統可以根據這些記錄直接回朔並重整被中斷的部分,而不必花時間去檢查其他的部分,故檔案系統檢 測不一致時,重整的工作速度相當快,幾乎不需要花時間。 

reiserfs: ReiserFS是一個非常優秀的檔案系統。也是最早用於Linux的日誌檔案系統之一,其機制比Ext3要先進得多,風雷小弟一直使用的就是它,很多發 行版現在也把它作為預設檔案系統了。可惜其作者前段時間出事了……具體情況就不說了,也不知道下一代reiserfs4還能不能出來,因為ext4都有 了。 

swap: Swap,即交換區,把它想象成虛擬記憶體就行了。 

vfat 和 ntfs:一看就知道是Windows分割槽格式了,呵呵。98,me等系統都是使用的vfat,也就是最流行的fat32格式,而NT系列則多使用 NTFS,當然也不是固定的,因此2000或者XP系統要具體情況具體分析。當初Linux對NTFS的寫入支援不好,所以大多數資料都建議使用者使用 vfat格式,但是現在支援已經很好了,即使不重新編譯核心,也可以通過ntfs-3g來進行寫入支援(/dev/hda1 /mnt/c ntfs-3g defaults 0 0
),因此不用太在意這個 了。 

auto: 當然,這不是一個檔案系統型別。auto只是表示,檔案系統的型別將被自動檢測。在上面的示例中,你會發現軟碟機和光碟機的檔案系統型別都是auto,為什麼 呢?因為它們的檔案系統型別隨時都可能改變,比如軟碟機,優盤這種裝置,可能今天是vfat格式,明天你就把它格式化成了ntfs,因此,最明智的做法就是 告訴系統,我沒法確定這東西的當前型別,還是你自己檢測吧。 

udf: 由於燒錄光碟機越來越流行,現在很多發行版自帶的fstab中,光碟機的檔案格式型別是UDF,UDF是Universal Disc Format的縮寫,與ISO 9660格式相容。它採用標準的封裝寫入技術(PW,Packet Writing)將CD-R/CD-RW當作硬碟使用,使用者可以在光碟上修改和刪除檔案。利用UDF格式進行燒錄時,燒錄軟體將資料打包,並在記憶體中臨時 建立一個特殊檔案目錄表,同時接管系統對光碟的訪問。 

iso9660: 很多光碟機也使用的這個選項。ISO9660是一種描述適合CD碟片的電腦檔案結構的國際標準。採用此標準的碟片可以在不同的作業系統上使用,如MAC和Windows。 

第四列:掛載選項 

fstab 中的第四列表示裝置或者分割槽所需要的掛載選項。這一列也是fstab中最複雜最容易出錯的一列,當然,只要你能知道一些最常用的選項是什麼意思,就可以讓 你從頭疼中解脫出來。如果要把可用的選項一項一項介紹……恩,我估計我會寫到明天,所以,我還是隻是分析最常用的一些選項,如果你想知道更多的東西,還是 求助於man吧。 

auto 和 noauto: 這是控制裝置是否自動掛載的選項。auto是預設選擇的選項,這樣,裝置會在啟動或者你使用mount -a命令時按照fstab的內容自動掛載。如果你不希望這樣,就使用noauto選項,如果這樣的話,你就只能明確地通過手工來掛載裝置。 

user 和 nouser:這是一個非常有用的選項,user選項允許普通使用者也能掛載裝置,而nouser則只允許root使用者掛載。nouser是預設選項,這也 是讓很多 Linux新手頭疼的東西,因為他們發現沒有辦法正常掛載光碟機,Windows分割槽等。如果你作為普通身份使用者遇到類似問題,或者別的其他問題,就請把 user屬性增加到fstab中。 

exec 和 noexec: exec允許你執行對應分割槽中的可執行二進位制程式,同理,noexec的作用剛好相反。如果你擁有一個分割槽,分割槽上有一些可執行程式,而恰好你又不願意, 或者不能在你的系統中執行他們,就可以使用noexec屬性。這種情況多發生於掛載Windows分割槽時。exec是預設選項,理由很簡單,如果 noexec變成了你/根分割槽的預設選項的話…… 

ro: 以只讀來掛載檔案系統。 

rw: 以可讀可寫的屬性來掛載系統。 

sync 和 async:對於該檔案系統的輸入輸出應該以什麼方式完成。sync的意思就是同步完成,通俗點講,就是當你拷貝一個東西到裝置或者分割槽中時,所有的寫入 變化將在你輸入cp命令後立即生效,這個東西應該立馬就開始往裝置或者分割槽裡面拷貝了。而如果是async,也就是輸入輸出非同步完成的話,當你拷貝一個東 西到裝置或者分割槽中時,可能在你敲擊cp命令後很久,實際的寫入操作才會執行,換句話說,就是進行了緩衝處理。 

有 時候這種機制蠻不錯的,因為sync會影響你係統的執行速度,但是這也會帶來一些問題。想一想,當你希望將一個檔案拷貝到u盤上時,你執行了cp 命令,卻忘記執行umount命令(它會強行將緩衝區內容寫入),那麼你拷貝的檔案實際上並沒有在u盤上面。如果你是使用的mv命令,而你又很快將u盤拔 出……恭喜你,檔案會從這個星球上消失的。因此,雖然async是預設屬性,但是對於u盤,行動硬碟這種可移動儲存裝置,最好還是讓他們使用sync選 項。 

defaults: 所有選項全部使用預設配置,包括rw, suid, dev, exec, auto, nouser, 和 async。 

一般使用者沒有特殊需求,直接使用defaults就可以了。看完介紹,我們再回過頭去看看前面的示例內容,以光碟機為例,主要關注掛載選項這裡,可以看到,光碟機和其他分割槽裝置的不同是ro,因為普通光碟機是隻讀的。而exec則讓你可以從光碟機上直接執行某些程式。 

第五、六列:dump和fsck選項 

Dump和fsck?這是什麼東西?恩,dump是一個備份工具,而fsck是一個檔案系統掃描檢查工具。我不會在這裡詳細介紹它們,因為用man或者google都可以獲得更加詳細的資訊。 

fstab 的第五列是表示dump選項,dump工具通過這個選項位置上的數字來決定檔案系統是否需要備份。如果是0,dump就會被忽略,事實上,大多數的 dump設定都是0。而第六列是fsck選項,fsck命令通過檢測該欄位來決定檔案系統通過什麼順序來掃描檢查,根檔案系統/對應該欄位的值應該為1, 其他檔案系統應該為2。若檔案系統無需在啟動時掃描檢查,則設定該欄位為0

掛載ntfs分割槽
           
安裝NTFS-3G
                    下載原始碼包:
                     wget http://sourceforge.net/projects/linux-ntfs/files/
                     解壓原始碼包:
                     tar zxvf ntfs-3g-2.0.0.tgz
                     配置編譯環境:
                     cd ntfs-3g-2.0.0
                     ./configure
                     編譯:
                     make
                     安裝:
                     make install
                     cd ..

      用fdisk -l | grep NTFS命令檢視本地所有NTFS分割槽
   [[email protected] Desktop]# /sbin/fdisk -l |grep NTFS
/dev/sda1   *           2        2551    20482843+   7  HPFS/NTFS
/dev/sda5            5102       11475    51199123+   7  HPFS/NTFS
/dev/sda7           20400       29323    71681998+   7  HPFS/NTFS
/dev/sda8           29324       38913    77031643+   7  HPFS/NTFS
     臨時裝載NTFS分割槽
          可以使用下面的命令以讀寫方式臨時裝載一個NTFS分割槽到裝載點
          mount  -t ntfs-3g <NTFS Partition>  <Mount Point> 
     其中:
     <NTFS Partition> ------ NTFS所在分割槽的裝置名,如3.1中的/dev/sdb1
          <Mount Point>      ------ 裝載點,如3.2中的/mnt/ntfs-p1
     例如:
mount  -t ntfs-3g /dev/sdb1 /mnt/ntfs-p1
              系統啟動時裝載NTFS分割槽 編輯/etc/fstab vi /etc/fstab 
在檔案最後增加如下格式的行 ntfs-3g defaults 0 0 其中: ------ NTFS所在分割槽的裝置名,如3.1中的/dev/sdb1 ------ 裝載點,如3.2中的/mnt/ntfs-p1 例如: /dev/sdb1 /mnt/ntfs-p1 ntfs-3g defaults 0 0 儲存檔案後重啟系統或簡單的執行下面的命令,即可裝載NTFS分割槽到指定的裝載點 mount -a

相關推薦

設定/etc/fstab實現自動掛載

/etc/fstab 可 能玩Linux的朋友都知道fstab這個檔案,如果要用好linux,熟悉linux的一些核心配置檔案是必要的,而fstab則是其中之一。這個檔案 描述系統中各種檔案系統的資訊,應用程式讀取這個檔案,然後根據其內容進行自動掛載的工作。因此,我們需要

/etc/fstab開機自動掛載設備配置

mage 開機自動掛載 文件 格式 png 設備 不定 image info 第一列:設備名字(路徑?) 第二列:設備掛載路徑(掛載到的位置) 第三列:分區格式 第四列:文件系統參數(?) 第五列:是否自動dump備份 0 不要 1 定期 2 不定期

Linux/ubuntu下編輯/etc/fstab實現開機自動掛載分割槽方法

基本上所有Linux 發行版在啟動系統時都是根據/etc/fstab檔案的配置來掛載分割槽的。在/etc/fstab中,根據不同格式的分割槽,其掛載引數也不同,引數不同其結果不同,包括使用者的讀寫許可權,下面一一說來。 1、對於fat32格式分割槽,向/etc/fstab中

/etc/fstab下的掛載類型defaults默認參數

ext4 分區 mod 安全 noexec pts 磁盤配額 模式 gid [[email protected] data]# cat /etc/fstab UUID=da4d312a-dee1-4433-98c0-59dbbcf8b040 /

/etc/fstab 開機自動掛載文件講解

linux基礎知識man 5 fstab fstab - static information about the filesystems首先看下文件的內容[root@www ~]# cat /etc/fstab## /etc/fstab# Created by anaconda on Thu Nov 9

設定系統光碟開機自動掛載-配置本地YUM源

設定系統光碟開機自動掛載 第一種方法 執行下面這個命令 [[email protected] ~]# vim /etc/fstab 進入這個檔案進行編輯,加入紅線框內的設定 /d

Linux下通過修改fstab自動掛載Windows 分割槽

我電腦裝的是Windows和Linux雙系統,以前在Linux下,要開啟Windows系統的C盤或D盤的時候,總是要輸入密碼,很麻煩,而且麻煩了很長時間. 後來有一天浩哥看到了,說可以在Linux開機時自動掛載Windows分割槽的,修改/etc/fstab這個檔案,可以採

設定linux系統開機自動掛載外部磁碟陣列

linux系統與windows不同,外部磁碟需做掛載方可擁有系統路徑,否則為外部磁碟為獨立檔案系統,不能被本地檔案系統呼叫。本篇介紹linux外部磁碟掛載已經開機自動掛載命令。(初級經驗,對簡單使用linux系統的童鞋) (adsbygoogle = window.adsby

bin/mount -a 開機自動掛載 /etc/fstab

 vi /etc/rc.d/rc 在檔案的末尾行新增“/bin/ mount -a”/bin/ mount -a 此命令是在系統啟動後再去執行fstab中mount   命令使用格式:mount [-fnrsvw] [-t vfstype] [-o options] de

Linux命令-自動掛載檔案/etc/fstab功能詳解[轉]

一、/etc/fstab檔案的作用          磁碟被手動掛載之後都必須把掛載資訊寫入/etc/fstab這個檔案中,否則下次開機啟動時仍然需要重新掛載。         系統開機時會主動讀取/etc/fstab這個檔案中的內容,根據檔案裡面的配置掛載磁碟。這樣

LinuxMint(Ubuntu)配置fstab,實現開機自動掛載vfat和ntfs檔案系統

Mint本來已經自帶了自動掛載功能,但是不知道搞什麼東東,失效了。唯有自己實現一個 什麼是fstab 檔案fstab包含了你的電腦上的儲存裝置及其檔案系統的資訊。使用fstab可以實現開機自動掛載各種檔案系統格式的硬碟、分割槽、可移動裝置和遠端裝置等。 在這個檔案裡面配置

Linux命令-自動掛載檔案/etc/fstab功能詳解

一、/etc/fstab檔案的作用          磁碟被手動掛載之後都必須把掛載資訊寫入/etc/fstab這個檔案中,否則下次開機啟動時仍然需要重新掛載。         系統開機時會主動讀取/etc/fstab這個檔案中的內容,根據檔案裡面的配置掛載磁碟。這

配置fstab,實現開機自動掛載vfat和ntfs檔案系統

什麼是fstab 檔案fstab包含了你的電腦上的儲存裝置及其檔案系統的資訊。使用fstab可以實現開機自動掛載各種檔案系統格式的硬碟、分割槽、可移動裝置和遠端裝置等。 fstab檔案示例 我機子上的配置: 執行sudo fdisk -l顯示目前硬碟分割槽:  

解釋一下/etc/fstab,開機自動掛載

[[email protected] home]# cat /etc/fstab  LABEL=/                 /                       ext3    defaults        1 1 LABEL=/boot             /boot  

linux 磁盤管理四部曲——(3)mount掛載,/etc/fstab配置文件

-o linu 沖突 備份 情況 啟用 rem uid int 當我們分完區,並做好文件系統格式化,就到了最後的掛載mount了,掛載完畢就可以使用磁盤設備了。 一、什麽是掛載,卸載 任何塊設備都不能直接訪問,需掛載在目錄上訪問 掛載: 將額外文件系統與根文件系統某現存

Linux 自動掛載fstab分區-自動掛載

分享 mage upload 自動 width 技術分享 其他 alt default 01、自動掛載 =>vi /etc/fstab 文件     第1字段:分區設備文件名或UUID(硬盤通用唯一識別碼)     第2字段:掛載點     第3字段:文件系統

文件系統基礎及ext文件系統創建及管理詳解、文件系統的使用及卸載、fstab文件格式及自動掛載系統的

文件系統創建文件系統--分區格式化 格式化: 低級格式化: 劃分磁道 高級格式化: 創建文件系統,按照某種特定的標準,將整個分區劃分為大小相同的若幹小的邏輯編址單元,每個這樣的單元稱為塊(block)【windows中稱為簇】; 劃分塊的標準: 在Linux的文件系統中,主要的塊的劃分

Centos7下自動掛載光盤文件的實現

Linux學習Centos7下自動掛載光盤文件的實現 問題來源:  最近使用Centos7的命令行終端,發現光盤文件不會自動掛載了。在網絡不穩定的狀況下,光盤裏的rpm包是真的很實用,但是每次登陸之後去手動掛載光盤又比較麻煩,於是便想找找看有沒有什麽軟件可以實現光盤文件的自動掛載。問題的解

實現Linux鏡像文件自動掛載,搭建yum倉庫實現遠程桌面win7系統

inux鏡像文件自動掛載 搭建yum倉庫實現遠程桌面win7系統 實現Linux鏡像文件自動掛載,搭建yum倉庫實現遠程桌面win7系統 環境描述:Linux01(IP地址192.168.10.10/24)實現鏡像文件自動掛載,搭建yum倉庫,配置遠程桌面功能,可以遠程桌面win7系統(IP地址19

CentOS 6.5新增加硬盤掛載實現開機自動掛載

partition -s -c AS 鏈接 err auto win lan 在內網主機CentOS 6.5新增一個2T硬盤,先關機斷電再連接硬盤數據線和電源線。查看當前磁盤設備信息:[root@linuxidc ~]# fdisk -lWARNING: GPT (GUID