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时引入。