天天看點

linux硬碟分區格式化及挂載

                      linux硬碟分區格式化及挂載  

1、硬碟的接口類型      

    硬碟的接口一般分為兩種,一種是IDE并行接口,一種是SATA串行接口, 在linux上面IDE接口的硬碟被識别為/dev/hd[a-z]這樣的裝置,其中hdc表示光驅裝置,這是因為主機闆上面一般有兩個IDE插槽,一個IDE插槽可以接兩個硬碟,而光驅是接着IDE的第二個插槽上面的第一個接口上面。其他諸如SCSI,SAS,SATA,USB等接口的裝置在linux識别為/dev/sd[a-z]。        

2、linux硬碟的分區

磁盤的分區分為: primary(主分區)、extended(擴充分區)、Logical (邏輯分區)且主分區加上擴充分區的個數小于等于4個。且擴充分區最多隻有一個,擴充分區是不能直接在裡面寫入資料的,擴充分區裡面建立邏輯分區才能讀寫資料。如果看見一個硬碟有很多分區,則其實是在擴充分區裡面建立的邏輯分區。

主分區從 sdb1--sdb4

邏輯分區是從 sdb5--sdbN

 如果所示linux硬碟分區之間的關系

<a target="_blank" href="http://blog.51cto.com/attachment/201307/154719948.png"></a>

第一種情況為:四個主分區

<a target="_blank" href="http://blog.51cto.com/attachment/201307/154738834.png"></a>

第二種情況為:三個主分區+一個擴充分區(擴充分區裡面包括邏輯分區)

3、linux上如何實作分區

linux上面實作分區的指令: fdisk

1)fdisk -l [DEVICE]

檢視linux某個硬碟的資訊 fdisk -l /dev/[hs]d[a-z],不接裝置名稱,預設是檢視所有硬碟的資訊。

2)fdisk  DEVICE 可以對硬碟進行分區操作

[root@Redhat5 ~ ~]# fdisk /dev/sda

Command (m for help): m  (輸入m檢視可以操作的菜單)

Command action

  a   toggle a bootable flag

  b   edit bsd disklabel

  c   toggle the dos compatibility flag

  d   delete a partition     //删除一個分區

  l   list known partition types  //已知的分區類型清單

  m   print this menu          

  n   add a new partition     //添加一個新的分區

  o   create a new empty DOS partition table

  p   print the partition table  //列印分區表

  q   quit without saving changes  //退出但不儲存配置

  s   create a new empty Sun disklabel

  t   change a partition's system id  //改變一個分區的系統辨別

  u   change display/entry units     //改變顯示/條目機關

  v   verify the partition table     //驗證分區表

  w   write table to disk and exit   //儲存退出

  x   extra functionality (experts only)

<a target="_blank" href="http://blog.51cto.com/attachment/201307/161748366.png"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201307/162334634.png"></a>

常見linux支援的分區類型為82 swap交換分區、83 linux分區、8e LVM邏輯卷組。

<a target="_blank" href="http://blog.51cto.com/attachment/201307/162824294.png"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201307/163021433.png"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201307/163345288.png"></a>

分區修改完成後鍵入w儲存退出。這時分區還不能使用,因為linux的核心還沒有識别分區的資訊

4、使linux核心識别分區資訊

cat /proc/partitions  檢視核心識别的分區資訊

[root@Redhat5 ~]# cat /proc/partitions

major minor  #blocks  name

  8     0  125829120 sda

  8     1     104391 sda1

  8     2   41945715 sda2

  8     3    1052257 sda3

253     0   30703616 dm-0

253     1    5111808 dm-1

讓核心重新讀取硬體分區表有兩個指令

partprobe /dev/sda ------&gt; redhat 5.x ,redhat 6.x需要重新開機

partx -a /dev/sda5 /dev/sda-------&gt;redhat 6.x

核心加載分區資訊之後再檢視

  8     4          0 sda4

  8     5    1959898 sda5

  8     6    3911796 sda6

5、格式化分區

格式化分區的指令

mkfs   -t  fstype /dev/part   -t選擇格式化的類型,然後是那個分區

