1. 程式人生 > >Linux下fdisk命令操作磁碟詳解--新增、刪除、轉換分割槽等

Linux下fdisk命令操作磁碟詳解--新增、刪除、轉換分割槽等

linux下fdisk命令操作磁碟詳解--新增、刪除、轉換分割槽等

fdisk 操作硬碟的命令格式如下:

[[email protected] beinan]# fdisk 裝置

比如我們通過 fdisk -l 得知 /dev/hda 或者 /dev/sda 裝置;我們如果想再新增或者刪除

一些分割槽,可以用

[[email protected] beinan]# fdisk /dev/hda

[[email protected] beinan]# fdisk /dev/sda

注 在以後的例子中,我們要以 /dev/sda 裝置為例,來講解如何用 fdisk 來操作新增、刪

除分割槽等動作;

1、fdisk 的說明;

當我們通過 fdisk 裝置,進入相應裝置的操作時,會發現有如下的提示;以 fdisk /dev/sda

裝置為例,以下同;

[[email protected] beinan]# fdisk /dev/sda

Command (m for help): 在這裡按 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) 注:擴充套件應用,專家功能;

其實我們常用的只有注有中文的,其它的功能我們不常用(呵,主要是我不會用,否則早會

賣弄一下了);x 擴充套件功能,也不是常用的;一般的情況下只要懂得 d l m p q t w 就行

了;

下面以例項操作來詳述,沒有例子沒有辦法就,新手也看不懂;

2、列出當前操作硬碟的分割槽情況,用 p;

Command (m for help): p

Disk /dev/sda: 1035 MB, 1035730944 bytes

256 heads, 63 sectors/track, 125 cylinders

Units = cylinders of 16128 * 512 = 8257536 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 25 201568+ c W95 FAT32 (LBA)

/dev/sda2 26 125 806400 5 Extended

/dev/sda5 26 50 201568+ 83 Linux

/dev/sda6 51 76 200781 83 Linux

3、通過 fdisk 的 d 指令來刪除一個分割槽;

Command (m for help): p 注:列出分割槽情況;

Disk /dev/sda: 1035 MB, 1035730944 bytes

256 heads, 63 sectors/track, 125 cylinders

Units = cylinders of 16128 * 512 = 8257536 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 25 201568+ c W95 FAT32 (LBA)

/dev/sda2 26 125 806400 5 Extended

/dev/sda5 26 50 201568+ 83 Linux

/dev/sda6 51 76 200781 83 Linux

Command (m for help): d 注:執行刪除分割槽指定;

Partition number (1-6): 6 注:我想刪除 sda6 ,就在這裡輸入 6 ;

Command (m for help): p 注:再檢視一下硬碟分割槽情況,看是否刪除了?

Disk /dev/sda: 1035 MB, 1035730944 bytes

256 heads, 63 sectors/track, 125 cylinders

Units = cylinders of 16128 * 512 = 8257536 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 25 201568+ c W95 FAT32 (LBA)

/dev/sda2 26 125 806400 5 Extended

/dev/sda5 26 50 201568+ 83 Linux

Command (m for help):

警告:刪除分割槽時要小心,請看好分割槽的序號,如果您刪除了擴充套件分割槽,擴充套件分割槽之下的邏

輯分割槽都會刪除;所以操作時一定要小心;如果知道自己操作錯了,請不要驚慌,用 q 不保

存退出;切記切記!!!!在分割槽操作錯了之時,千萬不要輸入 w 儲存退出!!!

4、通過 fdisk 的 n 指令增加一個分割槽;

Command (m for help): p

Disk /dev/sda: 1035 MB, 1035730944 bytes

256 heads, 63 sectors/track, 125 cylinders

Units = cylinders of 16128 * 512 = 8257536 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 25 201568+ c W95 FAT32 (LBA)

/dev/sda2 26 125 806400 5 Extended

/dev/sda5 26 50 201568+ 83 Linux

Command (m for help): n 注:增加一個分割槽;

Linux磁碟概念及其管理工具fdisk  http://www.linuxidc.com/Linux/2016-08/134664.htm

l logical (5 or over) 注:增加邏輯分割槽,分割槽編號要大於 5;為什麼要大於 5,因為

已經有 sda5 了;

p primary partition (1-4) 注:增加一個主分割槽;編號從 1-4 ;但 sda1 和 sda2 都

被佔用,所以只能從 3 開始;

p

Partition number (1-4): 3

No free sectors available 注:失敗中,為什麼失敗?

注:我試圖增加一個主分割槽,看來是失敗了,為什麼失敗?因為我們看到主分割槽+擴充套件分割槽

把整個磁碟都用光了,看擴充套件分割槽的 End 的值,再看一下 p 輸出資訊中有 125 cylinders;

最好還是看前面部份;那裡有提到;

所以我們只能增加邏輯分割槽了;

Command (m for help): n

Command action

l logical (5 or over)

p primary partition (1-4)

l 注:在這裡輸入 l,就進入劃分邏輯分割槽階段了;

First cylinder (51-125, default 51): 注:這個就是分割槽的 Start 值;這裡最好直接按

回車,如果您輸入了一個非預設的數字,會造成空間浪費;

Using default value 51

Last cylinder or +size or +sizeM or +sizeK (51-125, default 125): +200M 注:這個

是定義分割槽大小的,+200M 就是大小為 200M ;當然您也可以根據 p 提示的單位 cylinder

的大小來算,然後來指定 End 的數值。回頭看看是怎麼算的;還是用+200M 這個辦法來新增,

這樣能直觀一點。如果您想新增一個 10G 左右大小的分割槽,請輸入 +10000M ;

Command (m for help):

5、通過 fdisk 的 t 指令指定分割槽型別;

Command (m for help): t 注:通過 t 來指定分割槽型別;

