我在 /dev/sda 上有一些分区。我想以编程方式将它们全部删除。一种方法是列出所有分区,然后一一删除。另一种方法是执行
dd if=/dev/zero of=/dev/sda
当我的分区表出现问题时,第一个选项失败,因为当前分区的列表没有给出任何输出,因此我无法删除任何当前分区。
第二种方法耗时过长。是否有任何“快速方法”可以将整个硬盘(/dev/sda)设置为未从 shell 脚本中分区?
我在 /dev/sda 上有一些分区。我想以编程方式将它们全部删除。一种方法是列出所有分区,然后一一删除。另一种方法是执行
dd if=/dev/zero of=/dev/sda
当我的分区表出现问题时,第一个选项失败,因为当前分区的列表没有给出任何输出,因此我无法删除任何当前分区。
第二种方法耗时过长。是否有任何“快速方法”可以将整个硬盘(/dev/sda)设置为未从 shell 脚本中分区?
dd if=/dev/zero of=/dev/sda bs=1k count=100
试试看。应该立即杀死分区表。
mkfs
/dev/sda
请注意,并非所有东西都喜欢拥有这样的整个磁盘。
如果parted
在您的系统上,您可以与之交互并发出命令以删除分区 - 并就此列出它们。
与其删除现有的分区,不如考虑创建新的分区。除非您想确保您的机器不会从硬盘启动(例如,在下次启动时强制进行网络启动),在这种情况下,“dd”配方就可以了。
您不需要 100k,512 字节就足够了。
一种更优雅的方法是使用sfdisk
空输入:
echo | /sbin/sfdisk /dev/sda