wipefs、dd和clearpart清除分区

本文介绍了wipefs命令用于查看和操作磁盘签名/元数据,包括显示当前签名、删除并备份签名,以及在需要时恢复签名的方法。还提到了clearpart命令及其在清除分区表和MBR的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. wipefs

每个磁盘和分区上都有某种签名和元数据/魔术字符串。你可以使用wipefs命令查看分区表签名/元数据/魔术字符串。wipefs命令可以擦除文件系统,RAID或分区表签名/元数据。

  • 显示磁盘当前签名
[root@localhost ~]# wipefs /dev/sda
DEVICE OFFSET TYPE UUID LABEL
sda    0x1fe  dos       
[root@localhost ~]# wipefs /dev/sda1 
DEVICE OFFSET TYPE UUID                                 LABEL
sda1   0x0    xfs  f15a938f-f96d-4b56-8259-76f31c209694 
  • 如何使用wipefs删除磁盘的签名
[root@localhost ~]# wipefs -a -f /dev/sda
/dev/sda: 2 bytes were erased at offset 0x000001fe (dos): 55 aa
  • 也可以备份一个签名到$HOME目录下,并清空磁盘的签名:
[root@localhost ~]# wipefs -a -f -b /dev/sda
/dev/sda: 2 bytes were erased at offset 0x000001fe (dos): 55 aa

如何恢复签名信息:

[root@localhost ~]# dd if=~/wipefs-sda-0x000001fe.bak of=/dev/sda seek=$((0x000001fe)) bs=1 conv=notrunc
2+0 records in
2+0 records out
2 bytes copied, 0.0007176 s, 2.8 kB/s

2. dd

再某些情况下,使用wipefs查询不到磁盘的签名,可以使用dd命令来清空分区表和签名:

这时可以使用dd明来清空签名:

[root@localhost ~]# dd if=/dev/zero of=/dev/sda1 bs=1M count=1
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00103757 s, 1.0 GB/s

使用下面命令可以清空MBR引导记录:

[root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=446 count=1
1+0 records in
1+0 records out
446 bytes copied, 0.000605243 s, 737 kB/s

3.clearpart

删除系统分区,优先创建新分区。默认情况下不删除分区。

如果使用了clearpart命令,那么不能对逻辑分区使用 --nopart 选项。

--all
删除系统上所有分区。
--drives
指定需要删除分区的硬盘。比如,下例为清楚主IDE控制器上的前两个硬盘分区。 clearpart --all --drives=sda,sdb
--list
指定需要删除的分区。如果指定了,该选项将替代--all和--linux选项。该选项值来自不同硬盘。 clearpart --list=sda2,sda3,sdb1
--initlabel
将标签初始化为符合你系统架构的默认值(例如:msdos for x86, gpt for Itanium)。该选项仅和"--all"组合使用是有效。
--linux
删除所有linux分区
--none(默认值)
不删除任何分区
--disklabel=
使用默认磁盘标签。仅当平台支持磁盘标签时有效。例如,msdos和gpt的x86_64系统支持,但dasd不支持。 在anaconda-21.43-1时引入。
<think>好的,我现在需要回答用户关于如何删除硬盘分区的问题。首先,用户提到了使用fdisk -l查看到了/dev/sdd是生磁盘,参考了wipefsddclearpart这些工具。用户可能是在Linux环境下操作,尤其是Ubuntu系统。 首先,我应该确认删除磁盘分区的常用方法,可能需要涵盖命令行工具如fdisk、parted,以及提到的wipefsdd。另外,用户可能需要步骤指导,所以需要分步骤说明。 接着,得考虑不同的工具使用场景,比如fdisk适合交互式操作,parted适合脚本或更复杂的分区表类型(如GPT)。而wipefsdd则用于彻底清除分区签名,确保分区信息被完全删除,避免残留。 需要注意安全提示,例如操作前备份数据,确认磁盘设备正确,避免误删重要数据。还要提到权限问题,可能需要使用sudo。 然后,分步骤说明每个方法。例如,使用fdisk的步骤包括启动工具,删除分区,保存更改。parted则是非交互式的命令。wipefsdd的使用方法需要详细说明命令参数,以及它们的作用。 还要考虑用户可能遇到的问题,比如分区被系统占用无法删除,这时候可能需要卸载分区。或者使用dd命令时,覆盖多少数据才足够,通常建议覆盖分区表的前几个扇区。 最后,生成相关问题,可能涉及分区恢复、不同工具的比较、分区后的操作等。确保问题相关且有帮助。</think>### 如何删除硬盘分区 删除磁盘分区的核心步骤包括 **选择工具、操作分区表、清除残留签名**。以下是详细方法教程: --- #### 一、使用`fdisk`工具(适用于MBR分区表) 1. **查看磁盘信息** ```bash sudo fdisk -l # 确认目标磁盘路径(如/dev/sdd) ``` 2. **进入交互模式** ```bash sudo fdisk /dev/sdd ``` 3. **删除分区** - 输入`d`选择删除分区 - 选择要删除的分区编号(若仅一个分区会自动选中) 4. **保存更改** - 输入`w`写入并退出 完成后,分区表会被更新,但分区签名可能残留[^1]。 --- #### 二、使用`parted`工具(支持GPT/MBR分区表) 1. **启动parted** ```bash sudo parted /dev/sdd ``` 2. **删除指定分区** ```parted rm <分区编号> # 例如:rm 1 ``` 3. **退出** ```parted quit ``` --- #### 三、彻底清除分区签名(可选) 若需完全擦除分区标识,防止系统误识别: 1. **使用`wipefs`** ```bash sudo wipefs -a /dev/sdd # -a表示清除所有签名 ``` 2. **使用`dd`覆盖头部数据** ```bash sudo dd if=/dev/zero of=/dev/sdd bs=512 count=1 # 覆盖前512字节(MBR区域) ``` --- #### 注意事项 - **数据备份**:操作前务必备份重要数据,删除分区会**永久丢失数据**。 - **设备确认**:确保目标设备(如`/dev/sdd`)正确,避免误操作其他磁盘。 - **权限要求**:所有命令需`root`权限,建议前缀`sudo`。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值