mkfs.ext2  /dev/part      格式化為ext2的類型,然後是接那個分區

mkfs.ext3  /dev/part      格式化為ext3的類型,然後是接那個分區

mkfs.ext4  /dev/part      格式化為ext4的類型,然後是接那個分區

mke2fs 比之前幾個更加強大的格式化分區的指令

這幾個指令之間相關的關系

mkfs -t ext4 = mkfs.ext4 = mke2fs -t ext4

mkfs -t ext3 = mkfs.ext3 = mke2fs -j = mke2fs -t ext3

mkfs -t ext2 = mkfs.ext2 = mke2fs = mke2fs -t ext2

mke2fs (man mke2fs):建立檔案類型---&gt;/etc/mke2fs.conf 配置檔案

       -t:檔案類型

       -j:相當于 ext3

       -b:指定塊大小{1024|2048|4096byte},塊大小取決cpu對記憶體頁框大小的支援,x86系統預設頁                  

          大小是4096,4k

       -L: label 設定卷标

      -m: #預留給管理使用的塊所占的比率  一般用在分區很大的時候,#為數字

1

2

3

4

<code>mke2fs -t ext3 </code><code>/dev/sda5</code>                     <code>#把分區格式為ext3格式的</code>

<code>mke2fs  -t ext3 -b  2048  </code><code>/dev/sda5</code>     <code># 把分區的塊改成2048位元組,一般用于系統中小檔案很多的情況</code>

<code>mke2fs -t ext3 -m 3   </code><code>/dev/sda5</code>           <code>#把分區預留的空間改為所占總空間的3%,預設為5%,因為當某個分區足夠大的時候,可以減少空間</code>

<code>mke2fs -t ext3 -L  DATE   </code><code>/dev/sda5</code>     <code>#把分區的卷标設定為DATE</code>

    tune2fs  指令可以檢視分區的詳細資訊,mke2fs 與 tune2fs的關系和useradd與usermod的關系很類似。mke2fs支援的參數tune2fs大多數都支援,詳情請man tune2fs檢視相關的幫助。

option

      -l: 顯示檔案系統超級塊資訊;

     -L label:重新設定卷标;

     -m #: 調整預留給管理使用的塊所占據總體空間的比例;

      -r #: 調整預留給管理使用的塊個數;

      -o:設定挂載預設選項

      -O: 設定檔案系統預設特性

     -E: 調整檔案系統的擴充屬性

tune2fs不支援-b參數改變塊的大小。

tune2fs   -l  /dev/sda5  可以詳細檢視分區的資訊

5

6

7

<code>[root@Redhat5 ~]</code><code># tune2fs -l /dev/sda5 | grep "^Block size"     //顯示sda5分區塊的大小</code>

<code>Block size:               4096</code>

<code>[root@Redhat5 ~]</code><code># tune2fs -l /dev/sda5 | grep "^Reserved"      //顯示sda5預留白間</code>

<code>Reserved block count:     24498</code>

<code>Reserved GDT blocks:      119</code>

<code>Reserved blocks uid:      0 (user root)</code>

<code>Reserved blocks gid:      0 (group root)</code>

<code>tune2fs -L DATE </code><code>/dev/sda5</code>   <code>#修改卷标</code>

<code>tune2fs -m 3 </code><code>/dev/sda5</code>       <code>#修改預留給管理使用的塊所占據總體空間的比例</code>

e2label:顯示或設定卷标

<code>e2label </code><code>/dev/sda5</code> <code>MYDATE</code>

blkid :顯示裝置的UUID及檔案系統類型,及卷标

<a target="_blank" href="http://blog.51cto.com/attachment/201307/172654593.png"></a>

6、挂載

mount 挂載------&gt;顯示的是/etc/mtab檔案裡面的内容

mount [-t fstype]     DEVICE                        MOUNT_POINT

指令                           裝置                                  挂載點

mount [-t fstype]    LABEL="卷标"              MOUNT_POINT  --&gt;e2label檢視标簽

mount [-t fstype]     UUID="UUID"            MOUNT_POINT ----&gt;blkid可以檢視UUID

