【问题标题】:How to initialize a file system?如何初始化文件系统?
【发布时间】:2011-01-16 01:15:04
【问题描述】:

我在 /dev/sda 上有一些分区。我想以编程方式将它们全部删除。一种方法是列出所有分区,然后将它们一一删除。另一种方法是执行

dd if=/dev/zero of=/dev/sda

当我的分区表出现问题时,第一个选项失败了,由于当前分区列表没有给出任何输出,因此我无法删除任何当前分区。

第二种方法耗时太长。是否有任何“快速方法”将整个硬盘(/dev/sda)设置为未从 shell 脚本中分区?

【问题讨论】:

    标签: linux shell filesystems partitioning


    【解决方案1】:

    dd if=/dev/zero of=/dev/sda bs=1k count=100

    试试看。应该立即杀死分区表。

    【讨论】:

    • 谢谢,这正是我所需要的。 bs 是巴士尺寸,我猜。计数有什么作用?
    • bs 是以字节为单位的块大小,因此它将 100k 写入设备的开头。
    【解决方案2】:

    mkfs/dev/sda

    请注意,并非所有东西都喜欢这样拥有一个完整的磁盘。

    【讨论】:

      【解决方案3】:

      如果parted 在您的系统上,您可以与之交互并发出删除分区的命令,并就此列出它们。

      【讨论】:

        【解决方案4】:

        与其删除现有分区,不如考虑创建新分区。除非您想确保您的机器不会从硬盘驱动器启动(例如,在下次启动时强制进行网络启动),在这种情况下,“dd”方法就可以了。

        你不需要 100k,512 字节就足够了。

        【讨论】:

          【解决方案5】:

          一个更优雅的方法是使用 sfdisk 和空输入:

          echo | /sbin/sfdisk /dev/sda
          

          【讨论】:

            猜你喜欢
            • 2015-05-01
            • 1970-01-01
            • 2013-05-05
            • 2015-04-13
            • 2021-08-02
            • 2011-09-20
            相关资源
            最近更新 更多