如何写入 BitLocker 加密卷的物理扇区?

2023-12-19

I call CreateFile()我打开\\.\PhysicalDrive0,然后我读取了 BitLocker 加密卷的扇区,一切正常。通过这种方式,我可以创建使用 BitLocker 加密的卷的物理(加密)扇区的备份副本。

然后,我打电话CreateFile()我再次打开\\.\PhysicalDrive0再次,然后我尝试写入所述 BitLocker 加密卷的扇区(我正在尝试恢复备份),但它不起作用。

如果该卷已解锁,我会得到一个IOException其中 HResult = 0x80370000 和文本“此驱动器已被 BitLocker 驱动器加密锁定。您必须从控制面板解锁此驱动器。”

从 UI 解锁卷后,异常更改为 HResult = 0x80070013 和文本“媒体已写保护”。

问题:我必须做什么才能允许写入 BitLocker 加密卷的物理扇区?我提到我确实以管理员身份运行代码,并且锁定了卷,但无济于事。相同的代码适用于非加密卷。

到目前为止,我只有两个选择,但都不好:

  1. 如果我将整个驱动器脱机(调用DeviceIOControl()),但我不能这样做,因为驱动器还包含其他需要在线的卷。

  2. 如果(在恢复之前)我将卷格式化为非加密卷,从而删除 BitLocker 加密,它也可以工作。执行此操作后,写入物理扇区工作正常,但 Windows 不会将新写入的扇区检测为 BitLocker 卷。但是,删除并重新插入驱动器后(或者如果驱动器已修复,则在重新启动后),它确实会将该卷检测为 BitLocker 加密卷。

多谢。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何写入 BitLocker 加密卷的物理扇区? 的相关文章

随机推荐

  • SAS 中的 PROC SQL - 所有项目对

    我有一个数据集 我需要在其中查看来自另一个组的所有项目对 我在下面创建了一个玩具示例来进一步解释 BUNCH FRUITS 1 apples 1 bananas 1 mangos 2 apples 3 bananas 3 apples 4
  • jQuery悬停:淡入隐藏的div,同时淡出“默认”div

    function wrap hover function wrap image fadeOut 100 function wrap text fadeIn 100 function wrap text fadeOut 100 functio
  • Haskell——有什么方法可以限定记录名称或消除记录名称的歧义吗?

    我有两种数据类型 用于hastache模板 在我的代码中 有两种不同的类型是有意义的 两者都有一个名为 name 的字段 这当然会引起冲突 似乎有一种机制可以消除对 名称 的任何调用的歧义 但实际的定义会引起问题 是否有任何解决方法 例如让
  • Flutter:如何以编程方式打开抽屉

    我想打开Drawer以编程方式而不是通过滑动它 如何禁用该滑动功能 抽屉的触摸功能 空安全代码 Using GlobalKey final GlobalKey
  • 在Python中将RAR文件的内容读取到内存中

    我正在寻找一种方法将特定文件从 rar 存档读取到内存中 具体来说 它们是编号图像文件的集合 我正在编写漫画阅读器 虽然我可以简单地解压这些文件并根据需要加载它们 完成后删除它们 但如果可能的话 我宁愿避免这种情况 话虽如此 如果可能的话
  • 使用qmake成功编译SSE指令(但无法识别SSE2)

    我正在尝试编译并运行从 Unix 迁移到 Windows 的代码 我的代码是纯 C 不使用 Qt 类 在 Unix 下没问题 我还使用 Qt Creator 作为 IDEqmake exe with spec win32 g 用于编译 正如
  • 使用 Eclipse 的 C 项目上的链接器错误

    我想为 STM32F217IG 微控制器创建一个项目 所以我安装了 Eclipse 和GNU for ARM 嵌入式 GCC 交叉编译器 https launchpad net gcc arm embedded 我不认为这是 Code So
  • Paypal 沙盒 PDT 失败 4020

    因此 我创建了一个沙盒交易 并尝试在我的感谢页面上获取它的数据
  • Linux中的printf问题

    以下是在 HP 和 Linux 上打印格式化 1 2 的简单程序 然而 行为是不同的 我不想让问题变得更大 但实际发生这种情况的程序在字符串中有一个浮点值 因此使用 f 不是一个选项 即使使用 sprintf 以前有人遇到过这种情况吗 哪种
  • 使用 VS2012 RC 构建 boost

    我刚刚下载了适用于 Windows 8 64 位的 Visual Studio 2012 RC 我尝试编译 boost 库 版本 1 51 但是当我在 Visual Studio 提示命令中执行 make 时 出现错误 我在帖子末尾发布了
  • 使用自定义配置运行 ng build

    我有 Angular 项目 我想将其部署在 Apache 服务器上 我用ng build但我想为后端自定义地址和端点 proxy conf json api target http localhost 8080 secure false l
  • 使用容器视图控制器访问导航栏

    编写自己的容器时关于 UINavigationController 和 UINavigatinBar 的两个问题 1 我使用故事板创建了初始容器并将其嵌入到 UINavigationController 中 我发现 childViewCon
  • java缓存hashmap每天都会过期

    我想要一个HashMap
  • 如何从 C++ COM 迁移到 C++CLI

    我有一个通过 COM 公开内容的 C DLL 我想将其转换为公开托管接口的 C CLI 理想情况下 我只需添加 CLI 并一一转换接口即可 到目前为止我还没有取得任何成功 所以我正在寻找具体的策略 更多详情 很久以前 我创建了一个使用 CO
  • 世界地图与 ggmap

    我正在使用 ggmap 并希望有一张以澳大利亚为中心的世界地图 我可以轻松地绘制地理编码点 与其他一些地图包相比 ggmap 似乎更容易使用 然而 当我使用下面的代码浏览地图时 它会出错 gc lt geocode australia ce
  • Random ArrayIndexOutOfBoundsException,使用流按值对 Map 元素进行排序

    最近几天 我开始 玩 一些 Java 8 功能 例如流 我研究了一些文档和几个示例 在我的应用程序中 我有一个 Map 我需要获取具有最高值的三个元素 浮动部分 我尝试对我的代码进行不同的修改 其中一些解决方案还 按值对 Map 进行排序
  • Membership.ValidateUser 在 IIS 上始终返回 false

    Membership ValidateUser 方法适用于开发服务器 iis express 和 cassini 但在我的 IIS 上 它作为我的开发机器上的应用程序发布 它总是返回false 即使用户被批准 也不会被锁定 并且用户名和密码
  • 在 ACE 编辑器中应用Deltas

    我正在尝试在 Ace 编辑器中保存更改操作 然后回放它们 下面有一些伪代码 要点是 applyDeltas API 似乎没有为我的编辑器做任何事情 我绑定到编辑器更改事件 将更改增量推送到数组 并尝试稍后播放它 当我运行下面的代码时 我没有
  • data:text/html 处的网页对于某些 WebView text/html 内容字符串不可用

    我正在使用以下 Java 代码创建一些用于显示内容的 HTML public String htmlFromArrayList ArrayList
  • 如何写入 BitLocker 加密卷的物理扇区?

    I call CreateFile 我打开 PhysicalDrive0 然后我读取了 BitLocker 加密卷的扇区 一切正常 通过这种方式 我可以创建使用 BitLocker 加密的卷的物理 加密 扇区的备份副本 然后 我打电话Cre