fdisk 和 parted:python
fdisk 是用來對 Linux 下的 MBR 分區進行操做的一款分區工具, 因爲 MBR 的設計缺陷致使 MBR 不能處理大於 2TB 的硬盤, 而且主分區個數不能超過 4 個 因爲 MBR 的設計缺陷因此後來誕生了 GBT 分區, 而在 Linux 下對 GPT 分區進行操做的工具叫作 parted
fdisk:ios
選項: -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:shell
選項: -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