zoukankan      html  css  js  c++  java
  • Linux分区工具-parted

    parted用于操纵磁盘分区的程序,通常用于规则大小超过2T的分区,也可用于小分区的规划;它支持多种分区表格式,包括MS-DOS(MBR)和GPT;这对于为新操作系统创建空间,重新组织磁盘使用以及将数据复制到新硬盘非常有用;parted命令的操作都是实时生效的,每操作一步都应小心

    parted具有两种模式:命令行和交互式

    在交互式模式下,一次输入一个命令(支持命令补全),然后立即修改磁盘

    可使用"-s"选项禁用交互式

    parted的所有操作都是实时生效的

    MBR和GPT互不兼容,也不能相互转换

    用法:parted [OPTIONs] [DEVICE [COMMANDs [PARAMETER...]...]]

    交互式模式:parted [DEVICE]

    命令行模式:parted [OPTIONs] DEVICE COMMANDs PARAMETER

    选项:

    -l, --list:列出所有块设备上的所有分区布局

    -s, --script:避免和用户交互;即关闭交互式

    子命令:支持缩写,不区分大小写(在2.4版本之后,删除了以下命令:check, cp, mkfs, mkpartfs, move, resize)

    命令行COMMAND

    print [devices|free|list|all|]:显示分区表;包括可用设备、可用空间、所有找到的分区或特定的划分

    unit UNIT:设置默认单位

    UNIT

    s:扇区(n个字节,取决于扇区大小,通常为512)

    B:字节

    KiB:千字节(1024字节)

    MiB:兆字节(1048576字节)

    GiB:gibibyte(1073741824字节)

    TiB:tebibyte(1099511627776字节)

    kB:千字节(1000字节)

    MB:兆字节(1000000字节)

    GB:千兆字节(1000000000字节)

    TB:兆字节(1000000000000字节)

    %:设备的百分比(0到100之间)

    cyl:柱面(与BIOS CHS几何相关)

    chs:柱面,磁头,扇区寻址(与BIOS CHS几何相关)

    compact:这是一个特殊的单位,默认输入为兆字节,并且选择一个单位,以紧凑的可读格式表示输出

    mklabel, mktable LABEL_TYPE:创建一个新的分区表

    LABEL_TYPE:

    "aix", "amiga", "bsd", "dvh", "gpt", "loop", "mac", "msdos", "pc98", "sun"

    mkpart PART_TYPE [NAME] [FILESYSTEM_TYPE] START END[UNIT]:创建一个新分区(可以指明文件系统),指明起始位置(默认单位为M)

    PART_TYPE

    "primary", "extended", "logical"

    FILESYSTEM_TYPE

    "btrfs", "ext2", "ext3", "ext4", "fat16", "fat32", "hfs", "hfs+", "linux-swap", "ntfs", "reiserfs", "xfs"

    START,END:指定分区开始/结束位置(距磁盘开头的偏移量);其值可以是整数或小数,后缀选择UNIT

    支持的UNIT:"s" (sectors), "B" (bytes), "kB", "MB", "MiB", "GB", "GiB", "TB", "TiB", "%" (percentage of device size), "compact", “-1s” 指向磁盘的最后一个扇区(负数从磁盘末尾算起)

    注意:parted命令不会修改/etc/fstab文件;创建完分区后,需手动修改/etc/fstab文件

    resizepart PART_NUMBER END:修改分区结束位置;即修改分区大小(不会修改分区中存在的任何文件系统)

    rm PART_NUMBER:删除分区

    有关msdos磁盘标签的注意事项:如果删除逻辑分区,则具有更大分区号的所有逻辑分区将被重新编号;例如,如果删除分区号为6的逻辑分区,则编号为7、8和9的逻辑分区将分别重新编号为6、7和8;例如,这意味着您必须更新/etc/fstab文件

    set PART_NUMBER TYPE STATUS:设置分区类型和状态

    disk_set TYPE STATUS:更改分区类型和状态

    TYPE

    "boot", "root", "swap", "hidden", "raid", "lvm", "lba", "legacy_boot", "palo"

    STATUS

    "on", "off"

    toggle PART TYPE:切换分区类型(追加)

    TYPE

    root:Linux根文件系统;如果分区是Linux要使用的根设备,则应启用此TYPE(Mac)

    swap:Linux swap(Mac)

    legacy_boot:用于告知专用软件此GPT分区可以引导(GPT)

    boot:从此分区引导(Mac, MS-DOS, PC98)

    bios_grub:启用它以记录所选分区是GRUB BIOS分区(GPT)

    raid:软RAID(MS-DOS)

    LVM:LVM PV(MS-DOS)

    msftdata:用于标识包含Microsoft文件系统(NTFS或FAT)的分区(GPT)

    msftres:用于标识Windows所使用的“Microsoft保留分区”,请注意,通常不应在Windows文件系统分区(包含NTFS或FAT文件系统的分区)上设置此标志(MS-DOS,GPT)

    irst:标识英特尔快速启动技术分区(MS-DOS, GPT)

    esp:标识UEFI系统分区;在GPT上,它是引导的别名(MS-DOS, GPT)

    hidden:标识以从Microsoft操作系统隐藏分区(MS-DOS, PC98)

    DIAG:启用它可以指示一个分区可以用作诊断/恢复分区(MS-DOS)

    name PART_NUMBER NAME: 设置/更改分区名称;此COMMAND仅适用于Mac、PC98和GPT分区表,名称请用引号引起来

    rescue START END:救援丢失的分区,该分区位于START和END之间;如果找到分区,则分开将会询问您是否要在分区表中为其创建一个条目。

    交互式COMMAND:在交互模式下,一次输入一个命令(支持命令补全),然后立即修改磁盘

    进入交互式:parted [DEVICE]

    DEVICE:指明要操作的块设备;默认为第一个

    select DEVICE:选择指定块设备作为当前要操作的设备(默认为/dev/sda);设备通常应该是Linux硬盘设备,也可以是分区、软RAID设备、LVM逻辑卷

    unit UNIT:设置默认单位

    UNIT

    "s" (sectors), "B" (bytes), "kB", "MB", "MiB", "GB", "GiB", "TB", "TiB", "%" (percentage of device size), "cyl" (cylinders), "chs" (cylinders, heads, sectors), "compact"

    s:扇区(n个字节,取决于扇区大小,通常为512)

    q, qu, qui, quit:退出交互式parted;只有在Parted退出后,Linux内核才能知道Parted对磁盘所做的更改

    help [COMMAND]:显示某COMMAND的帮助信息;在交互式模式下使用

    parted命令示例

    创建一个MBR分区表

    # parted -s /dev/sdb mklabel msdos

    创建一个GPT分区表

    # parted -s /dev/sdb mklabel gpt

    在分区表上创建一个分区并创建文件系统

    # parted -s /dev/sdb mkpart primary ext4 0.0 100%

    创建一个gpt分区,将硬盘所有空间都分给这个分区,文件系统为ext4

    # parted -s /dev/sdb mklabel gpt mkpart primary ext4 0.0 100%

    激活分区

    # parted -s /dev/sdb set 1 boot on

    设置分区名称

    # parted /dev/sdb name 1 'DATA_DISK'

    删除分区

    # parted /dev/sdb rm 1

    查看可用分区

    # parted /dev/sdb print devices

  • 相关阅读:
    设计模式之工厂模式(Factory Pattern)用C++实现
    读书笔记之Effective C++ 1.让自己习惯C++
    LeetCode之RemoveDuplicates扩展
    一致性哈希(Consistent Hashing)原理和实现(整理)
    LeetCode之Remove Duplicates from Sorted Array
    C++小结
    HTTP、HTTP1.0、HTTP1.1、HTTP2.0——笔记
    《趣谈网络协议》——问答笔记
    技术源于生活(头脑风暴)
    解决:未能加载文件或程序集“System.Web.Http, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
  • 原文地址:https://www.cnblogs.com/zhangdaifu/p/12325311.html
Copyright © 2011-2022 走看看