You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下快速清除分区表及分区数据(树莓派OS测试需求)

解决方案:Raspberry Pi 测试前清除分区表与残留文件

一、清除分区表

无需写入整个驱动器,仅需覆盖分区表核心区域即可快速清空:

  • 用sfdisk直接删除所有分区:sfdisk --delete /dev/sdX(替换/dev/sdX为目标驱动器,如/dev/sdb)
  • 更彻底清除MBR/GPT结构:
    • MBR分区:执行dd if=/dev/zero of=/dev/sdX bs=512 count=1,仅覆盖第一个扇区,耗时极短
    • GPT分区:执行dd if=/dev/zero of=/dev/sdX bs=1M count=1,覆盖开头1MB区域,足以清除GPT表头与备份表

二、清除分区残留的文件与目录结构

旧文件系统结构会因扇区未覆盖留存,需在创建新分区后重建文件系统,而非直接挂载:

  • 针对/boot分区(FAT32格式):mkfs.vfat -F 32 /dev/sdX1
  • 针对根分区(ext4格式):mkfs.ext4 /dev/sdX2
  • 若临时创建全容量分区后再改回双分区,每次调整分区后都要执行对应mkfs命令,彻底覆盖旧文件系统结构

三、Python脚本整合示例

可将上述操作通过subprocess.run()集成到测试前置流程中:

import subprocess

def clean_drive(drive):
    # 清除分区表
    subprocess.run(["sfdisk", "--delete", drive], check=True)
    # 可选:覆盖MBR区域
    subprocess.run(["dd", "if=/dev/zero", f"of={drive}", "bs=512", "count=1"], check=True)
    
def init_filesystems(boot_part, root_part):
    # 重建boot分区文件系统
    subprocess.run(["mkfs.vfat", "-F", "32", boot_part], check=True)
    # 重建root分区文件系统
    subprocess.run(["mkfs.ext4", root_part], check=True)

注意:执行这些命令需root权限,脚本需以sudo运行,且务必确认目标驱动器路径正确,避免误操作系统盘。

内容的提问来源于stack exchange,提问作者Tango

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 22:45:34