options:

    -o:用于指定挂着選項,常用的挂着選項,選項有很多用逗号隔開

    ro:隻讀挂載

    rw:讀寫挂載(預設)

    noatime:關閉更新通路時間

    auto:是否能夠由"mount -a"挂載

    defaults:相當于rw, suid, dev, exec, auto, nouser, async.

    sync:同步

    async:異步

    noexec:不容易裝置中的二進制直接運作

   remount:重新挂載

   loop:本地回環裝置:  挂載系統已經存在的鏡像

   -t:

   -v:verbose 顯示詳細資訊

   -n:挂載檔案系統時,不更新/etc/mtab檔案

   -r:隻讀挂載相當于"-o ro"

挂載的幾種方式

顯示系統已經挂載的檔案

<a target="_blank" href="http://blog.51cto.com/attachment/201307/173638213.png"></a>

挂載分區sda5到/mnt/sda5目錄下

[root@Redhat5 ~]# mkdir /mnt/sda5       #建立一個挂載目錄

[root@Redhat5 ~]# mount /dev/sda5 /mnt/sda5/ #把分區挂載到建立的目錄裡面

[root@Redhat5 ~]# mount | grep "/dev/sda5"      #檢視分區是否挂載

/dev/sda5 on /mnt/sda5 type ext3 (rw)               #顯示分區已經挂載

[root@Redhat5 ~]# umount /dev/sda5               #解除安裝分區

[root@Redhat5 ~]#mount | grep "/dev/sda5"     #發現分區已經被解除安裝

[root@Redhat5 ~]# blkid       #顯示裝置的UUID及檔案系統類型,及卷标

/dev/mapper/vol0-home: UUID="d1aeef77-bb47-4718-a91c-d4870b536440" TYPE="ext3"

/dev/sda3: LABEL="SWAP-sda3" TYPE="swap"

/dev/sda1: LABEL="/boot" UUID="5e5eaaac-cc56-42da-81eb-9adebff0fa2e" TYPE="ext3"

/dev/vol0/root: UUID="4302a528-e88e-43d3-b3cc-1c2b29cda656" TYPE="ext3"

/dev/sda5: LABEL="DATE" UUID="8f4f9b53-0bf0-4ce9-9665-bd4c7ae9ce59" TYPE="ext3"

[root@Redhat5 ~]# mount  LABEL="DATE"  /mnt/sda5/   #可以查到到分區5的标簽為DATE,通                        

過挂載标簽來挂載分區

[root@Redhat5 ~]# mount | grep "/dev/sda5"         #檢視分區是否挂載

/dev/sda5 on /mnt/sda5 type ext3 (rw)

[root@Redhat5 ~]# umount /dev/sda5    #解除安裝分區

[root@Redhat5 ~]#mount | grep "/dev/sda5"

[root@Redhat5 ~]# mount UUID="8f4f9b53-0bf0-4ce9-9665-bd4c7ae9ce59" /mnt/sda5/

#通過挂載UUID來挂載分區

用mount指令挂載的檔案在系統開機的時候是不能自動挂載的,想要系統開機就挂載寫到配置檔案即可/etc/fstab

echo "LABEL=DATE  /mnt/sde5  ext3 defaults  0 0" &gt;&gt; /etc/fstab

/etc/fstab檔案的格式

[root@Redhat5 ~]# cat /etc/fstab

/dev/vol0/root          /                       ext3    defaults        1 1

/dev/vol0/home          /home                   ext3    defaults        1 2

LABEL=/boot             /boot                   ext3    defaults        1 2

tmpfs                   /dev/shm                tmpfs   defaults        0 0

字段以空格分隔

1、挂載的裝置:裝置檔案、卷标、UUID

2、挂載點:  與跟相關聯的目錄

3、檔案系統類型:ext3,ext4

4、挂載選項:defaults表示使用預設選項,多個選項彼此間逗号分隔

5、轉儲頻率:0:從不備份、1:每日備份、2:每隔一日備份

6、自檢次序:0:不檢測、1:第一個檢測,一般隻能為根檔案系統第一個檢測 2 ...9

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

繼續閱讀