Partition number (1-6): 6 注:要改變哪個分割槽型別呢?我指定了 6,其實也就是 sda6

Hex code (type L to list codes):L 注:在這裡輸入 L,就可以檢視分割槽型別的 id 了;

Hex code (type L to list codes): b 注:如果我想讓這個分割槽是 W95 FAT32 型別的,通

過 L 檢視得知 b 是表示的是,所以輸入了 b;

Changed system type of partition 6 to b (W95 FAT32) 注:系統資訊,改變成功;是否

是改變了,請用 p 檢視;

Command (m for help): p

Disk /dev/sda: 1035 MB, 1035730944 bytes

256 heads, 63 sectors/track, 125 cylinders

Units = cylinders of 16128 * 512 = 8257536 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 25 201568+ c W95 FAT32 (LBA)

/dev/sda2 26 125 806400 5 Extended

/dev/sda5 26 50 201568+ 83 Linux

/dev/sda6 51 75 201568+ b W95 FAT32

6、fdisk 的退出,用 q 或者 w;

其中 q 是 不儲存退出,w 是儲存退出;

Command (m for help): w

Command (m for help): q

7、一個新增分割槽的例子;

本例中我們會新增兩個 200M 的主分割槽,其它為擴充套件分割槽,在擴充套件分割槽中我們新增兩個 200M

大小的邏輯分割槽;

Command (m for help): p 注:列出分割槽表;

Disk /dev/sda: 1035 MB, 1035730944 bytes

256 heads, 63 sectors/track, 125 cylinders

Units = cylinders of 16128 * 512 = 8257536 bytes

Device Boot Start End Blocks Id System

Command (m for help): n 注:新增分割槽;

Command action

e extended

p primary partition (1-4)

p 注:新增主分割槽;

Partition number (1-4): 1 注:新增主分割槽 1;

First cylinder (1-125, default 1): 注:直接回車,主分割槽 1 的起始位置;預設為 1,默

認就好;

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-125, default 125): +200M 注:指定

分割槽大小,用+200M 來指定大小為 200M

Command (m for help): n 注:新增新分割槽;

Command action

e extended

p primary partition (1-4)

p 注:新增主分割槽

Partition number (1-4): 2 注:新增主分割槽 2;

First cylinder (26-125, default 26):

Using default value 26

Last cylinder or +size or +sizeM or +sizeK (26-125, default 125): +200M 注:指定

分割槽大小,用+200M 來指定大小為 200M

Command (m for help): n

Command action

e extended

p primary partition (1-4)

e 注:新增擴充套件分割槽;

Partition number (1-4): 3 注:指定為 3 ,因為主分割槽已經分了兩個了,這個也算主分

區,從 3 開始;

First cylinder (51-125, default 51): 注:直接回車;

Using default value 51

Last cylinder or +size or +sizeM or +sizeK (51-125, default 125): 注:直接回車,

把其餘的所有空間都給擴充套件分割槽;

Using default value 125

Command (m for help): p

Disk /dev/sda: 1035 MB, 1035730944 bytes

256 heads, 63 sectors/track, 125 cylinders

Units = cylinders of 16128 * 512 = 8257536 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 25 201568+ 83 Linux

/dev/sda2 26 50 201600 83 Linux

/dev/sda3 51 125 604800 5 Extended

Command (m for help): n

Command action

l logical (5 or over)

p primary partition (1-4)

l 注:新增邏輯分割槽;

First cylinder (51-125, default 51):

Using default value 51

Last cylinder or +size or +sizeM or +sizeK (51-125, default 125): +200M 注:新增

一個大小為 200M 大小的分割槽;

Command (m for help): n

Command action

l logical (5 or over)

p primary partition (1-4)

l 注:新增一個邏輯分割槽;

First cylinder (76-125, default 76):

Using default value 76

Last cylinder or +size or +sizeM or +sizeK (76-125, default 125): +200M 注:新增

一個大小為 200M 大小的分割槽;

Command (m for help): p 列出分割槽表;

Disk /dev/sda: 1035 MB, 1035730944 bytes

256 heads, 63 sectors/track, 125 cylinders

Units = cylinders of 16128 * 512 = 8257536 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 25 201568+ 83 Linux

/dev/sda2 26 50 201600 83 Linux

/dev/sda3 51 125 604800 5 Extended

/dev/sda5 51 75 201568+ 83 Linux

/dev/sda6 76 100 201568+ 83 Linux

然後我們根據前面所說通過 t 指令來改變分割槽型別;

最後不要忘記 w 儲存退出;

五、對分割槽進行格式化,以及載入;

先提示一下;用 mkfs.bfs mkfs.ext2 mkfs.jfs mkfs.msdos mkfs.vfatmkfs.cramfs

mkfs.ext3 mkfs.minix mkfs.reiserfs mkfs.xfs 等命令來格式化分割槽,比如我想格式化

sda6 為 ext3 檔案系統,則輸入;

[[email protected] beinan]# mkfs.ext3 /dev/sda6

如果我想載入 sda6 到目前系統來存取檔案,應該有 mount 命令,但首先您得建一個掛載目

錄;比如 /mnt/sda6 ;

[[email protected] beinan]# mkdir /mnt/sda6

[[email protected] beinan]# mount /dev/sda6 /mnt/sda6

[[email protected] beinan]# df -lh

Filesystem 容量 已用 可用 已用% 掛載點

/dev/hda8 11G 8.4G 2.0G 81% /

/dev/shm 236M 0 236M 0% /dev/shm

/dev/hda10 16G 6.9G 8.3G 46% /mnt/hda10

/dev/sda6 191M 5.6M 176M 4% /mnt/sda6

這樣我們就能進入 /mnt/sda6 目錄,然後存取檔案了