天天看點

磁盤分區工具fdisk 詳解

一、什麼是磁盤分區工具

磁盤分區工具一種可以幫助你配置和管理分區的工具。它可以删除或者格式化分區,也可以重新設定分區大小以及移動你的分區。

二、為什麼要使用磁盤分區工具

如果不對磁盤進行分區,所有的檔案都儲存在一個分區内,這樣如果其中一個檔案受到病毒感染,其他檔案的安全性就會受到很大的威脅。分區後也便于檔案的查找與管理,對磁盤進行合理的分區更有提高磁盤的有效使用率。

三、如何使用磁盤分區工具

Linux系統中的磁盤分區工具主要是fdisk。本文也将着重對其進行介紹

fdisk ---Partition table manipulator for Linux (對Linux系統進行磁盤分區的工具)

文法:

<code>       </code><code>fdisk [-uc] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device</code>

<code>       </code><code>fdisk -l [-u] [device...]</code>

常用參數:

-l 列出指定裝置的磁盤分區資訊,預設顯示 /proc/partitions的分區資訊

管理分區

# fdisk DEVICE

fdisk 提供了一個互動式接口來管理分區,分别用于不同的管理功能,所有操作均在記憶體中完成;沒有直接同步到磁盤:

<code>p: 顯示現有分區表;</code>

<code>n: 建立新分區</code>

<code>d: 删除現有分區</code>

<code>t: 修改分區檔案系統類型</code>

<code>l: 顯示fdisk所支援的檔案系統代碼</code>

<code>q: 不儲存退出</code>

<code>m: 顯示幫助資訊</code>

<code>b: 設定卷标</code>

<code>v: 檢驗分區</code>

檢視/dev/sdb磁盤資訊

<code>[root@1inux ~]# fdisk -l /dev/sdb</code>

<code>Disk /dev/sdb: 85.9 GB, 85899345920 bytes</code>

<code>255 heads, 63 sectors/track, 10443 cylinders</code>

<code>Units = cylinders of 16065 * 512 = 8225280 bytes</code>

<code>Sector size (logical/physical): 512 bytes / 512 bytes</code>

<code>I/O size (minimum/optimal): 512 bytes / 512 bytes</code>

<code>Disk identifier: 0x00000000</code>

給/dev/sdb磁盤進行分區,

<code>[root@1inux ~]# fdisk /dev/sdb</code>

<code>Device contains neither a valid DOS partition table, nor Sun, SGI </code><code>or</code> <code>OSF disklabel</code>

<code>Building a </code><code>new</code> <code>DOS disklabel with disk identifier 0x6a09b062.</code>

<code>Changes will remain in memory only, until you decide to write them.</code>

<code>After that, of course, the previous content won't be recoverable.</code>

<code>Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)</code>

<code>WARNING: DOS-compatible mode is deprecated. It's strongly recommended to</code>

<code>         </code><code>switch</code> <code>off the mode (command </code><code>'c'</code><code>) </code><code>and</code> <code>change display units to</code>

<code>         </code><code>sectors (command </code><code>'u'</code><code>).</code>

<code>Command (m </code><code>for</code> <code>help):</code>

然後輸入 “ m ” 可以檢視支援的選項:

<code>Command (m </code><code>for</code> <code>help): m</code>

<code>Command action</code>

<code>   </code><code>a   toggle a bootable flag</code>

<code>   </code><code>b   edit bsd disklabel</code>

<code>   </code><code>c   toggle the dos compatibility flag</code>

<code>   </code><code>d   </code><code>delete</code> <code>a partition    </code><code>//删除分區</code>

<code>   </code><code>l   list known partition types </code>

<code>   </code><code>m   </code><code>print</code> <code>this menu </code><code>//檢視幫助</code>

<code>   </code><code>n   add a </code><code>new</code> <code>partition    </code><code>//建立新分區</code>

<code>   </code><code>o   create a </code><code>new</code> <code>empty</code> <code>DOS partition table</code>

<code>   </code><code>p   </code><code>print</code> <code>the partition table </code><code>//顯示現有分區表;</code>

