U盘、移动硬盘这样的可移动存储设备现在已经很常见了,使用它们可以很容易地把数据从一台机器快速传输到另一台机器,虽然这些设备使用方便,但问题也随之而来:不容易控制用户的行为,数据可能被非法复制。

虽然可以进入设备管理器禁用所有USB端口,或仅禁用台式PC上的前置U口,但这并非最佳实践,因为可以到设备管理器去再次启用它们。

我们以前写过一篇文章,介绍如何禁用可移动存储设备(如USB驱动器),同时仍能使用USB键盘、鼠标和扫描仪,但如果你想禁止写入可移动存储设备,但仍想从中读取数据又该怎么办?简单的对策是使用带有硬件写保护开关的U盘,但现在这种U盘很少见了。

幸好微软已经预想到了这种情况,Windows中有一个选项,允许将USB存储设备设置为只读,但该选项在控制面板或组策略编辑器里是看不到的,需要进入注册表打开。

以下讲述如何禁用(和重新启用)对可移动存储设备(如U盘和移动硬盘)的写入访问:

使用现成的注册表文件。

默认情况下,并非所有系统都存在启用和禁用写权限的注册表项和键值。 因此最简单的方法是下载并运行现成的 .reg 文件,你只需双击即可禁用写访问。

下载此文件以禁用写访问。 这将创建一个名为 WriteProtect 的新注册表值,值为 1 以启用写保护。

链接:​https://pan.baidu.com/s/1fx9WvGj7R_O2rUxdK5YCCg ​​​​​

提取码: pipe


下载此文件以重新启用写访问权限。 这会将 WriteProtect的值 从 1 更改为 0。

链接:​https://pan.baidu.com/s/1cygRm_6iq8Y8g1RSksNUtw ​​​

提取码: bhx8


下载此文件以从注册表中完全删除 WriteProtect 的键值。 这更多是一种故障排除措施,如果你的电脑没有问题就无需下载。

链接:​https://pan.baidu.com/s/1Sg4om-WLCznpt-wwdIFMDw​​​

提取码: dc5s


自己制作注册表文件

禁用写访问。将下列文本另存为DisableUSBWrite.reg,导入注册表:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies]

"WriteProtect"=dword:00000001

启用写访问。将下列文本另存为EnableUSBWrite.reg,导入注册表:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies]

"WriteProtect"=dword:00000000

删除 WriteProtect 的键值。将下列文本另存为DeleteWriteProtectValue.reg,导入注册表:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies]

"WriteProtect"=-

允许写入USB存储设备只需要将WriteProtect值设置为0。为避免任何潜在问题,最好在未插入USB存储设备的情况下导入注册表文件。当插入设备,对注册表的更改即刻生效。

经过我多次的测试,以上注册表文件在32位和64位的XP和Windows 7上运行良好,且不需要重启系统。

除了更改注册表,还可以安装软件以避免数据被写入U盘,例如USB Disk Manager。

以上方法是禁止PC写入U盘,PC是主控端,其实也可以在U盘上“打主意”,制作一个“只读U盘”,插在任何一台PC上都不会被染毒,方法就是用虚拟数据填充U盘,通过创建虚拟的假文件,将U盘填满到最后一个字节,这就导致没有剩余空间可供写入,该U盘也就只读了。