fdisk
查看磁盤使用情況和磁盤分區
補充說明
fdisk命令 用於觀察硬盤實體使用情況,也可對硬盤分區。它採用傳統的問答式界面,而非類似DOS fdisk的cfdisk互動式操作界面,因此在使用上較爲不便,但功能卻絲毫不打折扣。
語法
1fdisk [選項] <磁盤> 更改分區表
2fdisk [選項] -l [<磁盤>...] 列出分區表
選項
1
2選項:
3 -b, --sectors-size <大小> 顯示扇區計數和大小
4 -B, --protect-boot 創建新標籤時不要擦除 bootbits
5 -c, --compatibility[=<模式>] 模式,爲“dos”或“nondos”(默認)
6 -L, --color[=<時機>] 彩色輸出(auto, always 或 never)默認啓用顏色
7 -l, --list 顯示分區並退出
8 -x, --list-details 類似 --list 但提供更多細節
9 -n, --noauto-pt 不要在空設備上創建默認分區表
10 -o, --output <列表> 輸出列
11 -t, --type <類型> 只識別指定的分區表類型
12 -u, --units[=<單位>] 顯示單位,“cylinders”柱面或“sectors”扇區(默認)
13 -s, --getsz 以 512-字節扇區顯示設備大小[已廢棄]
14 -b, --bytes 以字節爲單位而非易讀的格式來打印 SIZE
15 --lock[=<模式>] 使用獨佔設備鎖(yes、no 或 nonblock)
16 -w, --wipe <模式> 擦除簽名(auto, always 或 never)
17 -W, --wipe-partitions <模式> 擦除新分區的簽名(auto, always 或 never)
18
19 -C, --cylinders <數字> 指定柱面數
20 -H, --heads <數字> 指定磁頭數
21 -S, --sectors <數字> 指定每條磁道的扇區數
22
23 -h, --help 顯示此幫助
24 -V, --version 顯示版本
參數
設備文件:指定要進行分區或者顯示分區的硬盤設備文件。
實例
首先選擇要進行操作的磁盤:
1[root@localhost ~]# fdisk /dev/sdb
輸入m
列出可以執行的命令:
1command (m for help): m
2Command action
3 a toggle a bootable flag
4 b edit bsd disklabel
5 c toggle the dos compatibility flag
6 d delete a partition
7 l list known partition types
8 m print this menu
9 n add a new partition
10 o create a new empty DOS partition table
11 p print the partition table
12 q quit without saving changes
13 s create a new empty Sun disklabel
14 t change a partition's system id
15 u change display/entry units
16 v verify the partition table
17 w write table to disk and exit
18 x extra functionality (experts only)
輸入p
列出磁盤目前的分區情況:
1Command (m for help): p
2
3Disk /dev/sdb: 3221 MB, 3221225472 bytes
4255 heads, 63 sectors/track, 391 cylinders
5Units = cylinders of 16065 * 512 = 8225280 bytes
6
7 Device Boot Start End Blocks Id System
8/dev/sdb1 1 1 8001 8e Linux LVM
9/dev/sdb2 2 26 200812+ 83 Linux
輸入d
然後選擇分區,刪除現有分區:
1Command (m for help): d
2Partition number (1-4): 1
3
4Command (m for help): d
5Selected partition 2
查看分區情況,確認分區已經刪除:
1Command (m for help): print
2
3Disk /dev/sdb: 3221 MB, 3221225472 bytes
4255 heads, 63 sectors/track, 391 cylinders
5Units = cylinders of 16065 * 512 = 8225280 bytes
6
7 Device Boot Start End Blocks Id System
8
9Command (m for help):
輸入n
建立新的磁盤分區,首先建立兩個主磁盤分區:
1Command (m for help): n
2Command action
3 e extended
4 p primary partition (1-4)
5p //建立主分區
6Partition number (1-4): 1 //分區號
7First cylinder (1-391, default 1): //分區起始位置
8Using default value 1
9last cylinder or +size or +sizeM or +sizeK (1-391, default 391): 100 //分區結束位置,單位爲扇區
10
11Command (m for help): n //再建立一個分區
12Command action
13 e extended
14 p primary partition (1-4)
15p
16Partition number (1-4): 2 //分區號爲2
17First cylinder (101-391, default 101):
18Using default value 101
19Last cylinder or +size or +sizeM or +sizeK (101-391, default 391): +200M //分區結束位置,單位爲M
確認分區建立成功:
1Command (m for help): p
2
3Disk /dev/sdb: 3221 MB, 3221225472 bytes
4255 heads, 63 sectors/track, 391 cylinders
5Units = cylinders of 16065 * 512 = 8225280 bytes
6
7 Device Boot Start End Blocks Id System
8/dev/sdb1 1 100 803218+ 83 Linux
9/dev/sdb2 101 125 200812+ 83 Linux
再建立一個邏輯分區:
1Command (m for help): n
2Command action
3 e extended
4 p primary partition (1-4)
5e //選擇擴展分區
6Partition number (1-4): 3
7First cylinder (126-391, default 126):
8Using default value 126
9Last cylinder or +size or +sizeM or +sizeK (126-391, default 391):
10Using default value 391
確認擴展分區建立成功:
1Command (m for help): p
2
3Disk /dev/sdb: 3221 MB, 3221225472 bytes
4255 heads, 63 sectors/track, 391 cylinders
5Units = cylinders of 16065 * 512 = 8225280 bytes
6
7 Device Boot Start End Blocks Id System
8/dev/sdb1 1 100 803218+ 83 Linux
9/dev/sdb2 101 125 200812+ 83 Linux
10/dev/sdb3 126 391 2136645 5 Extended
在擴展分區上建立兩個邏輯分區:
1Command (m for help): n
2Command action
3 l logical (5 or over)
4 p primary partition (1-4)
5l //選擇邏輯分區
6First cylinder (126-391, default 126):
7Using default value 126
8Last cylinder or +size or +sizeM or +sizeK (126-391, default 391): +400M
9
10Command (m for help): n
11Command action
12 l logical (5 or over)
13 p primary partition (1-4)
14l
15First cylinder (176-391, default 176):
16Using default value 176
17Last cylinder or +size or +sizeM or +sizeK (176-391, default 391):
18Using default value 391
確認邏輯分區建立成功:
1Command (m for help): p
2
3Disk /dev/sdb: 3221 MB, 3221225472 bytes
4255 heads, 63 sectors/track, 391 cylinders
5Units = cylinders of 16065 * 512 = 8225280 bytes
6
7 Device Boot Start End Blocks Id System
8/dev/sdb1 1 100 803218+ 83 Linux
9/dev/sdb2 101 125 200812+ 83 Linux
10/dev/sdb3 126 391 2136645 5 Extended
11/dev/sdb5 126 175 401593+ 83 Linux
12/dev/sdb6 176 391 1734988+ 83 Linux
13
14Command (m for help):
從上面的結果我們可以看到,在硬盤sdb我們建立了2個主分區(sdb1,sdb2),1個擴展分區(sdb3),2個邏輯分區(sdb5,sdb6)
注意:主分區和擴展分區的磁盤號位1-4,也就是說最多有4個主分區或者擴展分區,邏輯分區開始的磁盤號爲5,因此在這個實驗中試沒有sdb4的。
最後對分區操作進行保存:
1Command (m for help): w
2The partition table has been altered!
3
4Calling ioctl() to re-read partition table.
5Syncing disks.
建立好分區之後我們還需要對分區進行格式化才能在系統中使用磁盤。
在sdb1上建立ext2分區:
1[root@localhost ~]# mkfs.ext2 /dev/sdb1
2mke2fs 1.39 (29-May-2006)
3Filesystem label=
4OS type: Linux
5Block size=4096 (log=2)
6Fragment size=4096 (log=2)
7100576 inodes, 200804 blocks
810040 blocks (5.00%) reserved for the super user
9First data block=0
10Maximum filesystem blocks=209715200
117 block groups
1232768 blocks per group, 32768 fragments per group
1314368 inodes per group
14Superblock backups stored on blocks:
15 32768, 98304, 163840
16
17Writing inode tables: done
18Writing superblocks and filesystem accounting information: done
19
20This filesystem will be automatically checked every 32 mounts or
21180 days, whichever comes first. Use tune2fs -c or -i to override.
在sdb6上建立ext3分區:
1[root@localhost ~]# mkfs.ext3 /dev/sdb6
2mke2fs 1.39 (29-May-2006)
3Filesystem label=
4OS type: Linux
5Block size=4096 (log=2)
6Fragment size=4096 (log=2)
7217280 inodes, 433747 blocks
821687 blocks (5.00%) reserved for the super user
9First data block=0
10Maximum filesystem blocks=444596224
1114 block groups
1232768 blocks per group, 32768 fragments per group
1315520 inodes per group
14Superblock backups stored on blocks:
15 32768, 98304, 163840, 229376, 294912
16
17Writing inode tables: done
18Creating journal (8192 blocks): done
19Writing superblocks and filesystem accounting information: done
20
21This filesystem will be automatically checked every 32 mounts or
22180 days, whichever comes first. Use tune2fs -c or -i to override.
23[root@localhost ~]#
建立兩個目錄/oracle
和/web
,將新建好的兩個分區掛載到系統:
1[root@localhost ~]# mkdir /oracle
2[root@localhost ~]# mkdir /web
3[root@localhost ~]# mount /dev/sdb1 /oracle
4[root@localhost ~]# mount /dev/sdb6 /web
查看分區掛載情況:
1[root@localhost ~]# df -h
2文件系統 容量 已用 可用 已用% 掛載點
3/dev/mapper/VolGroup00-LogVol00
4 6.7G 2.8G 3.6G 44% /
5/dev/sda1 99M 12M 82M 13% /boot
6tmpfs 125M 0 125M 0% /dev/shm
7/dev/sdb1 773M 808K 733M 1% /oracle
8/dev/sdb6 1.7G 35M 1.6G 3% /web
如果需要每次開機自動掛載則需要修改/etc/fstab
文件,加入兩行配置:
1[root@localhost ~]# vim /etc/fstab
2
3/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
4LABEL=/boot /boot ext3 defaults 1 2
5tmpfs /dev/shm tmpfs defaults 0 0
6devpts /dev/pts devpts gid=5,mode=620 0 0
7sysfs /sys sysfs defaults 0 0
8proc /proc proc defaults 0 0
9/dev/VolGroup00/LogVol01 swap swap defaults 0 0
10/dev/sdb1 /oracle ext2 defaults 0 0
11/dev/sdb6 /web ext3 defaults 0 0
來源:https://github.com/jaywcjlove/linux-command
最後修改於: Wednesday, January 31, 2024
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。