fdisk 和 parted 分区工具

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

  

原文地址:https://www.cnblogs.com/huyuanblog/p/10120460.html