如何清除拇指驱动器中的所有内容(数据,病毒)?


50

假设我在公用Windows计算机上使用了一些Thumbdrive,然后将一些数据复制到了我的Ubuntu计算机上。我不能完全确定Windows计算机是否干净,并且它可能已在我的拇指驱动器上放了一些东西。有没有办法擦除USB-Stick上的所有内容,甚至MBR病毒和此类脱文件系统内容?

Answers:


113

您可以使用良好的旧Linux工具 dd来执行此操作。

为此:

  1. 首先按Ctrl+ Alt+ 打开终端T
  2. 然后输入sudo blkid终端。
  3. 非常仔细并仔细检查输出。

    [sudo] password for anwar: 
    /dev/sda1: UUID="63c6fb01-aac4-4d38-b29e-5a5780a98d12" TYPE="ext4" 
    /dev/sda2: LABEL="Main" UUID="A80C1BD70C1B9F7E" TYPE="ntfs" 
    /dev/sda5: LABEL="Work" UUID="01CCB271A80A07E0" TYPE="ntfs" 
    /dev/sda6: LABEL="Edubuntu" UUID="364126ac-01c9-4dd2-ab19-eecc733a9640" TYPE="ext4" 
    /dev/sda7: LABEL="Windows" UUID="5A8C72C98C729EE7" TYPE="ntfs" 
    /dev/sda8: UUID="312d4cd9-21a9-4c0d-aa34-26230e70fa89" TYPE="swap"  
    /dev/sdb1: UUID="E87F-1D12" TYPE="vfat" 
    

    用看看最后一行/dev/sdb1。这是使用Fat(vfat)文件系统格式化的USB驱动器。请注意,USB驱动器只有一个分区,名为/dev/sdb1。如果它还有其他分区,它们将被命名为/dev/sdb2...,依此类推。USB驱动器本身的名称为/dev/sdb,请注意,它后面没有12或任何数字sdb

  4. 然后执行此命令,将USB驱动器中的所有数据替换为0。

    sudo dd if=/dev/zero of=/dev/sdX bs=1k count=2048 
    

    我故意没有/dev/sdb在命令中提供原始内容,以便新用户不会意外地弄乱他们的系统。替换上面命令中第4步中找到的USB驱动器名称。

这应该给您一个干净的USB。完成此操作后,您需要创建至少一个分区才能使用USB。

在空磁盘上创建分区

要在其上创建新分区,您可以使用parted程序。我举一个在完整的原始磁盘中创建分区的示例。我们的USB磁盘大小为2GB(〜2048)。我们假设它的设备名称为/dev/sdb。您可以使用以下命令检查设备名称sudo lsblk(必须通过查看尺寸等来猜测正确的设备)。

  1. 首先,我们需要在最后一条命令后弹出USB,然后将其重新插入。
  2. 然后,我们需要在磁盘上创建一个分区表。我们将创建一个类型为msdos的分区表,有时也称为主启动记录。

    sudo parted /dev/sdb mklabel msdos
    
  3. 然后,您要添加一个空的“主”分区,该分区稍后将保存一个Fat文件系统。

    sudo parted -a none /dev/sdb mkpart  primary fat32 0 2048
    

    我们指定了起点(从0 MB)到终点(2048 MB),尽管实际上磁盘可能没有2048 MB的完整空间,但是不用担心,parted会自动对其进行调整。请注意,我们正在创建一个单一的主要的整个磁盘分区上。但是您可以在其上创建多个分区。(尽管不建议这样做,因为Windows仅会识别第一个分区)

    这个新创建的分区将具有ID /dev/sdb1

  4. 然后最后通过执行格式化在/ dev / sdb1分区上创建一个Fat文件系统。

     mkfs.vfat -n "Disk" /dev/sdb1
    

    我们正在/dev/sdb1名称为“ Disk”的分区上创建一个胖文件系统。

而已。现在,您有了一个带有胖分区的全新干净USB磁盘。

注意,您还可以使用Disk-Utility程序创建分区并使用Fat对其进行格式化。

使用磁盘实用程序

  1. 按下Super键,并在其中键入“磁盘工具”。

    在此处输入图片说明

  2. 在“磁盘实用程序”窗口中,在“外围设备”部分中选择USB驱动器。

    在此处输入图片说明

  3. 您可能需要先卸载驱动器。

    在此处输入图片说明

  4. 然后点击“格式化驱动器”按钮

    在此处输入图片说明

  5. 从新窗口中选择分区表类型。选择“主启动记录”。

    在此处输入图片说明

  6. 创建新的分区表之后。磁盘实用程序窗口将如下所示

    在此处输入图片说明

    点击“创建新分区”按钮。

  7. 选择“分区类型”,并选择键入分区的名称。

    在此处输入图片说明

  8. 分区将在4-5秒钟内创建,之后您将获得一个干净的USB磁盘。

    在此处输入图片说明

