如何在 Linux 中访问 BitLocker 加密的驱动器?

Suy*_*han 89 windows linux encryption bitlocker

我有一台运行 Windows 7 Ultimate 的笔记本电脑。我已经使用 BitLocker 加密了我的驱动器。现在我还安装了Lubuntu和 Windows。但是我的加密驱动器在 Linux 中不可见。我怎样才能解决这个问题?

小智 71

您可以使用Dislocker访问 Linux 下的 BitLocker 分区,这是一个使用 FUSE(或不使用)的开源驱动程序。

为此,您需要 U 盘上的文件(扩展名为 .bek 的那个)或恢复密码。

  • 相当最近的文件日期,看起来它正在维护。具有写入功能。 (6认同)
  • @Aorimn 如果 Bitlocker 是一种专有的 Microsoft 加密方法......你是如何设法与它交互的? (6认同)
  • @ Youda008 如果它仍然启动,请运行`manage-bde -protectors -get c:` 以检索密钥 - 在您的第一个可用机会。否则,如果它决定在某一天停止启动(例如 BIOS 更改),它将无法恢复。 (3认同)

小智 38

感谢Aorimn,他的解决方案对我有用。我对 Unix 相当缺乏经验,所以花了几个小时才弄明白。我想我会描述我在备份运行时采取的步骤:)

我的问题是我无法启动 Windows,我需要一种方法来访问 Bitlocked 分区上的文件。为此,您需要一个 bitlocker 恢复密码(8 组数字)以及从 USB 启动系统的能力。

  1. LiLi在其他 Windows 机器上下载并安装(Linux Live USB Creator
  2. 启动LiLi并让它下载一个轻量级的ubuntu图像。我选择了Xubuntu
  3. 将映像安装到 U 盘。
  4. 用 U 盘启动有问题的机器
  5. 当您看到 ubuntu 启动屏幕时,按一个键。
  6. 根据F6,设置以下选项:nomodesetacpi=offnoacpinolacpi
  7. 开机ubuntu
  8. 创建一个文件夹/media/windows/media/mount.
  9. 下载并解压解锁器
  10. sudo apt-get install libfuse-dev libmbedtls-dev
  11. 将目录更改为dislocker/src文件夹
  12. sudo make
  13. sudo make install
  14. 将目录更改为 /usr/bin
  15. sudo fdisk -l
  16. 识别被位锁定的分区。我的是/dev/sda1
  17. sudo dislocker -r -V /dev/sda1 -p315442-000000-000000-000000-000000-000000-000000-000000 -- /media/windows (替换您自己的 bitlocker 密钥和源分区)
  18. 将 dir 更改为/media/windowssudo -i如果无法访问则使用)
  19. mount -o loop dislocker-file /media/mount
  20. 您现在应该在文件管理器的已安装驱动器中看到您的文件。

备份相当慢,但如果您最终重新安装 Windows,可能会省去一些麻烦。祝你好运!

  • 从上面的步骤我不清楚`dislocker`是如何运作的,所以这里是信息,来自“使用FUSE,你必须给程序一个挂载点。一旦密钥被解密,一个名为`dislocker-的文件- file` 出现在这个提供的挂载点中。这个文件是一个虚拟的 NTFS 分区,所以你可以把它挂载为任何 NTFS 分区,然后从中读取或写入。” (6认同)
  • dislocker 现在(从 Ubuntu 18.04 开始)在 Ubuntu 的存储库中可用,因此您可以通过运行“sudo apt install dislocker”而不是从源代码构建来安装它。 (3认同)

小智 18

自版本 2.3.0(2020 年 2 月)起,CryptSetup 添加了对 BitLocker 的实验性支持,该支持可在20.10 Groovy及以上的 Ubuntu 存储库中使用,尽管支持可能会在以后的版本中得到改善。

要使用密码打开 BitLocker 设备,请使用:

sudo cryptsetup open --type=bitlk <device> <name>
Run Code Online (Sandbox Code Playgroud)

或者:

sudo cryptsetup bitlkOpen <device> <name>
Run Code Online (Sandbox Code Playgroud)

要使用密钥文件打开设备,请使用:

