拔掉的U盘Windows还认得!背后真相揭秘

驱动之家
 来自北京

快科技9月29日消息,近日在社交平台有热门帖子称,Windows会永久记录你插过的每个U盘,即使拔掉后记录依然存在,这一说法有事实基础,但被严重夸大。

Windows确实会在注册表中保留已拔出U盘的记录,当USB存储设备插入时,系统在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR下创建注册表项,存储操作系统识别和配置该设备所需的全部信息。

拔出U盘后,Windows无法判断你是临时拔掉还是永久移除,即插即用机制会保留设备,方便下次插入时快速识别。

这些被物理移除但注册表项未删除的设备在微软官方术语中叫“非当前设备(non-present devices)”,在设备管理器中选查看>显示隐藏设备就能看到。

拔掉的U盘Windows还认得!背后真相揭秘

不过USBSTOR并不是所有USB设备的清单,它只覆盖由Usbstor.sys驱动处理的存储设备,使用较新USB Attached SCSI协议的设备走的是另一个Uaspstor.sys驱动,键盘、摄像头、鼠标、麦克风等都不会出现在USBSTOR里。

Linux的udev同样有已处理设备的数据库,macOS通过IOKit管理硬件信息并通过统一日志系统记录系统事件,三大桌面操作系统都需要识别硬件、加载驱动、辅助排障。

USBSTOR记录的内容实际上比想象中少得多,它存储的是设备名称(如"SanDisk Ultra USB Device")、硬件标识符和实例标识符,可能包含序列号或位置信息,以及首次安装时间、最近插入时间和最近移除时间,并不包含U盘里的文件列表,本身也无法证明文件是否被复制。

要追踪文件访问,需要提前启用“审核可移动存储”策略,生成4663等事件日志,而且只能记录启用之后的行为,事后开启不会追溯。

拔掉的U盘Windows还认得!背后真相揭秘

想查看自己的USB记录,可以在PowerShell中运行reg query "HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR" /s查询所有子项。

用Get-PnpDevice -Class DiskDrive | Where-Object { $_.InstanceId -like 'USBSTOR\*' } | Format-List Status, FriendlyName, InstanceId可以列出所有已知存储设备,包括已拔出的。加上-PresentOnly参数则只显示当前连接的设备,对比两个列表就能看到哪些是非当前设备。

清理方法也很简单,在设备管理器的隐藏设备视图中右键灰色的U盘选卸载设备即可,微软表示卸载时注册表项会自动删除。但注意不要手动删除USBSTOR注册表项,可能导致系统出问题。

总体来看,和其他主流桌面操作系统一样,Windows确实会在拔出U盘后保留设备记录,但记录不包含U盘内容,也不能证明有人拷过文件,也不是永久的。

拔掉的U盘Windows还认得!背后真相揭秘

“特别声明:以上作品内容(包括在内的视频、图片或音频)为凤凰网旗下自媒体平台“大风号”用户上传并发布,本平台仅提供信息存储空间服务。

Notice: The content above (including the videos, pictures and audios if any) is uploaded and posted by the user of Dafeng Hao, which is a social media platform and merely provides information storage space services.”

热点新闻