parted命令详解

用法:parted [选项]... [设备 [命令 [参数]...]...]
帮助选项:
-h, --help                    显示此求助信息 
-l, --list                    列出所有设别的分区信息
-i, --interactive             在必要时,提示用户 
-s, --script                  从不提示用户 
-v, --version                 显示版本
操作命令:
cp [FROM-DEVICE] FROM-MINOR TO-MINOR           #将文件系统复制到另一个分区 
help [COMMAND]                                 #打印通用求助信息,或关于 COMMAND 的信息 
mklabel 标签类型                               #创建新的磁盘标签 (分区表) 
mkfs MINOR 文件系统类型                        #在 MINOR 创建类型为“文件系统类型”的文件系统 
mkpart 分区类型 [文件系统类型] 起始点 终止点   #创建一个分区 
mkpartfs 分区类型 文件系统类型 起始点 终止点   #创建一个带有文件系统的分区 
move MINOR 起始点 终止点                       #移动编号为 MINOR 的分区 
name MINOR 名称                                #将编号为 MINOR 的分区命名为“名称” 
print [MINOR]                                  #打印分区表,或者分区 
quit                                           #退出程序 
rescue 起始点 终止点                           #挽救临近“起始点”、“终止点”的遗失的分区 
resize MINOR 起始点 终止点                     #改变位于编号为 MINOR 的分区中文件系统的大小 
rm MINOR                                       #删除编号为 MINOR 的分区 
select 设备                                    #选择要编辑的设备 
set MINOR 标志 状态                            #改变编号为 MINOR 的分区的标志
操作实例:
1、选择分区硬盘

首先类似fdisk一样,先选择要分区的硬盘,此处为/dev/hdd: ((parted)表示在parted中输入的命令,其他为自动打印的信息)

[root@10.10.90.97 ~]# parted /dev/hdd
GNU Parted 1.8.1
Using /dev/hdd
Welcome to GNU Parted! Type 'help' to view a list of commands.
2、创建分区

选择了/dev/hdd作为我们操作的磁盘,接下来需要创建一个分区表(在parted中可以使用help命令打印帮助信息):

(parted) mklabel
New disk label type? gpt    (我们要正确分区大于2TB的磁盘,应该使用gpt方式的分区表,输入gpt后回车)
3、完成分区操作

创建好分区表以后,接下来就可以进行分区操作了,执行mkpart命令,分别输入分区名称,文件系统和分区 的起止位置

(parted) mkpart
Partition name? []? dp1
File system type? [ext2]? ext3
Start? 0           (可以用百分比表示,比如Start? 0% , End? 50%)
End? 500GB
4、验证分区信息

分好区后可以使用print命令打印分区信息,下面是一个print的样例

