EFS 加密与迁移注意
EFS 是 NTFS 上的加密文件系统:文件用对应用户证书的公钥加密,只有持有私钥的用户才能打开。它防的是磁盘被带走、被离线挂载之后的数据泄露,但和用户账户与证书强绑定——把加密文件拷到别的机器或别的账户下,没有私钥同样打不开。因此密钥备份是 EFS 使用中最容易被忽略、代价却最高的一环。
基本信息
| 适用平台 | Windows 专业版/企业版与服务器(NTFS 卷) |
|---|---|
| 查看状态 | cipher /c 文件,cipher /s:目录 |
| 密钥管理 | certmgr.msc 导出「加密文件系统」证书 |
| 互斥属性 | 与 NTFS 压缩不能同时启用 |
| 企业机制 | 可部署 EFS 恢复代理用于统一解密 |
典型使用场景
- 核查某目录下哪些文件处于加密状态,为迁移做准备
- 把加密文件从旧机器迁到新机器前,确认私钥能一起带走
- 导出并归档 EFS 证书与私钥,防止账户重装后数据锁死
- 排查「同一台机器换个账户就打不开文件」的原因
- 规划企业加密策略时,比较 EFS 与 BitLocker 的适用边界
- 清理历史加密文件,避免继承的加密属性影响共享目录协作
常用示例
常用示例
cipher /c D:\Secret\a.doc REM 查看文件加密状态与证书持有者
cipher /s:D:\Secret REM 列出目录下所有加密文件
cipher /d /s:D:\Secret /a REM 解密目录内文件(需持有私钥)
REM 备份密钥:运行 certmgr.msc - 个人 - 证书 - 导出(务必含私钥并设密码)
REM 企业恢复代理查看:secpol.msc 或组策略中的加密文件系统设置
REM 迁移前用 cipher 逐目录核对,避免漏掉加密文件操作与注意
| 操作 | 命令或位置 | 说明 |
|---|---|---|
| 查看状态 | cipher /c 文件 | 显示是否加密及证书持有者 |
| 批量列出 | cipher /s:目录 | 递归列出加密文件 |
| 导出密钥 | certmgr.msc 导出 pfx | 必须包含私钥并设置保护密码 |
| 恢复代理 | 组策略 EFS 设置 | 企业统一的解密通道 |
EFS 加密的是文件内容,目录名与文件名默认不加密,敏感场景应结合 BitLocker 这类卷级加密一起使用,避免靠文件名依然能看出信息。
把加密文件复制到 FAT32 或其他非 NTFS 介质时,加密属性会丢失,文件变成明文;迁移前先确认目标卷的文件系统类型。