使用Gparted

  1. 首先,您需要安装gparted(如果尚未安装)。您可以通过单击以下链接进行安装:gparted 安装gparted或在终端中使用此命令

    sudo apt-get install gparted
    
  2. 然后通过在破折号中键入“ gparted”来打开gparted。要打开破折号,请Super按键,也称为“ Windows”键。

    破折号的开头

  3. 然后从右侧的下拉菜单中选择USB设备。它应该是这样的/dev/sdb/dev/sdc请采取不选择特殊照顾/dev/sda,因为它是已安装操作系统的设备。如果您知道自己在做什么,则只应选择它。

    选择合适的设备

  4. 选择USB设备(在我的系统中/dev/sdb)后,查看是否已安装任何分区。您可以在已挂载的分区条目和该分区的挂载点中看到一个钥匙图标。

    安装的partitons

    卸载该设备上所有已分区安装的分区。要卸载,请选择分区→右键单击→ 从菜单中选择卸载

    卸载已安装的驱动器

  5. 然后转到gparted菜单→ 设备 →选择创建分区表以覆盖并在所选设备上创建新的分区表。

    创建一个新的分区表

  6. 将显示一个新窗口,警告您要执行的操作。默认的分区类型是“ msdos”,如果您不知道,我强烈建议您不要更改它。另外还要检查一下,您确实选择了正确的设备。然后单击“ 应用”按钮。

    警告

    单击“应用”按钮后,设备将完全为空。没有分区,也没有数据。

    空设备

  7. 然后选择未分配的空间→右键单击→选择新建以创建新分区。

    新分区

    在“创建新分区”对话框中,选择“ 创建为 “主要”,文件系统为“ fat32”,然后单击“ 添加”按钮。(可选)您也可以为此分区命名。

    创建文件系统

  8. 单击添加按钮后,如果应用更改,gparted将显示设备的预览。工具栏中将有一个浅绿色的刻度图标。您需要单击该图标以应用更改。还有一个撤销按钮,你可以使用它,如果出现错误,在任何步骤。

    应用更改

    应用更改后,gparted将显示一条消息,提示“所有操作已成功完成”。

    成功讯息

现在您已经完成了。

使用新的磁盘实用程序(12.10)

Ubuntu 12.10现在配备了新的Disk实用程序。它使用新udisks2程序作为后端。

  1. 首先通过在Dash中键入“磁盘”来打开新的磁盘实用程序。Super按键使破折号

    在此处输入图片说明

  2. 打开“磁盘” (以前的磁盘实用程序)程序后。做这些

    1. 选择外部磁盘

    2. 如果已安装磁盘,则将其卸载。

    在此处输入图片说明

  3. 然后选择分区并通过按“停止”播放图标将其删除。

    在此处输入图片说明

    如果磁盘上有多个分区,请重复此步骤,直到删除所有分区为止。

  4. 删除所有分区后,磁盘现在将仅包含可用空间。现在,您可以通过单击小+图标来创建分区。

    在此处输入图片说明

  5. 选择类型为“ FAT”,给标签,然后按“创建”按钮创建一个分区。

    在此处输入图片说明

  6. 您的磁盘现在包含一个分区。您可以通过按“播放”图标来安装分区。您可以通过单击带有标签“正在使用,是”的链接来直接浏览已安装驱动器的位置。

    在此处输入图片说明

你完成了。


2
@Anwar:请注意,从12.10开始,“磁盘实用程序”已经非常简化,失去了所有磁盘管理功能。因此,您可能希望为将来添加gparted选项;)很好!
ish 2012年

19
哇!这个答案就像有人问我如何杀死蟑螂,并得到“在这里拿到火箭筒和10枚导弹……”
Luis Alvarado 2012年

就像记忆棒切换一样

您能否阐明命令行说明的第4步?它给出了硬编码的块大小和计数,但是该示例未说明总体磁盘大小。显然,人们将不得不为自己的磁盘更改这些参数。
ScrollerBlaster 2012年

2
该块大小无关紧要,实际上,它是从磁盘开始就清除文件系统信息。1k * 2048等于2 MB。您可以增加大小。分区步骤实际上创建了新的文件系统。因此,无需担心。@matt
Anwar

12

如果您想彻底彻底地恢复某件事,那shred是一个不错的选择。

shred -f -n 5 /dev/sdX

sdx拇指驱动器应该在哪里- n随机数据覆盖整个驱动器5次(更改为合适的数字)。

您可以使用找到驱动器的路径fdisk -l


