蚊章汇 - parted
type: channel
link: https://linuxcn.bwsl.wang/tag/parted/
items: 在 Linux 上使用 GNU Parted 对磁盘分区
items: 如何在 Linux 中使用 parted 对磁盘分区
items: 怎样用 parted 管理硬盘分区
items: 如何在 Linux 中添加一块大于 2TB 的新磁盘

在 Linux 上使用 GNU Parted 对磁盘分区
type: item
date: 2022-04-13T00:20:45+08:00
description: 了解对新的储存设备分区的基础知识，然后下载我们的速查表，让信息近在咫尺。在 21 世纪，我们往往认为数据存储是理所当然的。我们有许多存储介质，相对价格便宜，而且有许多不同的可用类型。然而，不论你获得的免费云存储空间有多少，没有比有一个物理硬盘空间来存储重要的数据更好了（或容量真的很大的，而当你又在一个慢速网络上时）。然而，没有几块硬盘买回来就是现成的，至少在理想的状况下可以直接使用的。无论你是买了一块新硬盘，还用不同分区安装一个系统，你需要知道怎么在 Linux 上为磁盘分区。这篇文章介绍了 GNU Parted ，它磁盘分区最好的工具之一。如果你偏向使用图形化程序，而不算终端命令行，请阅读我的《为 Linux 格式化驱动器》这篇文章。磁盘标签、分区和文件系统技术上来说，一个硬盘驱动器不需要很多软件，就可用作存储设备。然而，在没有分区表和文件系统等现代惯例的情况下使用硬盘是困难的、不切实际的，而且对你的数据不安全。关于硬盘驱动器，这里有三个你需要知道的重要概念： 磁盘标签 disk label （或者 分区表 partition table ）是放置在磁盘驱动器起始位置的元数据，它告诉计算机可用的存储是何种类型、以及它在磁盘驱动器的位置等信息。 分区 partition 是一个识别文件系统位置的边界。举个例子，如果你有一个 512GB 的硬盘，你可以用占用所有磁盘容量（512GB）分成一个分区，或者分成两个分区，每个占用 256GB ，或者分成三个分区，占用各种不同大小的空间等等。 文件系统 filesystem 是一个硬盘驱动器和计算机两者约定俗成的存储方案。计算机必须知道怎样读取文件系统来拼凑存储在驱动器上的数据，并且必须知道怎样写入数据到文件系统并保持数据的完整性。GNU Parted 程序管理着前两个概念：磁盘标签和分区。Parted 对文件系统有所了解，但是它把文件系统的实现细节交给了其他类似 mkfs 这样的工具。下载 GNU Parted 速查表确定磁盘驱动器的位置使用 GNU Parted 之前，你必须确定你的驱动器在你的系统上的位置。首先，将你要格式化的磁盘驱动器连接到你的系统，然后用 parted 命令查看连接到你的计算机的设备：$ parted /dev/sda print devices /dev/sda (2000GB) /dev/sdb (1000GB) /dev/sdc (1940MB) 你最新连接设备的名称在字母表上晚于连接时间更长的设备。举个例子，/dev/sdc 最有可能是我刚刚连接的磁盘。我能通过它的容量大小来确认，相比于我的工作站上的主要驱动器的 TB 大小来说，因为我知道我插入的 U 盘只有 2GB（1940MB，足够接近）大小。如果你不能确定，你可以得到的更多关于你想要分区的驱动器的信息：$ parted /dev/sdc print Model: Yoyodyne Tiny Drive 1.0 (scsi) Disk /dev/sdc: 1940MB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size File system Name Flags 1 1049kB 2048kB 1024kB BS Bloat Hidden 2 2049kB 1939MB 1937MB FAT32 MyDrive 有些驱动器比其他驱动器有更多的元数据。这个磁盘表明它的物理驱动器品牌是 Yoyodyne ，此外，在磁盘的起始处包含了一个小的隐藏分区，后面是一个兼容 Windows 的臃肿的 FAT32 分区。这确实是我要重新打算格式化的驱动器。继续之前，确认 你已经确定了要分区的正确驱动器。 对错误的驱动器重新分区会导致数据丢失。 为了安全起见，在本文中所有具有潜在破环性的命令都指向在你的系统中不太可能有的 /dev/sdX 设备。创建磁盘标签（或者分区表）要在磁盘上创建一个分区，驱动器必须要有一个 磁盘标签 disk label 。磁盘标签也被叫做 分区表 partition table ，所以 Parted 对两个术语都接受。要创建一个磁盘卷标，使用 mklabel 或 mktable 子命令:$ parted /dev/sdX mklabel gpt 这个命令在 /dev/sdX 的驱动器前面创建了一个 gpt 标签，删除了任何可能存在的标签。这是一个快速的过程，因为所有被替换的信息都是关于分区的元数据。创建分区要在磁盘创建分区，使用 mkpart 子命令，后跟可选的分区名称，再跟分区的开始和结束位置。如果你在磁盘上只需要一个分区，那么大小调整是容易的…