sudo cryptsetup open --type=bitlk --key-file=/etc/cryptsetup-keys.d/<name>.key <device> <name>
Run Code Online (Sandbox Code Playgroud)

要在启动时打开设备,请将以下内容添加到/etc/crypttab

<name> PARTUUID=<part_uuid> /etc/cryptsetup-keys.d/<name>.key bitlk
Run Code Online (Sandbox Code Playgroud)

笔记:

如果未指定密钥文件,systemd-cryptsetup(8)/etc/cryptsetup-keys.d/name.key将自动尝试从和/run/cryptsetup-keys.d/name.key( Source )加载它。

因此,您可以将密钥文件的路径替换为-none

可能的参数值:

  • 设备 - /dev/sda1
  • 名称 - 窗口
  • part_uuid - aaaaaaaa-1111-bbbb-2222-cccccccccccc(使用PARTUUID查找sudo blkid | grep BitLocker

现在您可以使用以下命令挂载设备:

sudo mount /dev/mapper/windows /path/to/mount/point
Run Code Online (Sandbox Code Playgroud)

重要的提示:

在设备上设置 BitLocker 时,选择加密整个设备的选项(需要更多时间)。另一个选项使用写入时加密转换模型,确保打开 BitLocker 后立即对任何新的磁盘写入进行加密(加密开始之前设备上存在的数据仍然可以在不加密的情况下读取和写入),并且不加密。由 Cryptsetup 支持。

当您尝试使用 Encrypt-On-Write 转换模型打开设备时,您将收到以下错误:

无法激活类型为“写入时加密”的 BITLK 设备。

密码设置手册

Crypttab 手册

Cryptsetup 2.3.0 发行说明

BitLocker 配置:已知问题

地穴设置bitlk.c


小智 7

我刚刚想出了一种方法来更新 Kali Linux 并安装dislocker.

使用 Kali Linux 1.0.9a i386 可引导 DVD

编辑“/etc/apt/sources.list”并添加:

deb http://us.archive.ubuntu.com/ubuntu trusty main universe
Run Code Online (Sandbox Code Playgroud)

使用终端安装程序:

apt-get update"
apt-get install git libfuse-dev libpolarssl-dev # Continue through update text, allow services to restart if needed
git clone git://github.com/Aorimn/dislocker.git
cd /dislocker/src
make
make install
Run Code Online (Sandbox Code Playgroud)

查找驱动器 Bitlocker 卷:

fdisk -l
Run Code Online (Sandbox Code Playgroud)

在 /mnt: tmp, 中创建文件夹dis

运行解锁器:

dislocker -v -V /dev/<volume name> -p<Bitlocker key> -- /mnt/tmp
Run Code Online (Sandbox Code Playgroud)

检查文件是否存在以确认正确的 Bitlocker 密钥:

ls /mnt/tmp
Run Code Online (Sandbox Code Playgroud)

dislocker-file如果正确应该返回。

挂载量:

mount -o loop,ro /mnt/tmp/dislocker-file /mnt/dis
Run Code Online (Sandbox Code Playgroud)

浏览以/mnt/dis访问文件。


Bre*_*man 2

BitLocker 是一种专有的闭源驱动器加密系统,仅受 Windows 支持。如果您想从 Linux 访问 Windows 分区,则必须删除 BitLocker 加密。

\n\n

请参阅禁用 BitLocker 驱动器加密和解密卷之间有什么区别?有关这样做的说明。建议首先完成数据备份。

\n\n

一旦驱动器被解密,您就可以使用TrueCrypt来代替;默认情况下不支持在 Linux 下读取系统加密卷,但有人已经找到了解决方法。请参阅如何在 Linux 上使用 TrueCrypt\xc2\xae 加密的 Windows 系统驱动器

\n\n

至少,请查看 TrueCrypt 文档,更具体地说,查看受支持的操作系统列表

\n\n

另一种选择是 PGP 全盘加密。请参阅双引导 Linux 和 Windows XP 的 PGP 全磁盘加密

\n

  • @BrettDikeman您可能想要调整或删除您的答案,因为它不适用(或不再正确)。请参阅 https://superuser.com/a/421314/118989。 (6认同)