fdisk 和 parted:
fdisk 是用來對 Linux 下的 MBR 分區進行操作的一款分區工具, 由於 MBR 的設計缺陷導致 MBR 不能處理大於 2TB 的硬盤, 並且主分區個數不能超過 4 個 由於 MBR 的設計缺陷所以后來誕生了 GBT 分區, 而在 Linux 下對 GPT 分區進行操作的工具叫做 parted
fdisk:
選項: -h # 查看幫助信息 -l # 查看系統硬盤設備信息 # 對指定的硬盤進行操作, 進入 fdisk 的交互式命令行 fdisk /dev/sdb # 交互式命令行 m # 打印幫助信息 p # 打印分區信息 l # 打印支持的分區類型和編號 t # 修改分區類型 n # 新建分區 d # 刪除指定分區(指定 Device Boot 值, 使用 p 查看) q # 退出 w # 保存修改並退出 # 新建分區 n Partition type: p # 創建主分區(MBR 格式一個盤最多支持存在4個主分區) e # 創建擴展分區 l # 創建邏輯分區(分區編號從 5 開始, 必須存在擴展分區才能創建邏輯分區) Select (default p): 選擇創建分區類型 Partition number (1-4, default 1): 指定分區編號(回車即可) First sector (2048-2097151, default 2048): 選擇開始扇區(回車即可) Last sector, +sectors or +size{K,M,G} (4096-2097151, default 2097151): 選擇結束扇區, 由於扇區不好確定大小, 所以可以采用 +size{K,M,G} 方式設置(如果要分配所有的硬盤空間 回車即可) # 修改分區類型 t /dev/sdb1 # 將硬盤設置為 LVM 格式 Hex code (type L to list all codes): 8e # 保存修改並退出 w 格式化分區: mkfs.ext4 /dev/sdb1 使用 shell 腳本在不進入交互式模式下分區: #!/bin/bash echo "n p 2 +100M w " | fdisk /dev/sdb &> /dev/null if [ ${?} -ne 0 ];then echo "分區失敗" else fdisk -l | grep /dev/sdb fi
parted:
選項: -l # 查看系統硬盤設備信息 -h # 查看幫助信息 -v # 輸出軟件版本 # 對指定的硬盤進行操作, 進入 parted 的交互式命令行 parted # 進入交互式命令行, 如果沒有給定設備則默認操作的設備為 /dev/sda parted /dev/sdb # 進入交互式命令行, 操作指定是設備 # 交互式命令行 help # 查看命令幫助 help [COMMAND] # 查看指定命令的詳細幫助信息 print # 打印分區詳細信息 字段說明: Number # 分區編號 Start # 分區起始點 End # 分區結尾點 Size # 分區大小 Type # 分區類型 File # 文件系統(格式化之后才會有) name # 分區名稱(gpt格式分區才有) Flags # 分區標志 align-check TYPE NUMBER # 對齊分區, TYPE(min|opt)(min 最小,opt 最優), NUMBER 分區編號 mklabel,mktable LABEL-TYPE # 創建一個新的 LABEL-TYPE 類型的空磁盤分區表, 這個操作會清空該分區的所有數據 LABEL-TYPE: aix, amiga, bsd, dvh, gpt, mac, msdos, pc98, sun, loop quit # 退出 parted 交互式命令行 version # 打印工具版本 mkpart # 創建一個新的分區(可以選擇交互式命令創建, 也可以使用非交互式創建) name NUMBER NAME # 修改指定分區的 name(gpt格式分區才有) resizepart NUMBER END # 修改分區結束位置 rm NUMBER # 刪除指定分區 select DEVICE # 切換正在操作的設備 toggle NUMBER FLAG # 設置指定分區的 flags FLAG: boot, root, swap, hidden, raid, lvm, lba, hp-service, palo, prep, msftres, bios_grub, atvrecv, diag, legacy_boot set NUMBER FLAG STATE # 設置指定分區的 flags 和 STATE STATE: on, off unit UNIT # 設置默認使用的大小單位 UNIT: s, B, kB, MB, GB, TB, compact, cyl, chs, %, kiB, MiB, GiB, TiB 示例: 在非交互式命令行界面進行分區操作 parted /dev/sdb mkpart primary 1 500 parted /dev/sdb p