如何在 Linux 中使用 parted 对磁盘分区
type: item
date: 2018-06-23T07:38:51+08:00
description: 学习如何在 Linux 中使用 parted 命令来对存储设备分区。在 Linux 中创建和删除分区是一种常见的操作，因为存储设备（如硬盘驱动器和 USB 驱动器）在使用之前必须以某种方式进行结构化。在大多数情况下，大型存储设备被分为称为 分区 partition 的独立部分。分区操作允许您将硬盘分割成独立的部分，每个部分都像是一个硬盘驱动器一样。如果您运行多个操作系统，那么分区是非常有用的。在 Linux 中有许多强大的工具可以创建、删除和操作磁盘分区。在本文中，我将解释如何使用 parted 命令，这对于大型磁盘设备和许多磁盘分区尤其有用。parted 与更常见的 fdisk 和 cfdisk 命令之间的区别包括:GPT 格式：parted 命令可以创建全局惟一的标识符分区表 GPT，而 fdisk 和 cfdisk 则仅限于 DOS 分区表。更大的磁盘： DOS 分区表可以格式化最多 2TB 的磁盘空间，尽管在某些情况下最多可以达到 16TB。然而，一个 GPT 分区表可以处理最多 8ZiB 的空间。更多的分区： 使用主分区和扩展分区，DOS 分区表只允许 16 个分区。在 GPT 中，默认情况下您可以得到 128 个分区，并且可以选择更多的分区。可靠性： 在 DOS 分区表中，只保存了一份分区表备份，在 GPT 中保留了两份分区表的备份（在磁盘的起始和结束部分），同时 GPT 还使用了 CRC 校验和来检查分区表的完整性，在 DOS 分区中并没有实现。由于现在的磁盘更大，需要更灵活地使用它们，建议使用 parted 来处理磁盘分区。大多数时候，磁盘分区表是作为操作系统安装过程的一部分创建的。在向现有系统添加存储设备时，直接使用 parted 命令非常有用。尝试一下 parted下面解释了使用 parted 命令对存储设备进行分区的过程。为了尝试这些步骤，我强烈建议使用一块全新的存储设备或一种您不介意将其内容删除的设备。1、列出分区使用 parted -l 来标识你要进行分区的设备。一般来说，第一个硬盘 （/dev/sda 或 /dev/vda ）保存着操作系统， 因此要寻找另一个磁盘，以找到你想要分区的磁盘 (例如，/dev/sdb、/dev/sdc、 /dev/vdb、/dev/vdc 等)。$ sudo parted -l [sudo] password for daniel: Model: ATA RevuAhn_850X1TU5 (scsi) Disk /dev/vdc: 512GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 525MB 524MB primary ext4 boot 2 525MB 512GB 512GB primary lvm 2、打开存储设备使用 parted 选中您要分区的设备。在这里例子中，是虚拟系统上的第三个磁盘（/dev/vdc）。指明你要使用哪一个设备非常重要。 如果你仅仅输入了 parted 命令而没有指定设备名字， 它会随机选择一个设备进行操作。$ sudo parted /dev/vdc GNU Parted 3.2 Using /dev/vdc Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) 3、 设定分区表设置分区表为 GPT ，然后输入 Yes 开始执行。(parted) mklabel gpt Warning: the existing disk label on /dev/vdc will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No? Yes mklabel 和 mktable 命令用于相同的目的（在存储设备上创建分区表）。支持的分区表有：aix、amiga、bsd、dvh、gpt、mac、ms-dos、pc98、sun 和 loop。记住 mklabel 不会创建一个分区，而是创建一个分区表。4、 检查分区表查看存储设备信息:(parted) print Model: Virtio Block Device (virtblk) Disk /dev/vdc: 1396MB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Numbe…

怎样用 parted 管理硬盘分区
type: item
date: 2018-04-11T07:51:07+08:00
description: 众所周知，对硬盘分区是 Linux 管理员一项最重要的管理任务之一，他们不能不知道这个。在最糟糕的时候，你至少每周会收到一次依赖小组的请求，而在更大的环境里会更加频繁 。你可能会问为什么我们要用 parted 而不是 fdisk？ 它们有什么区别？好问题，我会告诉你这两者的区别。parted 支持用户在大于 2TB 的硬盘上创建硬盘分区， 但 fdisk 命令不支持对比 fdisk 来说，parted 是一个更高级的工具支持更多的分区表类型，包括 GPT （LCTT 译注：全局唯一标识分区表）它允许用户调整分区大小， 但当缩减分区空间的时候，它没有如我意料的工作，多数情况下我会得到错误消息。所以我会建议用户不要用 parted 来缩减分区大小。什么是 partedparted 是一个操作硬盘分区的程序。它支持多种分区表类型，包括 MS-DOS 和 GPT。它允许用户创建、删除、调整、缩减、移动和复制分区，以及重新组织硬盘的使用，复制数据到新的硬盘上。gparted 是 parted 的图形界面前端。怎样安装 parted大部分发行版已经预安装了 parted。如果没有，用下列命令来安装 parted。对于 Debian/Ubuntu 用户, 使用 APT-GET 命令 或者 APT 命令 来安装 parted。$ sudo apt install parted 对于 RHEL/CentOS 用户，用 YUM 命令 来安装 parted。$ sudo yum install parted 对于 Fedora 用户，用 DNF 命令 来安装 parted。$ sudo dnf install parted 对于 Arch Linux 用户，用 Pacman 命令来安装 parted。$ sudo pacman -S parted 对于 openSUSE 用户， 用 Zypper 命令来安装 parted。$ sudo zypper in parted 怎样启动 parted下面的 parted 命令会自动选择 /dev/sda ，因为这是系统的第一个硬盘。$ sudo parted GNU parted 3.2 Using /dev/sda Welcome to GNU parted! Type 'help' to view a list of commands. (parted) 同时我们也可以用下面的命令来重新选择对应的的硬盘。(parted) select /dev/sdb Using /dev/sdb (parted) 如果你想选择特定的硬盘, 用下列的格式来输入命令。 这次 ，我们将选择 /dev/sdb。$ sudo parted [Device Name] $ sudo parted /dev/sdb GNU parted 3.2 Using /dev/sdb Welcome to GNU parted! Type 'help' to view a list of commands. (parted) 怎样用 parted 列出所有可用的硬盘如果你不知道你的电脑上有什么硬盘，只需要运行下列命令，该命令会显示所有可用硬盘的名字，以及其它的有用信息比如储存空间、型号、扇区大小、硬盘标志以及分区信息。$ sudo parted -l Model: ATA VBOX HARDDISK (scsi) Disk /dev/sda: 32.2GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 32.2GB 32.2GB primary ext4 boot Error: /dev/sdb: unrecognised disk label Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 53.7GB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags: 上面的错误信息清晰地显示出硬盘 /dev/sdb 没有有效的 磁盘标签 disk label 。 它不会自动得到磁盘标签，所以， 我们便要自己设置硬盘标签。怎样用 parted 创建硬盘分区parted 允许用户创建主分区或者拓展分区。创建这两种类型的分区的步骤还是一样，但请确保你已经指定了需要的分区类型，比如 primary （主分区）或者 extended （扩展分区）。为了演示这项操作 ，我们安装了一个新的 50 GB …

如何在 Linux 中添加一块大于 2TB 的新磁盘
type: item
date: 2017-04-14T01:00:43+08:00
description: 你有没有试过使用 fdisk 对大于 2TB 的硬盘进行分区，并且纳闷为什么会得到需要使用 GPT 的警告？ 是的，你看到的没错。我们无法使用 fdisk 对大于 2TB 的硬盘进行分区。在这种情况下，我们可以使用 parted 命令。它的主要区别在于 fdisk 使用 DOS 分区表格式而 parted 使用 GPT 格式。提示：你可以使用 gdisk 来代替 parted。在本文中，我们将介绍如何将大于 2TB 的新磁盘添加到现有的 Linux 服务器中（如 RHEL/CentOS 或 Debian/Ubuntu）中。我使用的是 fdisk 和 parted 来进行此配置。首先使用 fdisk 命令列出当前的分区详细信息，如图所示。# fdisk -l 列出 Linux 分区表为了本文的目的，我加了一块 20GB 的磁盘，这也可以是大于 2TB 的磁盘。在你加完磁盘后，使用相同的 fdisk 命令验证分区表。# fdisk -l 列出新的分区表提示：如果你添加了一块物理磁盘，你可能会发现分区已经创建了。此种情况下，你可以在使用 parted 之前使用 fdisk 删除它。# fdisk /dev/xvdd 在命令中使用 d 开关删除分区，使用 w 保存更改并退出。删除 Linux 分区重要：在删除分区时你需要小心点。这会擦除磁盘上的数据。现在是使用 parted 命令分区新的磁盘了。# parted /dev/xvdd 将分区表格式化成 GPT(parted) mklabel gpt 创建主分区并分配磁盘容量，这里我使用 20GB （在你这里可能是 2TB）。(parted) mkpart primary 0GB 20GB 使用 parted 创建分区出于好奇，让我们用 fdisk 看看新的分区。# fdisk /dev/xvdd 验证分区细节现在格式化并挂载分区，并在 /etc/fstab 添加相同的信息，它控制在系统启动时挂载文件系统。# mkfs.ext4 /dev/xvdd1 格式化 Linux 分区一旦分区格式化之后，是时候在 /data1 下挂载分区了。# mount /dev/xvdd1 /data1 要永久挂载，在 /etc/fstab 添加条目。/dev/xvdd1 /data1 ext4 defaults 0 0 重要：要使用 GPT 分区格式需要内核支持。默认上 RHEL/CentOS 的内核已经支持 GPT，但是对于 Debian/Ubuntu，你需要在修改配置之后重新编译内核。就是这样了！在本文中，我们向你展示了如何使用 parted 命令。与我们分享你的评论和反馈。作者简介：我在包括 IBM-AIX、Solaris、HP-UX 以及 ONTAP 和 OneFS 存储技术的不同平台上工作，并掌握 Oracle 数据库。via: http://www.tecmint.com/add-disk-larger-than-2tb-to-an-existing-linux/作者：Lakshmi Dhandapani 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出