Answers:
这样就足够了吗?
dd if=/dev/zero of=/dev/sda bs=512 count=1 conv=notrunc
如果我们谈论的是MBR风格的分区...
dd if=/dev/zero of=/dev/[disk device] bs=1 count=64 seek=446 conv=notrunc
说明:
dd
此标准命令从源复制字节并将其写入目标。这是完成这项工作的最简单的灵活工具。
if=/dev/zero
在这里,我们指定要从中读取数据/dev/zero
,这是一个特殊的设备,它发出NUL
字节-零。
of=/dev/[disk device]
在这里,我们指定要写入的设备。
bs=1
dd
以障碍来思考。默认块大小可能是512字节,1024字节或4096字节,具体取决于您的系统。但是,我们需要比这更精确地解决问题,因此我们告诉dd
我们使用1字节的块大小。
计数= 64
在这里,由于主分区表由4个16字节分区条目组成,总共64字节,因此我们告诉dd
写入64个块(或字节,由于我们的bs=1
参数)。
寻求= 446
MBR中的主分区表(因此,这里不谈论GPT)位于446字节中,因此我们指示dd
在写入之前先查找446字节。
扩展分区通常是通过使用主分区插槽指向扩展分区表来创建的,因此,如果我们擦除4个主分区,我们也将有效地擦除扩展分区表。操作系统将无法找到它,因此它将无法读取和解释它。(如果要擦除扩展分区表,则需要了解有关操作系统的更多信息;不同的操作系统以不同的方式进行扩展分区。)
我想做同样的事情(在Slackware 14.2中除外),但是发现我无法实现此处提出的大多数解决方案,因为最详尽,文档最详尽的解决方案为制作替换分区带来了新问题。那删除了分区,但是某些分区软件显然自动找到了分区备份。
我发现f3probe(http://oss.digirati.com.br/f3)解决了使用大容量驱动器快速,轻松地删除所有分区的问题,并创建了一个覆盖整个驱动器的精确分区,这很容易删除。
从那里以简单明了的方式创建新分区也很容易。
即
f3probe --destructive --time-ops /dev/sdb
# Now we know only 1 partition exists on /dev/sdb
# which is /dev/sdb1
#
# Unmount that partition
umount /dev/sdb1
#
# Delete that single partition
parted /dev/sdb rm 1
#
# Now you can create new partitions
# i.e. parted /dev/sdb mkpart primary fat32 1049K 15.8G
#
# Update /etc/fstab before rebooting....