磁盘分区工具(fdisk 和 parted)区别及操作笔记

fdisk 和 parted 都是 Linux 系统中用于磁盘分区的工具

两者主要区别:

  1. 支持的分区表类型

    • fdisk 主要支持 MBR分区表,MBR分区表支持的硬盘单个分区最大容量为2TB,最多可以有4个主分区
    • parted 支持 MBR分区表 和 GPT分区表,GPT分区表可以支持更大的硬盘容量和更多的分区数量。
  2. 用户界面:fdisk 使用命令行界面,而 parted 也使用命令行但提供了更丰富的命令和交互。

  3. 功能:parted 提供了一些 fdisk 没有的功能,如调整分区大小、格式化分区等。

  4. 易用性:parted 通常被认为比 fdisk 更易用,特别是在处理 GPT 分区表时。

但它们在功能和使用上有一些区别:

fdisk的功能

fdisk 是一个较老的分区表创建和管理工具,主要**支持 MBR (Master Boot Record) 格式的分区表**。它可以用来创建、删除、调整分区大小等。

基本命令:
fdisk /dev/sda:启动 fdisk 工具并选择 /dev/sda 磁盘。

  • p:显示磁盘分区表
  • n:创建新分区
  • d:删除分区
  • t:改变分区类型
  • w:写入分区表并退出
  • q:不保存更改并退出
使用示例
  1. 使用 fdisk 创建新分区:
    fdisk /dev/sda

    	Command (m for help): n
    	Command action
    	   e   extended
    	   p   primary partition (1-4)
    	p
    	Partition number (1-4): 1
    	First sector (2048-104857551, default 2048): 
    	Last sector, +sectors or +size{K,M,G} (2048-104857551, default 104857551): +500G
    	Command (m for help): w
    
  2. 格式化新分区
    使用 mkfs 命令为新分区创建文件系统。假设想要为该分区创建 ext4 文件系统:

       sudo mkfs.ext4 /dev/sda1
    
  3. 挂载分区
    如果想挂载这些分区,可以使用 mount 命令。首先创建挂载点,然后挂载:

       # 创建挂载点
       sudo mkdir /data01
       # 手动挂载
       sudo mount /dev/sda1 /data01
    

    再配置永久挂载,请参考下面parted永久挂载部分


parted的功能

parted 是一个更现代的分区工具,**支持 MBR 和 GPT (GUID Partition Table) 格式的分区表**。parted 提供了更丰富的命令和功能,包括调整分区大小、创建新的分区表、格式化分区等。

基本命令:
parted /dev/sda:启动 parted 工具并选择 /dev/sda 磁盘。

  • print:显示磁盘分区信息
  • mklabel:创建新的分区表,可以是 msdos 或 gpt
  • mkpart:创建新分区,需要指定分区类型(如 primary, logical)和大小(如 1MiB, 50%)
  • rm:删除分区,需要指定分区号
  • resizepart:调整分区大小,需要指定分区号和新大小
  • set:设置分区属性,如bootable
  • quit:退出 parted
使用示例
  1. 使用 parted 创建新分区

    parted /dev/sda

    假如/dev/sda是一块10TB的大硬盘,按第1个分区为500GB,第2个分区9TB来创建分区。

    	(parted) mklabel gpt # 创建gpt分区表,也支持MBR,对于目前大硬盘,更推荐选择GPT
    	# 新建分区
    	(parted) mkpart primary 0% 500GB	# 创建第1个分区(按大小),0% 表示分区从磁盘的起始位置开始,500GB 是分区的大小。
    	(parted) mkpart primary 500GB 100%	# 创建第2个分区(按百分比),500GB 是第一个分区的结束位置,100% 表示使用所有剩余空间。
    
    	
    	# 删除分区
    	(parted) print		# 首先查看当前磁盘的分区信息,确保你将要删除的是正确的分区。使用 print 命令来显示分区表
    	(parted) rm 1		# 确定要删除的分区号,例如,如果你要删除第一个分区,分区号是 1。特别注意:删除分区会丢失该分区上的所有数据
    	
    	# 退出parted
    	(parted) quit	
    
  2. 格式化新分区
    使用 mkfs 命令为新分区创建文件系统。假设想要为第一个分区创建 ext4 文件系统,第二个分区创建 XFS 文件系统:

       sudo mkfs.ext4 /dev/sda1
       sudo mkfs.xfs /dev/sda2
    
  3. 挂载分区
    3.1. 如果想挂载这些分区,可以使用 mount 命令:

```bash
	# 首先创建挂载点
   sudo mkdir /data01
   sudo mkdir /data02
	# 然后挂载
   sudo mount /dev/sda1 /data01
   sudo mount /dev/sda2 /data02
```
3.2. 添加永久挂载(以上mount直接挂载为临时挂载,重启后丢失)

	编辑 /etc/fstab 文件,文件内容末尾追加以下内容,后再保存关闭文件
	```bash
	/dev/sda1	/data01	ext4	default	0	2
	/dev/sda2	/data02	xfs		default 0	2
	```

3.3. 测试挂载配置,会尝试挂载 /etc/fstab 中定义的所有挂载点。如果没有错误消息,说明配置正确。
	```mount -a```

3.4. 可再通过 ```df -h ```查看下 /data01、/data02 的分区信息

---
  • 假如后期使用中需要重新调整分区的大小

    parted /dev/sda # 启动 parted 并选择磁盘

    	(parted) print 		# 查看当前分区信息,确定你想要调整大小的分区号
    	
    	# 方式1
    	# 调整分区大小,注意:1 是分区号,300GB 是新的分区大小
    	(parted) resizepart 1 300GB		# 例如,如果想要调整第一个分区的大小到300GB:
    	
    	# 方式2
    	# 也支持调整分区的起始或结束位置
    	# 2. 1 如果你需要调整分区的起始位置,可以使用 --set 选项
    	# 例如,将第一个分区的起始位置设置为 10GB
    	(parted) resizepart 1 --set 10GB	# 
    
    	# 2.2 如果你需要调整分区的结束位置,可以使用 --end 选项来指定新的结束位置
    	# 例如,如果你想要将第一个分区的结束位置设置为 30GB
    	(parted) resizepart 1 --end 30GB	# 
    	
    	# 退出parted
    	(parted) quit	
    

注意事项:

  • 在调整分区大小之前,请确保备份所有重要数据,以防数据丢失。
  • 如果分区中的数据已经填满了整个分区,你可能需要先清理一些数据,以确保有足够的空间进行调整。
  • 如果调整的分区不是最后一个分区,或者调整操作涉及到多个分区,可能需要先移动数据,这通常涉及到更复杂的步骤,比如使用partprobe 命令通知内核分区表的变化,或者在调整前卸载分区。
  • 25
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值