linux系統開機自動掛載光驅 和 fstab文件詳解


Linux 通過 UUID 在 fstab 中自動掛載分區

summerm6
2019.10.17 16:29:00字數 1,542閱讀 607

https://xiexianbin.cn/linux/disk/2018-04-13-linux-fstab/#fatab%E4%BB%8B%E7%BB%8D

fatab 介紹

通常情況,Linux 的 /etc/fstab 文件可能有如下內容:

#

# /etc/fstab

# Created by anaconda on Fri Aug 18 03:51:14 2017

#

# Accessible filesystems, by reference, are maintained under '/dev/disk'

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

UUID=59d9ca7b-4f39-4c0c-9334-c56c182076b5 /                      ext4    defaults        1 1

目前不少Linux系統(紅帽系列的Fedora,Cent OS,或Debian系列的Ubuntu,LinuxMint,等等)都采用UUID方式掛載分區。

UUID 全稱是 Universally Unique Identifier,也就是說,每個分區有一個唯一的 UUID 值,這樣就不會發生分區識別混亂的問題了。

從上面的fstab文件片段可以看出,一般分區的掛載:

UUID=59d9ca7b-4f39-4c0c-9334-c56c182076b5 /                      ext4    defaults        1 1

fatab 格式說明

掛載分區的格式:

<file system> <mount point>  <type>  <options>      <dump>  <pass>

/etc/fstab文件詳解:

fie sysytem:這里用來指定你要掛載的文件系統的設備名稱或塊信息,也可以是遠程的文件系統。

如果想把本機上的某個設備(device)掛載上來,寫法如:/dev/sda1、/dev/hda2或/dev/cdrom,其中,/dev/sda1 表示第一個串口硬盤的第一個分區,也可以是第一個SCSI硬盤的第一個分區,/dev/hda1表示第一個IDE硬盤的第一個分區,/dev/cdrom 表示光驅。

此外,還可以label(卷標)或UUID(Universally Unique Identifier全局唯一標識符)來表示。用label表示之前,先要e2label創建卷標,如:e2label /dir_1 /dir_2,其意思是說用/dir_2來表示/dir_1的名稱。然后,再在/etc/fstab下按如下形式添加:LABEL=/dir_2 /dir_2 。重啟后,系統就會將/dir_1掛載到/dir_2目錄上。對於UUID,可以用vol_id -u /dev/sdax來獲取。比如我想掛載第一塊硬盤的第十一個分區,先用命令vol_id -u /dev/sda11 來取得UUID,比如是:5dc08a62-3472-471b-9ef5-0a91e5e2c126,然后在這個域上填寫: UUID=5dc08a62-3472-471b-9ef5-0a91e5e2c126,即可表示/dev/sda11。Red Hat linux 一般會使用label,而Ubuntu linux 一般會用UUID。

mount point:掛載點,也就是自己找一個或創建一個dir(目錄),然后把文件系統掛到這個目錄上,然后就可以從這個目錄中訪問要掛載文件系統。對於swap分區,這個域應該填寫:none,表示沒有掛載點。

type:這里用來指定文件系統的類型。下面的文件系統都是目前Linux所能支持的:adfs、befs、cifs、ext3、 ext2、ext、iso9660、kafs、minix、msdos、vfat、umsdos、proc、reiserfs、swap、 squashfs、nfs、hpfs、ncpfs、ntfs、affs、ufs。

options:這里用來填寫設置選項,各個選項用逗號隔開。由於選項非常多,而這里篇幅有限,所以不再作詳細介紹,如需了解,請用 命令 man mount 來查看。但在這里有個非常重要的關鍵字需要了解一下:defaults,它代表包含了選項rw,suid,dev,exec,auto,nouser和 async。

dump:此處為1的話,表示要將整個里的內容備份;為0的話,表示不備份。現在很少用到dump這個工具,在這里一般選0。

pass:這里用來指定如何使用fsck來檢查硬盤。如果這里填0,則不檢查;掛載點為 / 的(即根分區),必須在這里填寫1,其他的都不能填寫1。如果有分區填寫大於1的話,則在檢查完根分區后,接着按填寫的數字從小到大依次檢查下去。同數字 的同時檢查。比如第一和第二個分區填寫2,第三和第四個分區填寫3,則系統在檢查完根分區后,接着同時檢查第一和第二個分區,然后再同時檢查第三和第四個 分區。

需要注意一點,如果掛載的是非/根分區,dump及pass選項最好都應該是0,即不備份,不檢查。

獲取 UUID 方式

一般我們可以通過兩種方式獲知每個已經存在分區UUID:

by-uuid 方式

通過查看 /dev/disk/by-uuid/ 下的設備文件信息:

[root@xiexianbin_cn ~]# ls -l /dev/disk/by-uuid/

total 0

lrwxrwxrwx 1 root root 10 Oct 31  2017 59d9ca7b-4f39-4c0c-9334-c56c182076b5 -> ../../vda1

可以看出每個分區的UUID映射關系了。但是有個缺點,也許大家已經發現了,沒有分區類型,當然,如果你自己明確知道分區類型,那就沒有問題了,如果不知道,最好還是用下面將要介紹的blkid命令。

blkid 命令

blkid命令如下:

[root@xiexianbin_cn ~]# blkid

