文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

在 Linux 上使用 GNU Parted 对磁盘分区

2024-12-02 03:18

关注

在 21 世纪,我们往往认为数据存储是理所当然的。我们有许多存储介质,相对价格便宜,而且有许多不同的可用类型。然而,不论你获得的免费云存储空间有多少,没有比有一个物理硬盘空间来存储重要的数据更好了(或容量真的很大的,而当你又在一个慢速网络上时)。然而,没有几块硬盘买回来就是现成的,至少在理想的状况下可以直接使用的。无论你是买了一块新硬盘,还用不同分区安装一个系统,你需要知道怎么在 Linux 上为磁盘分区。

这篇文章介绍了 GNU Parted ,它磁盘分区最好的工具之一。如果你偏向使用图形化程序,而不算终端命令行,请阅读我的《​​为 Linux 格式化驱动器​​》这篇文章。

磁盘标签、分区和文件系统

技术上来说,一个硬盘驱动器不需要很多软件,就可用作存储设备。然而,在没有分区表和文件系统等现代惯例的情况下使用硬盘是困难的、不切实际的,而且对你的数据不安全。

关于硬盘驱动器,这里有三个你需要知道的重要概念:

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​​​ 子命令,后跟可选的分区名称,再跟分区的开始和结束位置。如果你在磁盘上只需要一个分区,那么大小调整是容易的:开始位置输入 1 ,结束位置输入 100% 。使用 ​​--align opt​​ 参数允许 Parted 调整分区边界位置便于磁盘获得最佳性能:

$ parted /dev/sdX --align opt \
mkpart example 1 100%

用 ​​print​​ 子命令查看你的新分区:

$ parted /dev/sdX print
Model: Yoyodyne Tiny Drive 1.0 (scsi)
Disk /dev/sdi: 1940MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size  
 1      1049kB  1939MB  1938MB

你不必将整个磁盘用作一个分区。分区的优势是在一个磁盘上可以存在多个文件系统,它们之间不会相互干扰。在确定分区大小的时候,你可以使用 ​​unit​​ 子命令来设置你想用的测量方法。Parted 可以理解扇区sector、柱面cylinder、磁头head、字节byte、KB、MB、GB、TB 和百分比。(LCTT 译注:具体使用方法请参阅手册页)

你也可以指定你打算使用的分区的文件系统。这并不会创建文件系统,但是它为你以后方便使用提供了元数据。

将磁盘对半分,一个是 XFS 文件系统,另一个是 EXT4 文件系统:

$ parted /dev/sdX --align opt \
mkpart xfs 1 50%
$ parted /dev/sdX --align opt \
mkpart ext4 51% 100%

命名分区

除了标记分区用于什么文件系统之外,你也可以为每个分区命名。一些文件管理器和工具可以读取分区名称,能够帮助你区分驱动器。例如,我经常有几个不同的驱动器连接到我的媒体工作站,每个属于一个不同的项目。当创建这些驱动器的时候,我同时命名了分区和文件系统,这样,无论我怎么看我的系统,有重要数据的位置都会被清楚地标示出来。

要命名一个分区,你必须知道它的序号:

$ parted /dev/sdX print
[...]
Number  Start   End     Size   File system  Name     Flags
 1      1049kB  990MB   989MB  xfs          example
 2      1009MB  1939MB  930MB  ext4         noname

要命名分区 1:

$ parted /dev/sdX name 1 example
$ parted /dev/sdX print
[...]
Number  Start   End     Size   File system  Name     Flags
 1      1049kB  990MB   989MB  xfs          example
 2      1009MB  1939MB  930MB  ext4         noname

创建文件系统

要让你的驱动器能够正常使用,你必须在新分区上创建一个文件系统。GNU Parted 并不做这些,因为它只是一个分区管理器。在磁盘上创建文件系统的 Linux 命令是 ​​mkfs​​​,但也有一些有用的工具可以让你用来创建特定类型的文件系统。例如,​​mkfs.ext4​​​ 创建 EXT4 文件系统,​​mkfs.xfs​​ 创建 XFS 文件系统等等。

你的分区位于磁盘驱动器的“内部” ,所以你不是在 ​​/dev/sdX​​​ 上创建文件系统,而是在 ​​/dev/sdX1​​​ 上为第一个分区创建文件系统,在 ​​/dev/sdX2​​ 上为第二个分区创建,以此类推。

这里是一个创建 XFS 文件系统的例子:

$ sudo mkfs.xfs -L mydrive /dev/sdX1

下载我们的速查表

Parted 是一个灵活而强大的工具。你可以发出命令,如本文所示的那样,或者激活一个交互模式以不断 “连接” 你指定的驱动器:

$ parted /dev/sdX
(parted) print
[...]
Number  Start   End     Size   File system  Name     Flags
 1      1049kB  990MB   989MB  xfs          example
 2      1009MB  1939MB  930MB  ext4         noname

(parted) name 1 mydrive
(parted)

如果你打算经常使用 Parted ,​​下载我们的 GNU Parted 速查表​​,让信息近在咫尺。

来源:Linux中国内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