磁盤分區及格式化和掛載

1、磁盤分區

(1)易於管理和使用:

比如說我們把磁盤分了sda1、sda2、sda3、sda4盤,我們假設sda1盤爲系統盤,其他的比如說遊戲、辦公、軟件盤,這樣我們要重新分哪個區就直接在對應的盤分就可以了,不需要整塊磁盤進行分區。根據用途我們也能較快的去使用相應的磁盤。

(2)有利於數據的安全:

通過分區可以降低數據損失的風險。出現硬盤壞道、錯誤操作、重裝系統都有可能造成數據損失,如果分區了,那麼我們就可以將損失最小化。

(3)節約尋找文件的時間:

這個我覺得跟第一條比較像,但是這裏所說的尋找文件的時間,是指電腦搜索文件的時間。分區以後,電腦搜索文件時只需要在相對應的分區搜索就可以了,沒必要進行全盤搜索。大大節省了尋找文件的時間。

一個扇區是512字節,其中有64個字節存儲的是分區表,一條分區信息佔16個字節,因此磁盤最多隻能分四個分區,要想有多個分區怎麼辦?這時候就有了擴展分區。

擴展分區可以被繼續劃分爲多個邏輯分區,邏輯分區是可以進行格式化的。擴展分區把邏輯分區的分區信息在擴展分區中找了一個位置給存起來。假如說p4擴展分區劃分了三個邏輯分區那麼第1個邏輯分區命名爲sda5、第2個爲sda6、第3個sda7,以此類推。一個磁盤被分爲四個分區,第四個分區被設置爲擴展分區,第一個邏輯分區爲sda5。但是當整個磁盤被分爲3個分區的時候,我們把擴展分區劃分的第1個邏輯分區依然命名爲sda5,而不是其它的。總結一下,就是不論磁盤有幾個主分區,第一個邏輯分區一定是從sda5開始。

Linux系統有一個理念:“一切皆文件”,所以計算機的硬件在linux中也是以“文件”的形式存在於/dev目錄中。

在這裏插入圖片描述

比如,光驅對應的文件是/dev/cdrom,CPU對應的文件是/dev/cpu。而硬盤對應的是/dev/sd*。第一塊硬盤是/dev/sda,第二塊磁盤是/dev/sdb。

但是一個磁盤通常又被分成多個分區,所以在磁盤文件的後面加上分區的序號來對應這個分區。參考下面的表格中的例子   
  在這裏插入圖片描述

輸入命令#fdisk /dev/sdb

在這裏插入圖片描述

輸入p 查看當前硬盤分區,目前沒有分區。

在這裏插入圖片描述

新建分區

在這裏插入圖片描述

查看新建扇區,以上新建了兩個主分區,大小都是500M
在這裏插入圖片描述

修改分區類型

在這裏插入圖片描述
在這裏插入圖片描述

注意:sdb1:存放的是與系統相關的文件
    sdb2:虛擬內存交換分區
    start、end表示分區開始的扇區位置和結束的扇區位置。
    blocks:表示塊的信息,一個塊裏面有多個扇區。
    Id:表示磁盤類型編號
    system:表示Linux系統分區的一個分區信息。

此時不要着急,我們一定要記住要保存,在命令行輸入w保存分區信息。我們通過w保存並退出後,使用fdisk -l  可以查看到磁盤的分區信息。
  但是當你在格式化的時候,有可能找不到這個分區。這是因爲Linux沒有把分區信息讀到內核來,我們需要輸入partprobe這個命令,來使我們內核重讀一下我們的分區信息。

2.格式化

命令:mke2fs mke2fs [選項] 文件系統 磁盤盤符=

註釋:
1、磁盤雖然分好區了,但是還不能用,還需要在這每一個分區上格式化,所謂格式化,其實就是安裝文件系統,Windows下的文件系統有Fat32、NTFS,CentOS使用的文件系統爲ext,之前centOS5版本使用ext3作爲默認的文件系統,而CentOS6使用ext4作爲默認的文件系統;
2、當用man查詢這四個命令的幫助文檔時,你會發現我們看到了同一個幫助文檔,這說明四個命令是一樣的;
3、指定文件系統格式爲ext4,該命令等同於mkfs ext4 /dev/sdb5,以後我們遇到餘姚格式磁盤分區的時候,直接指定格式化爲ext4即可,也可以根據操作系統的版本來決定格式化什麼格式;
選項:

-b:分區時設定每個數據塊佔用空間大小,目前支持1024、2048以及4096 bytes每個塊;

-i:設定inode的大小;

-N:設定inode數量,有時使用默認的inode數不夠用,所以要自定設定inode數量;

-c:在格式化前先檢測一下磁盤是否有問題,加上這個選項後會非常慢;

-L:預設該分區的標籤label;

-j:建立ext3格式的分區,如果使用mkfs.ext3就不用加這個選項了;

-t:用來指定什麼類型的文件系統,可以是ext2、ext3也可以是ext4;

-m:格式化時,指定預留給管理員的磁盤比例,是一個百分比,只針對mke2fs命令;

例如:mke2fs -t ext4 -b 4096 /dev/sdb5

