fdisk 和 parted 分區工具

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
相關文章
相關標籤/搜索