<code>   </code><code>q   quit without saving changes    </code><code>//不儲存退出</code>

<code>   </code><code>s   create a </code><code>new</code> <code>empty</code> <code>Sun disklabel</code>

<code>   </code><code>t   change a partition's system id    </code><code>//修改分區檔案系統類型</code>

<code>   </code><code>u   change display/entry units</code>

<code>   </code><code>v   verify the partition table    </code><code>//檢驗分區</code>

<code>   </code><code>w   write table to disk </code><code>and</code> <code>exit</code>    <code>//儲存更改并退出</code>

<code>   </code><code>x   extra functionality (experts only)</code>

輸入“n” 然後回車建立分區

<code>Command (m </code><code>for</code> <code>help): n</code>

<code>   </code><code>e   extended</code>

<code>   </code><code>p   primary partition (1-4)</code>

選擇要建立的分區類型:e-建立擴充分區;p-建立主分區,在此我們選擇建立主分區輸入“p”

<code>Partition number (1-4):</code>

提示要輸入要建立主分區的ID号,在1-4之間,在此我們輸入1

<code>Partition number (1-4): 1</code>

<code>First cylinder (1-10443, </code><code>default</code> <code>1):</code>

設定分區起始的柱面,直接回車就行:然後如下:

<code>First cylinder (1-10443, </code><code>default</code> <code>1): 1</code>

<code>Last cylinder, +cylinders </code><code>or</code> <code>+size{K,M,G} (1-10443, </code><code>default</code> <code>10443):</code>

此處是設定分區結束柱面,也可指定要分區的大小,可支援k、M、G機關,在此我們設定一個大小為5G的分區,+5G ,然後回車

<code>Last cylinder, +cylinders </code><code>or</code> <code>+size{K,M,G} (1-10443, </code><code>default</code> <code>10443): +5G</code>

通過輸入‘p’可以檢視已經建立的分區,

<code>Command (m </code><code>for</code> <code>help): p</code>

<code>Disk identifier: 0x6a09b062</code>

<code>   </code><code>Device Boot      Start         </code><code>End</code>      <code>Blocks   Id  System</code>

<code>/dev/sdb1               1         654     5253223+  83  Linux</code>

檢視分區設定無誤後可以通過鍵入“w” 來儲存對磁盤的更改設定

<code>Command (m </code><code>for</code> <code>help): w</code>

<code>The partition table has been altered!</code>

<code>Calling ioctl() to re-read partition table.</code>

<code>Syncing disks.</code>

<code>[root@1inux ~]#</code>

到此 已經使用fdisk指令在/dev/sdb磁盤上建立了一個/dev/sdb1大小為5G的主分區,

然後我們通過核心檢視系統是否已經識别了我們剛才建立的分區

<code>[root@1inux ~]# cat /proc/partitions</code>

<code>major minor  #blocks  name</code>

<code>   </code><code>8        0  125829120 sda</code>

<code>   </code><code>8        1     122880 sda1</code>

<code>   </code><code>8        2   31426560 sda2</code>

<code>   </code><code>8        3   10485760 sda3</code>

<code>   </code><code>8        4          1 sda4</code>

<code>   </code><code>8        5   10485760 sda5</code>

<code>   </code><code>8        6    6291456 sda6</code>

<code>   </code><code>8        7    2097152 sda7</code>

<code>   </code><code>8       16   83886080 sdb</code>

<code>   </code><code>8       17    5253223 sdb1    </code><code>//發現已經被識别</code>

如果發現分區未被識别,我們可以通知核心強制重讀分區

<code>CentOS 5: partprobe /dev/DEVICE</code>

<code>CentOS 6: partx,kpartx</code>

<code> </code><code>partx -a /dev/DEVICE</code>

<code> </code><code>kpartx -af /dev/DEVICE</code>

注意:如果執行一次指令,未能成功讀取分區表,可重複執行2次或以上

本文轉自 1inux 51CTO部落格,原文連結:http://blog.51cto.com/1inux/1629370

繼續閱讀