fdisk - Partition table manipulator for Linux
一.通過fdisk -l 查看機器所掛硬盤個數及分區情況;
fdisk 能划分磁盤成為若干個區,同時也能為每個分區指定分區的文件系統,比如linux,fat32,linux swap,fat16以及其實類Unix類操作系統的文件系統等.當然用fdisk 對磁盤操作分區后,還要對分區進行格式化所需要的文件系統,這樣一個分區才能使用.
主分區[Primary](包括擴展分區[Extended])的總數不能超過4個;也就是說主分區[Primary]+擴展分區[Extended]總數最多是4,擴展分區[Extended]分區只能有一個
因此如果要分成4快磁盤分區的話,那么最多是可以:
P+P+P+P 或者
P+P+P+E
其中3P+E只有3個可用的磁盤,擴展分區不能直接使用,還要分區成邏輯分區[Logical]才行.
fdisk -l 查看硬盤及分區信息
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux 主分區
/dev/sda2 14 6387 51199155 83 Linux 主分區
/dev/sda3 6388 7407 8193150 82 Linux swap / Solaris 主分區
/dev/sda4 7408 60801 428887305 5 Extended 擴展分區
/dev/sda5 7408 20155 102398278+ 83 Linux 邏輯分區
/dev/sda6 20156 26529 51199123+ 83 Linux 邏輯分區
通過上面的信息 我們知道此機器掛載了1個硬盤sda,大小500G
有255個磁面,63個扇區,60801個磁柱;
每個磁柱的容量是8225280 bytes 約為 8.225280M
sda有4個主分區sda1,sda2,sda3,sda4(擴展分區),邏輯分區是sd5,sd6
硬盤總容量=主分區(包括擴展分區)總容量
擴展分區容量=邏輯分區總容量+未分完的總容量
Start :表示的一個分區從X cylinder(磁柱)開始;
End :表示一個分區到 Y cylinder(磁柱)結束;
id和System 表示的是一個意思,id看起來不太直觀,我們要在fdisk 一個分區時,通過指定id來確認分區類型;比如 7表示的就NTFS 分區;這個在fdisk 中要通過t功能來指定。
Blocks:表示這個磁盤有多少個os塊,單位是k,通常一個os塊大小可以通過命令查看 /sbin/tune2fs -l /dev/sda1 里面有block size參數
Blocks = (相應分區End數值 - 相應分區Start數值)x 單位cylinder(磁柱)的容量,就是這個磁盤擁有多少空間的量
從上面看出 擴展分區從7408到60801磁柱 而邏輯分區只從7408到26529磁柱,說明擴展分區還未分完
二.下面看如何增加一個分區
#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 注:l是列出分區類型,以供我們設置相應分區的類型;
m print this menu 注:m 是列出幫助信息;
n add a new partition 注:添加一個分區;
o create a new empty DOS partition table
p print the partition table 注:p列出分區表;
q quit without saving changes 注:不保存退出;
s create a new empty Sun disklabel
t change a partition's system id 注:t 改變分區類型;
u change display/entry units
v verify the partition table
w write table to disk and exit 注:把分區表寫入硬盤並退出;
x extra functionality (experts only) 注:擴展應用,專家功能;
警告:刪除分區時要小心,請看好分區的序號,如果您刪除了擴展分區,擴展分區之下的邏輯分區都會刪除;所以操作時一定要小心;如果知道自己操作錯了,請不要驚慌,用q不保存退出;切記切記!!!!在分區操作錯了之時,千萬不要輸入w保存退出!!!
出現上面的菜單后 按下p 先看下分區情況
Command (m for help): p
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 6387 51199155 83 Linux
/dev/sda3 6388 7407 8193150 82 Linux swap / Solaris
/dev/sda4 7408 60801 428887305 5 Extended
/dev/sda5 7408 20155 102398278+ 83 Linux
/dev/sda6 20156 26529 51199123+ 83 Linux
然后按下n (添加一個分區)
Command (m for help): n
First cylinder (26530-60801, default 26530): 27000
這里提示這個分區從哪個磁柱開始,默認接着上一個分區,這里回車就是默認值.這里最好直接按回車,如果您輸入了一個非默認的數字,會造成空間浪費;
然后出現
Last cylinder or +size or +sizeM or +sizeK (26530-60801, default 60801):
注:這個是定義分區大小的,+200M 就是大小為200M ;當然您也可以根據p提示的單位cylinder的大小來算,然后來指定 End的數值;如果您想添加一個10G左右大小的分區,請輸入 +10000M ;
輸入好了 可以fdisk 的退出,用q或者w
其中 q是不保存退出,w是保存退出
Command (m for help): w
或
Command (m for help): q
由於我這台機器已經有4分主分區
如果主分區未達到4個,達到了4個不會出現
按n添加一個分區時候 會出現
Command (m for help): n (注:添加分區;)
Command action
e extended
p primary partition (1-4)
這時根據自己需要選擇主分區還是擴展分區了.
三.分區完以后還要對分區格式化以及加載
用 mkfs.bfs mkfs.ext2 mkfs.jfs mkfs.msdos mkfs.vfatmkfs.cramfs mkfs.ext3 mkfs.minix mkfs.reiserfs mkfs.xfs 等命令來格式化分區,比如我想格式化 sda7為ext3文件系統,則輸入;
# mkfs.ext3 /dev/sda7
然后加載sda7到目前系統來存取文件,應該有mount 命令,但首先您得建一個掛載目錄;比如 /mnt/sda7
# mount /dev/sda7 /mnt/sda7
然后 df -lh 查看
就能進入 /mnt/sda7目錄,然后存取文件了
四.讓硬盤啟動自動掛載
用vi編輯/etc/fstab文件,加入如下內容
/dev/sda7 /mnt/sda7 ext3 defaults 1 2