(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/hdd: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 500GB 500GB dp1
5、删除分区示例

如果分区错了,可以使用rm命令删除分区,比如我们要删除上面的分区,然后打印删除后的结果

(parted)rm 1               #rm后面使用分区的号码,就是用print打印出来的Number
(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/hdd: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
6、完整示例

按照上面的方法把整个硬盘都分好区,下面是一个分完后的样例

(parted) mkpart
Partition name? []? dp1
File system type? [ext2]? ext3
Start? 0
End? 500GB
(parted) mkpart
Partition name? []? dp2
File system type? [ext2]? ext3
Start? 500GB
End? 2199GB
(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/hdd: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 500GB 500GB dp1
2 500GB 2199GB 1699GB dp2
7、格式化操作

完成以后我们可以使用quit命令退出parted并使用系统的mkfs命令对分区进行格式化了。

[root@10.10.90.97 ~]# fdisk -l
WARNING: GPT (GUID Partition Table) detected on '/dev/hdd'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/hdd: 2199.0 GB, 2199022206976 bytes
255 heads, 63 sectors/track, 267349 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hdd1 1 267350 2147482623+ ee EFI GPT
[root@10.10.90.97 ~]# mkfs.ext3 /dev/hdd1
[root@10.10.90.97 ~]# mkfs.ext3 /dev/hdd2
[root@10.10.90.97 ~]# mkdir /dp1 /dp2
[root@10.10.90.97 ~]# mount /dev/hdd1 /dp1
[root@10.10.90.97 ~]# mount /dev/hdd2 /dp2


本文转载自:http://www.linuxprobe.com/linux-command-parted/

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好: http://www.linuxprobe.com/
<think>我们参考用户提供的引用内容,特别是关于parted命令的使用,来回答如何使用parted命令格式化另一个硬盘。 注意:格式化硬盘会删除所有数据,请确保备份重要数据并确认目标硬盘设备。 步骤概述: 1. 识别目标硬盘设备(如/dev/sdb) 2. 使用parted命令对硬盘进行分区(特别是大于2TB的硬盘,因为fdisk不支持2TB以上的分区) 3. 格式化分区为所需的文件系统(如ext4, xfs等) 4. 挂载分区并使用 详细步骤: 1. 识别硬盘设备 使用`lsblk`或`fdisk -l`命令查看所有硬盘,确认要格式化的硬盘设备名(例如:/dev/sdb)。 2. 使用parted对硬盘进行分区(以GPT分区表为例,适用于大硬盘) 如果硬盘已经有一个分区表(如MBR或GPT),你可能需要先删除现有分区表(这会删除所有数据),或者直接创建新分区。 启动parted: ```bash sudo parted /dev/sdb ``` 在parted交互环境中: - 如果硬盘没有分区表或者需要更改分区表类型,可以使用`mklabel`命令创建新的分区表标签(例如gpt): ``` (parted) mklabel gpt ``` - 创建分区(例如创建一个占用整个硬盘的主分区): ``` (parted) mkpart primary 0% 100% ``` 这里`0%`和`100%`表示从硬盘的0%位置到100%位置。 - 检查分区是否正确: ``` (parted) print ``` - 退出parted: ``` (parted) quit ``` 或者,你也可以使用非交互模式(一条命令完成): ```bash sudo parted /dev/sdb mklabel gpt mkpart primary 0% 100% ``` 3. 格式化分区 分区后,分区设备名通常是在原硬盘设备名后加分区号,例如第一个分区为`/dev/sdb1`。 使用`mkfs`命令格式化分区,例如格式化为ext4: ```bash sudo mkfs.ext4 /dev/sdb1 ``` 如果硬盘很大,可能需要一些时间。 4. 挂载分区 创建挂载点并挂载: ```bash sudo mkdir /mnt/newdisk sudo mount /dev/sdb1 /mnt/newdisk ``` 5. 设置开机自动挂载 编辑`/etc/fstab`文件,添加一行: ``` /dev/sdb1 /mnt/newdisk ext4 defaults 0 2 ``` 或者使用UUID(推荐): 先获取UUID:`sudo blkid /dev/sdb1` 然后在`/etc/fstab`中添加: ``` UUID=你的UUID /mnt/newdisk ext4 defaults 0 2 ``` 注意事项: - 使用parted分区时,如果硬盘小于2TB,也可以使用MBR(msdos)标签,但大于2TB必须使用GPT。 -parted中,分区操作是实时生效的,所以操作前务必确认设备名正确。 - 格式化操作会销毁分区上的所有数据,请谨慎操作。 引用说明: 根据引用[1],对于大于2TB的硬盘,我们使用parted命令并选择gpt分区表类型。引用[2]指出fdisk不支持GPT分区表,所以对于大硬盘使用parted。引用[3]展示了parted分区的示例输出。 生成相关问题: §§相关问题§§ 1. 如何检查硬盘是否使用GPT分区表? 2. 使用parted命令如何删除一个分区? 3. 在Linux中如何格式化一个分区为NTFS文件系统?</think>### 如何使用 `parted` 命令在 Linux 系统中格式化另一个硬盘 `parted` 是 Linux 下专业的磁盘分区工具,尤其适合处理 **大于 2TB 的硬盘**(传统 `fdisk` 无法支持)。以下是详细步骤: --- ### 步骤 1: 识别目标硬盘设备 首先确认要格式化的硬盘设备名(如 `/dev/sdb`): ```bash sudo parted -l # 列出所有磁盘设备 ``` 输出示例(关键信息已标注): ``` Model: ATA ST1000LM035-1RK1 (scsi) Disk /dev/sdb: 1000GB # ← 目标硬盘 Sector size (logical/physical): 512B/4096B Partition Table: gpt # ← 当前分区表类型 Disk Flags: ``` --- ### 步骤 2: 使用 `parted` 创建分区表 ```bash sudo parted /dev/sdb # 进入交互模式 ``` 在 `parted` 交互环境中执行: 1. **创建 GPT 分区表**(适用于大容量硬盘): ``` (parted) mklabel gpt # 创建 GPT 分区表 [^1] ``` > ⚠️ 警告:此操作会清除硬盘所有数据! 2. **创建主分区**(占用整个硬盘): ``` (parted) mkpart primary 0% 100% # 从0%到100% [^1] ``` 3. **验证分区**: ``` (parted) print # 查看分区详情 ``` 输出示例: ``` Number Start End Size File system Name Flags 1 1049kB 1000GB 1000GB ext4 primary ``` 4. **退出**: ``` (parted) quit ``` --- ### 步骤 3: 格式化分区为文件系统 分区设备名通常是 **原设备名 + 分区号**(如 `/dev/sdb1`): ```bash # 格式化为 ext4(推荐 Linux 使用) sudo mkfs.ext4 /dev/sdb1 # 或格式化为 XFS(高性能场景) sudo mkfs.xfs /dev/sdb1 ``` 输出示例: ``` meta-data=/dev/sdb1 isize=512 agcount=4, agsize=61054976 blks data = bsize=4096 blocks=244190656, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=119224, version=2 ``` --- ### 步骤 4: 挂载分区 ```bash # 创建挂载点 sudo mkdir /mnt/newdisk # 临时挂载 sudo mount /dev/sdb1 /mnt/newdisk # 验证挂载 df -hT | grep sdb1 ``` 输出示例: ``` /dev/sdb1 ext4 916G 0 916G 0% /mnt/newdisk ``` --- ### 步骤 5: 永久挂载(可选) 编辑 `/etc/fstab` 文件: ```bash sudo nano /etc/fstab ``` 添加一行(**推荐使用 UUID 更安全**): ```conf UUID=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/newdisk ext4 defaults 0 2 ``` 获取 UUID: ```bash sudo blkid /dev/sdb1 ``` --- ### ⚠️ 关键注意事项 1. **数据安全**: - `mklabel gpt` 会**永久删除硬盘所有数据**,操作前务必确认设备名(如 `/dev/sdb` 不是系统盘 `/dev/sda`)。 - 大于 2TB 硬盘必须使用 GPT 分区表,MBR 不支持 [^1][^2]。 2. **分区对齐**: - 使用 `0% 100%` 确保分区对齐,避免性能损失 [^3]。 3. **文件系统选择**: - `ext4`:通用平衡,适合大多数场景 - `xfs`:高性能,适合大文件读写 - `ntfs`:需安装 `ntfs-3g`,用于 Windows 兼容 --- ### 常见问题解决 - **错误: "Device is busy"** 卸载分区后再操作:`sudo umount /dev/sdb1` - **错误: "Partition table is corrupted"** 彻底擦除硬盘签名:`sudo wipefs -a /dev/sdb` - **查看实时操作日志**: `sudo dmesg | grep sdb`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值