/dev/vda1: UUID="59d9ca7b-4f39-4c0c-9334-c56c182076b5" TYPE="ext4"

有了UUID后,我們就可以編輯fstab文件來掛載分區,編輯保存后,重啟,如果在啟動的時候,沒有出現掛載失敗信息,那么恭喜你!

硬盤掛載

查看硬盤信息命令:

fdisk -l

df -lh

格式化

mkfs.xfs /dev/sdb1 -f

mkfs.xfs -n ftype=1 /dev/sdb1

mkfs.xfs -f -n ftype=1 /dev/sdb

mount

通過blkid查找所有硬盤的uuid:

[root@xiexianbin_cn ~]# blkid

/dev/sdb: UUID="e965e17a-b1f8-4eeb-a23d-7b369df66f45" TYPE="xfs"

編輯/etc/fstab:

vim /etc/fstab

# 新增

UUID=e965e17a-b1f8-4eeb-a23d-7b369df66f45 /data                    xfs    defaults  0 0

執行掛載:

mount -a

然后可以通過df -h查看掛載情況。

也可以使用如下臨時掛載方式:

mount /dev/sdb /data

mount -t auto /dev/sdb /data

umount

umount /dev/sdb1

umount /data -f

若果有進程操作該掛載文件,會導致umount失敗,可以采用lsof /data找到對應的進程,然后kill掉。

 

linux系統開機自動掛載光驅 和 fstab文件詳解

Joncc
2018.11.19 16:41:34字數 972閱讀 1,013

一、開機自動掛載光驅

1.按習慣,root用戶,在/mnt目錄下建立目錄cdrom0

mdir /mnt/cdrom0

2.修改/etc/fstab文件。在該文件最后按順序添加如下內容:

/dev/sr0 /mnt/cdrom0 iso9660 auto 0 0 

3.重啟CentOS系統

二、fstab文件內容詳解

/etc/fstab就是在開機引導的時候自動掛載到linux的文件系統。

在linux中/etc/fstab的數據項如下所示:
/dev/device mountpoint type rules 0 order
例如這是一個普通的/etc/fstab:

/dev/hda2 / ext3 defaults 0 1 /dev/hda3 swap swap defaults 0 0 /dev/hda5 /usr ext3 defaults 0 0 /dev/fdo /mnt/flopy ext3 noauto 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0 

/dev/device就是需要掛載的設備,/hda2就是第一個IDE插槽上的主硬盤的
第二個分區。如果是第二個IDE插槽主硬盤的第三個分區,那就是/dev/hdc3,具體可以在linux下使用fdisk -l 查看。
mountpoint 就是掛載點。/、 /usr、 swap 都是系統安裝時分區的默認掛載點。
如果你要掛載一個新設備,你就要好好想想了,因為這個新設備將作為文件系統永久的一部分,需要根據FSSTND(文件系統標准),以及它的作用,用戶需求來決定。比如你想把它做為一個共享資源,放在/home下面就是一個不錯選擇。
type 是指文件系統類形。
rules 是指掛載時的規則。下面列舉幾個常用的:
auto 開機自動掛載
default 按照大多數永久文件系統的缺省值設置掛載定義
noauto 開機不自動掛載
nouser 只有超級用戶可以掛載
ro 按只讀權限掛載
rw 按可讀可寫權限掛載
user 任何用戶都可以掛載
請注意光驅和軟驅只有在裝有介質時才可以進行掛載,因此它是noauto
0 是指dump(系統備份工具)。這一項為0,就表示從不備份。如果上次用dump備份,將顯示備份至今的天數。
order 指fsck(啟動時fsck檢查的順序)。為0就表示不檢查,(/)分區永遠都
是1,其它的分區只能從2開始,當數字相同就同時檢查(但不能有兩1)。
如果我要把第二個IDE插槽主硬盤上的windows C 區掛到文件系統中,那么數據項是:

/dev/hdc1 /c vfat defaults 0 0 

(/c 是事先建立的文件夾,作為c盤的掛載點。)

當你修改了/etc/fstab后,一定要重新引導系統才會有效。

fstab中存放了與分區有關的重要信息,其中每一行為一個分區記錄,每一行又可分為六個部份,下面以/dev/hda7 / ext2 defaults 1 1為例逐個說明:
  1. 第一項是您想要mount的儲存裝置的實體位置,如hdb或如上例的/dev/hda7。
  2. 第二項就是您想要將其加入至哪個目錄位置,如/home或如上例的/,這其實就是在安裝時提示的掛入點。
  3. 第三項就是所謂的local filesystem,其包含了以下格式:如ext、ext2、msdos、iso9660、nfs、swap等,或如上例的ext2,可以參見/prco/filesystems說明。
  4. 第四項就是您mount時,所要設定的狀態,如ro(只讀)或如上例的defaults(包括了其它參數如rw、suid、exec、auto、nouser、async),可以參見「mount nfs」。
  5. 第五項是提供DUMP功能,在系統DUMP時是否需要BACKUP的標志位,其內定值是0。
  6. 第六項是設定此filesystem是否要在開機時做check的動作,除了root的filesystem其必要的check為1之外,其它皆可視需要設定,內定值是0。

參考 http://blog.itpub.net/12272958/viewspace-676977/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM