linux对磁盘进行分区
在Linux中创建和删除分区是一种常规做法,因为在使用存储设备(如硬盘驱动器和USB驱动器)之前,必须先对其进行某种结构化。 在大多数情况下,大型存储设备被分为称为partitions的单独部分。 分区还使您可以将硬盘驱动器划分为几个独立的部分,其中每个部分的行为均与其各自的硬盘驱动器相同。 如果您运行多个操作系统,分区特别有用。
在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
命令。
要尝试这些步骤,我强烈建议您使用一种全新的存储设备,或者在您不介意擦除内容的情况下使用。
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,然后键入“是”以接受它。
(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:
Number Start End Size File system Name Flags
5.获取帮助:要了解如何制作新分区,请输入: (parted) help mkpart
。
(parted) help mkpart
mkpart PART-TYPE [FS-TYPE] START END make a partition
PART-TYPE is one of: primary, logical, extended
FS-TYPE is one of: btrfs, nilfs2, ext4, ext3, ext2, fat32, fat16, hfsx, hfs+, hfs, jfs, swsusp,
linux-swap(v1), linux-swap(v0), ntfs, reiserfs, hp-ufs, sun-ufs, xfs, apfs2, apfs1, asfs, amufs5,
amufs4, amufs3, amufs2, amufs1, amufs0, amufs, affs7, affs6, affs5, affs4, affs3, affs2, affs1,
affs0, linux-swap, linux-swap(new), linux-swap(old)
START and END are disk locations, such as 4GB or 10%. Negative values count from the end of the
disk. For example, -1s specifies exactly the last sector.
'mkpart' makes a partition without creating a new file system on the partition. FS-TYPE may be
specified to set an appropriate partition ID.
6.创建一个分区:要创建一个新分区(在此示例中,分区0上为1,396MB),请键入以下内容:
(parted) mkpart primary 0 1396MB
Warning: The resulting partition is not properly aligned for best performance
Ignore/Cancel? I
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 1396MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 1396MB 1396MB primary
文件系统类型(fstype)不会在/dev/vdc1
上创建ext4文件系统。 DOS分区表的分区类型是primary , 逻辑和Extended 。 在GPT分区表中,分区类型用作分区名称。 必须在GPT下提供分区名称; 在上面的示例中, primary是名称,而不是分区类型。
7.保存并退出:退出parted
时,更改将自动保存。 要退出,请键入以下内容:
(parted) quit
Information: You may need to update /etc/fstab.
$
明智的话
添加新的存储设备时,请确保标识正确的磁盘,然后再开始更改其分区表。 如果错误地更改了包含计算机操作系统的磁盘分区,则可能使系统无法启动。
翻译自: https://opensource.com/article/18/6/how-partition-disk-linux
linux对磁盘进行分区