很有帮助!我通常使用shed -vzn 3 /dev/sdX-v表示详细信息,-n 3将其覆盖3次,并-z在末尾写零以隐藏切细。
BenediktKöppel17年

4

打开终端

lsblk

屏幕上会出现类似的内容:

在此处输入图片说明

假设您的USB驱动器是具有4 GB内存的sdb

然后做

dd if=/dev/zero of=/dev/sdb bs=2M count=2048

这样,您可以用零覆盖整个笔式驱动器。包括所有可能的病毒和恶意软件在内的所有内容都将被删除。

这里的/dev/sdb部分非常重要,您需要格外小心。
例如,如果您放置ain b/dev/sdb则整个硬盘将被写入零。

在这里,由于count=2048笔驱动器大小为4GB,并且由于此处创建的块大小为2MB,所以 我给出的值是2 MB x 2048 = 4096 MB = 4GB。用适当的值替换2048
另外,如果需要,可以将块大小更改为所需的大小。

现在做

fdisk -l

输出是这样的

在此处输入图片说明

在这里确认当前的pendrive内存大小。

接下来,您必须创建分区表。我们将使用分开的工具来做到这一点。

在终端中输入以下内容:

parted
select /dev/sdb

将其标记为GPT类型分区表

mklabel gpt

将默认单位大小从MB更改为GB

unit gb

最后创建分区表:

mkpart /dev/sdb 0GB 3.7GB

在这里,我做了3.7GB,因为笔驱动器的实际可用空间为3.7GB。请用您自己的值替换它。

接下来查看最终结果

print

整个过程将类似于以下内容:

在此处输入图片说明

按下q并放开enter即可退出分隔提示。

现在该创建文件系统了。我们将创建通用文件系统fat32
Alo我们将使用mkfs命令来执行此操作。

在终端中输入以下内容

mkfs.vfat /dev/sdb1

现在,您有了一个全新的Pendrive,它不受所有病毒和恶意软件的侵害


1

您可以格式化驱动器,以确保驱动器上的所有数据都正确无误。请参阅如何格式化USB或外部驱动器?有关如何执行此操作的详细信息。

警告:这擦除驱动器上的所有数据!在尝试执行此操作之前,请确保不会删除闪存驱动器上的任何重要信息。


这与问题不完全匹配(我认为要求擦除整个设备,而不仅仅是链接指示的任何分区)。但是,我认为通常就足够了-如果您也确实想对文件分配表进行核对,则可以使用dd从/ dev / zero或类似文件复制到整个设备(/ dev / sdX而不是/ dev / sdX1 ,这是第一个(通常是唯一的)分区)。如上所述,请小心。
慢性炎

1
sudo dd if=/dev/zero of=/dev/sdX bs=1k count=2048 

上面给出的脚本仅擦除分区表,而不擦除OP请求的整个磁盘。

擦除磁盘上的所有内容并将所有位设置为零

sudo dd if=/dev/zero of=/dev/sdX bs=4M iflag=nocache oflag=direct

额外选项的说明:

删除“ count = 2048”将消除对2048个字节的限制,因此dd可以在整个磁盘上执行。

bs = 4Mb-bs是块大小,因此这将在4Mb块中进行擦除,比1k更快。

iflag和oflag将尝试禁用缓冲,这对于恒定流而言并不需要。

然后按照上述说明对磁盘进行分区和格式化。

要查找磁盘号,请打开终端并运行:

sudo tail -f /var/log/messages

然后插入闪存驱动器,将显示磁盘字母!

用/ dev / sdX替换X的磁盘字母

这将清空磁盘上的所有数据!


0

笔式驱动器中的Windows病毒文件在Linux中可见。只需删除您不知道的所有文件即可。检查所有文件夹以确保。很长一段时间以来,我一直在成功使用此技术。这样,您甚至可以保留数据。


1
对于“自动运行”类型的文件,这是正确的,但某些恶意软件可能已通过分区外部的一些调皮的代码使USB可启动。或更令人恐惧-如果它使用自己的命令重新编写了驱动器的固件,则即使删除整个驱动器也不会将其擦除。有趣的事实-USB闪存驱动器,甚至microSD卡,都具有微型嵌入式微处理器/微控制器(价格约为20美分),其固件具有读取和写入数据的功能,跟踪哪些闪存芯片变坏,将好的闪存芯片换成坏等
Xen2050

0

这种蛮力将通过用零覆盖来完全擦除分区表,从而使您可以自由地使用所选工具进行重新分区:

sudo dd if=/dev/zero of=/dev/sdb bs=1M count=1

确保您获得正确的输出设备,而不是某些内部磁盘驱动器!从错误中恢复将非常困难。写完后,我将取出并重新插入棍子。

资料来源: https : //ubuntuforums.org/showthread.php?t=2319295

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.