最近使用U盘去学校的打印店打印了点东西,回来再使用U盘就发现U盘上感染病毒了,刚好最近在学Linux,涉及到对磁盘的操作,就尝试格式化一下,看看能不能通过这种方法帮U盘彻底杀杀毒。从结果上来看效果相当好。
本博文使用的是VMware 17版本,使用的Ubuntu是18.04版本。
有两种方法:
将U盘插入电脑后,虚拟机会跳出连接框按下图依次点击连接至虚拟机即可。
点击左上角虚拟机---->可移动设备----->U盘名称----->连接
见下图
步骤1、CTRL+ALT+t 打开终端
步骤2、查看Linux的可移动设备中是否有自己的U盘,在终端中输入:
ls /dev/sd*
这里在终端会显示所有Linux中的sd开头的块设备文件,其中sda和sda1是系统的块设备文件,我们不要动,sdb就是我们自己的U盘,大部分人第一次操作都是sdb,如果在前面操作中未取消挂载或挂载到其他地方(文后会解释什么是挂载)就直接拔出U盘可能会变成sdc或者sdd。如果显示有sdb就说明连接成功。那个sdb1(可能还会有sdb2,sdb3,sdb4这都不影响)就是我们的分区。
在操作我们的U盘时需要取消我们的挂载,挂载就相当于windows中的运行中,我们不能操作被占用的磁盘,所以要取消挂载。
在终端中输入df指令,就会显示所有的挂载点
df
这里我们可以看到最后一个sdb1就是我们的分区挂载,每次重新连接至虚拟机都会自动挂载,所以每次操作磁盘前都要检查是否挂载,不然对磁盘的操作无法保存。
在终端使用指令
sudo umount 挂载目录
这里的挂载目录指的是下图红框框框出来的东西,每个人不一样,只输入/m然后按tab键补齐,这里使用了sudo指令,所以要输入一下管理员密码,大部分情况下是1.
然后我们可以再df一下看一下挂载点是否取消,看到列表中没有sdb1时就说明我们取消挂载成功了。
在终端中输入一下命令(最后的sdb要看你的U盘在Linux中的名称,如果是sdc就改成sdc)
sudo fdisk /dev/sdb
我们会得到以下结果。这里我们只讲如何将整个U盘分为一个盘进行格式化杀毒,不涉及U盘的分盘操作。
可以在命令行中输入p,便可以打印出当前U盘有几个分区,可以看到我的磁盘有一个分区。
为了让我们的U盘空间全部利用,这里推荐将全部分区全部删除,然后创建一个最大的盘。然后格式化。注意如果我们删除所有分区,也就意味着删除了U盘里的所有内容,所以这里要谨慎考虑删除。
在命令行输入d,如果只有一个分区就不会跳选项问你删除哪个区,如果有多个分区,他会提示问你删除哪个区,默认都是从最大的sdb4开始删除,然后是sdb3,以此类推。这里如果也已经决定要全部删除的话,我们就不需要考虑这么多,一直默认删除就行,跳出来选项直接回车默认删除。
在命令行输入n,接下来如图操作
第一步:按下n后得到如下结果,不管,直接回车
第二步:可以选择分区号,这里默认为1,也不管直接回车
第三步:这里的第一扇区表示每个盘的配置空间,每个盘默认是有1Mb无法使用,这里也不管,默认就行,直接回车
第四步:这一步就要规定这个分区的大小,为了充分使用空间可以选择默认,默认就是U盘最大空间,当然也可以自己划分,越大的空间后面格式化的就越慢,所以我这里就定义一个100Mb的空间。
第五步:ntfs是windows识别的系统盘符,这里不重要,在命令行里输入y回车,删除就行
第六步:完成,回到最开始的状态
创建完分区之后可以再p回车查看一下是否已经创建成功
可以看到我已经创建成功了,接下来w回车,保存退出就行
出现如上图结果就说明前面操作成功,如果有报错很有可能是挂载未取消,如果发现未取消挂载就只能重新fdisk冲头来一遍。
因为我们再Linux里创建的分区再windows下是无法识别和打开的,所以还要再格式化成Windows能够识别的盘符,也就是上文说到的ntfs,指令如下
这里创建的什么分区就格式化什么分区,我创建的sdb1所以我就格式化sdb1
sudo mkfs.ntfs /dev/sdb1
等待读条和基础架设,越大的空间等待时间就越久
成功结果如下
至此我们就实现了对U盘的全部格式化操作
采用手动的方式断开U盘与虚拟机的连接并回到与Windows连接
打开我的电脑就可以看到我们格式化之后的U盘了。
使用Linux系统对磁盘进行操作,他的删除分区速度非常快,在Windows系统下删除U盘中的文件都要许久。在对磁盘分区进行操作的时候,会直接影响到分区内存放的文件,所以删除的时候一定要谨慎,以免误删了重要文件。
因为以前也用了很多软件对U盘进行消杀,修补但都无济于事,所以本博文就使用了Linux系统自带的工具对U盘进行格式化处理,以达到对U盘的杀毒操作,其中的分盘操作也能将U盘分成多个磁盘,也是相当有用。