注意:其中一個指標是“塊的大小=4096”這裏涉及到一個“塊”的概念,磁盤在被格式化的時候會預先規定好每一個塊的大小,然後再把所有的空間分割成一個一個的小塊,存數據的時候也是一個快一個快的去寫入,所以如果你的磁盤存的都是特別小特別小的文件,比如說1k或者2k,那麼建議在格式化磁盤的時候指定塊數值小一點,ext文件系統默認塊的大小爲4096,也就是4k,在格式化的時候,可以指定塊大小爲1024、2048或者4096(它們是成倍增加的),雖然格式化的時候可以指定塊大小超過4096,但是一旦超過4096則不能正常掛載;

指定塊的大小: mke2fs -t ext4 -b 8192 /dev/sdb5

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

注意:可以使用-L來指定標籤,標籤會在掛載磁盤的時候使用,另外也可以寫到配置文件裏,關於格式化的這一部分,我建議除非有需求,否則不需要指定塊的大小,也就是說,你只需要記住這兩個選項:-t和-L即可。

更多關於Linux磁盤格式化的基礎分享:

基本功,格式化命令,以格式化 /dev/sda1 分區爲例:
$ sudo umount /dev/sda1

必須先卸載該分區

格式化爲 FAT 分區

$ sudo mkfs.vfat -F 32 /dev/sda1 # -F 參數必須大寫,參數有 12,16 和 32,分別對應 FAT12,FAT16,FAT32。

格式化爲 NTFS 分區,先要安裝ntfsprogs,以 Ubuntu / Debian 爲例:

$ sudo apt-get install ntfsprogs

#然後執行格式化命令,以格式化 /dev/sda1 分區爲例:
$ sudo umount /dev/sda1 # 必須先卸載該分區
$ sudo mkfs.ntfs /dev/sda1 # 格式化爲ntfs速度有點慢。

格式化爲ext4/3/2 , 以格式化 /dev/sda1 分區爲例:

$ sudo umount /dev/sda1 # 必須先卸載該分區
$ sudo mkfs.ext4 /dev/sda1 # 格式化爲ext4分區
$ sudo mkfs.ext3 /dev/sda1 # 格式化爲ext3分區
$ sudo mkfs.ext2 /dev/sda1 # 格式化爲ext2分區

由於ext系列的分區都有一個給super user的保留空間,必須佔用一定的百分比,默認5%,這麼一來格式化容量小的分區還不覺得,5%也沒多少,但是如果是幾百G,1T的分區就會有問題,in this case,5%可是不小的數目啊!

『解決方法』

一、針對將要格式化的分區,以ext3爲例:
$ sudo umount /dev/sda1 # 必須先卸載該分區,這裏要格式化的是 /dev/sda1 分區。
$ sudo mkfs.ext3 -m 0.05 /dev/sda1 # 注意-m後的參數,設定的已經是百分位,這裏設定爲0.05,是0.05%,也就是萬分之5!

好了,這樣以1T的分區爲例,1T=1024GB=1048576MB(都是乘以1024的關係),1048576MB*0.0005=524.288MB。

也就是說設定-m參數之後,保留區大概是524MB。當然你可以根據自己喜好設定。

二、對已經格式化完畢的分區,並且不想擦出分區中的數據,可以使用tune2fs -m的方法:

這條命令無須先卸載分區。

$ sudo tune2fs -m 0.05 /dev/sda2 # 這個例子是轉換 /dev/sda2 分區的super user保留區,同樣設定爲0.05,在提醒一次,是0.05%,也就是萬分之5。

3. 掛載分區

提示:使用df -h命令可以查看當前系統中已經掛載的分區

3.1 手動掛載分區

1
mount -t /dev/sdb1 /mnt/sdb1
卸載分區umount命令格式:
1
umount [option] special | node
使用umount卸載分區時,可以指定掛載點,也可以指定掛載的路徑
比如本例要卸載sdb1分區的掛載,則使用
1
umount /dev/sdb1或者umount /mnt/sdb1
ps:使用umount卸載時,如果是指定的設備路徑,則umount會按照按照掛載順序去卸載分區最後被掛載的掛載點。

3.2 自動掛載分區

linux系統在啓動時,會從/etc/fstab文件自動掛載分區。
圖中是一個fstab文件的示例。
在這裏插入圖片描述
fstab中,每條配置信息都分爲固定的6個部分
[1]:分區路徑,或者UUID
[2]:fs_file - 該字段描述希望的文件系統加載的目錄點,對於swap設備,該字段爲none;對於加載目錄名包含空格的情況,用40來表示空格。
[3]:fs_type - 定義了該設備上的文件系統,一般常見的文件類型爲ext4 (Linux設備的常用文件類型)、vfat(Windows系統的fat32格式)、NTFS、isoArray600等。在不確定的情況下可以使用auto。
[4]:fs_options - 指定加載該設備的文件系統是需要使用的特定參數選項,多個參數是由逗號分隔開來。
對於大多數系統使用"defaults"就可以滿足需要。不多說。
[5]:fs_dump - 該選項被"dump"命令使用來檢查一個文件系統應該以多快頻率進行轉儲,若不需要轉儲就設
置該字段爲0
[6]:fs_pass - 該字段被fsck命令用來決定在啓動時需要被掃描的文件系統的順序,根文件系統"/"對應該字
段的值應該爲1,其他文件系統應該爲2。若該文件系統無需在啓動時掃描則設置該字段爲0

本例,在fstab文件中添加sdb1分區自動掛載的配置如下:
1 /dev/sdb1 /mnt/sdb1 ext4 defaults 0 2
ps:其它賬戶(如orac、mysql)在使用這個新的分區時,可能會遇到權限不足的問題,使用以下命令解決
1 chmod 777 /mnt/sdb1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章