如何从 Linux 中擦除闪存驱动器?

如何从 Linux 中擦除闪存驱动器?

我最近使用闪存驱动器尝试在上网本上使用 MeeGo。不幸的是,我用来将 MeeGo 写入闪存驱动器的应用程序创建了一个新分区,其格式相当不寻常。Ubuntu 磁盘实用程序无法删除该分区,GParted 甚至看不到它。我怎样才能从 Ubuntu 中彻底清除闪存驱动器?我宁愿不安装任何其他软件。

答案1

你试过了吗fdisk?在终端中,运行

sudo fdisk /dev/sdx

其中/dev/sdx应替换为您的闪存驱动器的设备文件。打开后fdisk,键入p列出分区表,如果列出了神秘分区,您可以使用d #删除它。 (#是分区的编号,例如d 1)将分区表写回磁盘并退出。(点击获取帮助d 2wqm

如果甚至fdisk失败了,我想您可以尝试将第一个扇区清零,我认为该扇区包含分区表。

sudo dd if=/dev/zero of=/dev/sdx bs=512 count=1

再次强调,此处/dev/sdx应替换为您的闪存驱动器的实际设备,它将为您完成此操作。您可以增加数字count=以将零写入更多磁盘,或者完全忽略它以覆盖整个磁盘。不用说,如果您这样做,您将无可挽回地丢失可能存储在磁盘上的任何文件。

答案2

如果您希望更安全一些,可以使用随机数字代替零:

dd if=/dev/urandom of=/dev/sdX bs=128

答案3

我认为最好的方法是使用flash_擦除这是MTD(内存技术设备)司机。

sudo flash_erase --help

给出:

Usage: flash_erase [options] MTD_DEVICE <start offset> <block count>
Erase blocks of the specified MTD device.
Specify a count of 0 to erase to end of device.

  -j, --jffs2       format the device for jffs2
  -N, --noskipbad   don't skip bad blocks
  -u, --unlock      unlock sectors before erasing
  -q, --quiet       do not display progress messages
      --silent      same as --quiet
      --help        display this help and exit
      --version     output version information and exit

相关内容