这是一个 bash 脚本。基本上,我想格式化或擦除 USB(或 SD)存储设备;使用单个命令行。
我本来打算使用fdisk
,但它似乎需要用户交互来实现我想要的自动化。
所以我决定尝试用以下方法将其归零
dd if=/dev/zero of=/dev/<target disk>
:
但它似乎只将 2.0 GB 的空闲或未使用的磁盘空间清零。
root@linux:~# dd if=/dev/zero of=/dev/mmcblk0
dd: writing to '/dev/mmcblk0': No space left on device
3842249+0 records in
3842249+0 records out
1967230976 bytes (2.0 GB, 1.8 GiB) copied, 2.9054 s, 677 MB/s
理想情况下,我讨论的是重新格式化可移动存储设备,并准备将其使用.iso
图像文件进行成像(通过dd
)。
重新格式化也不行总是是必需的,但它也会删除数据;无论如何,清除设备中任何存储的数据可能应该是默认行为/标准程序。
答案1
如果您想fdisk
仅使用一个分区并使用所有块,则这样就足够了:
echo -e "n\np\n1\n\n\nw\n"|
fdisk /dev/<target disk> &&
mkfs.ext4 /dev/<target disk>
更改mkfs.ext4
为您希望它使用的任何文件系统类型。
如果您只想删除数据,您的dd
命令应该没问题。