Decentralization? We're still early!

如何在搭载 Apple 芯片的 Mac 上安装 VeraCrypt

A man sitting at a table in front of a window

VeraCrypt 是一款免费、开源的磁盘加密软件,支持 Windows、macOS 和 Linux 平台。它允许用户创建加密的虚拟磁盘容器(类似于加密的压缩包),或者对整个分区、硬盘进行加密,从而保护敏感数据的安全。在 macOS 上,VeraCrypt 依赖于 FUSE(Filesystem in Userspace)技术来挂载这些加密卷。本文将介绍如何在搭载 Apple 芯片(M1、M2、M3 等)的 Mac 上安装 VeraCrypt。

对于搭载 Apple 芯片(M1、M2、M3 以及后续型号)的 Mac 电脑,由于苹果公司对内核扩展(kext,Kernel Extensions)的严格限制,传统的 macFUSE (OSXFUSE) 逐渐变得不稳定且难以安装和使用。为了解决这个问题,VeraCrypt 官方推荐使用 FUSE-T 作为替代方案,它提供了更好的兼容性和稳定性。

一、 深入理解 FUSE-T:macOS 上的新一代 FUSE

FUSE-T 是一个 无需内核扩展 (kext-less) 的 macOS FUSE 实现。这意味着它完全在用户空间运行,不依赖于任何内核模块。这与传统的 macFUSE 形成鲜明对比,后者需要安装内核扩展才能工作。

(一) FUSE-T 的核心优势:告别内核扩展的烦恼

  • 无需内核扩展 (Kext-less): 这是 FUSE-T 最重要的优势,也是它区别于 macFUSE 的根本所在。Apple 强烈反对使用内核扩展,因为它们会带来潜在的系统不稳定性和安全风险。FUSE-T 完全避免了这个问题,因为它在用户空间运行,不会影响内核的稳定性。
  • 卓越的稳定性: 传统的 macFUSE 内核扩展经常会导致系统崩溃、内核死锁(kernel panics)等严重问题。FUSE-T 通过在用户空间实现 FUSE 功能,完全避免了这些与内核相关的稳定性问题。
  • 简化的安装和使用: FUSE-T 的安装和使用过程比 macFUSE 更加简单。你不需要再为加载内核扩展、处理系统完整性保护(SIP)等问题而烦恼。
  • 出色的性能: FUSE-T 利用 macOS 出色的 NFSv4 客户端实现。NFS(Network File System)是一种网络文件系统协议,macOS 对 NFSv4 的支持非常成熟和高效。FUSE-T 通过将 FUSE 请求转换为 NFS 请求,巧妙地利用了 macOS 内置的网络文件系统功能,从而获得了良好的性能。
  • 广泛的兼容性: FUSE-T 在 API 层面与 macFUSE 高度兼容。这意味着,大多数为 macFUSE 编写的 FUSE 文件系统(包括 VeraCrypt)无需修改或只需少量修改即可在 FUSE-T 上运行。FUSE-T 的 libfuse 库提供了与 macFUSE 相同的 API 头文件,确保了软件的兼容性。

(二) FUSE-T 的巧妙设计:NFS 的妙用

FUSE-T 的核心思想是利用 macOS 内置的 NFS v4 服务器和客户端。它并没有真正地去实现一个全新的文件系统,而是巧妙地“借用”了 macOS 已经非常成熟的 NFS 功能。

以下是 FUSE-T 的工作流程:

  • 挂载请求: 当一个 FUSE 文件系统(例如 VeraCrypt)想要挂载一个加密卷时,它会调用标准的 FUSE 挂载 API(通常是通过 libfuse 库)。
  • FUSE-T 服务器启动: libfuse 库(在 FUSE-T 环境中)会启动一个 FUSE-T NFS 服务器。这个服务器在你的 Mac 本地上运行,它不会与外部网络通信。
  • 本地 TCP 端口: FUSE-T NFS 服务器会监听一个本地 TCP 端口。这个端口用于 macOS 的 mount_nfs 命令与 FUSE-T 服务器之间的通信。
  • mount_nfs 命令: macOS 使用内置的 mount_nfs 命令来挂载 FUSE-T 服务器提供的“文件系统”。实际上,它挂载的是一个本地的 NFS 共享。
  • NFS RPC 转换: 当 macOS 通过 mount_nfs 访问文件时,会产生 NFS RPC(Remote Procedure Call)请求。FUSE-T 服务器会接收这些 NFS RPC 请求。
  • FUSE 请求模拟: FUSE-T 服务器将接收到的 NFS RPC 请求转换为标准的 FUSE 请求。这些 FUSE 请求与传统的 macFUSE 使用的请求是兼容的。
  • libfuse 处理: 转换后的 FUSE 请求被传递给 libfuse 库。libfuse 库会将这些请求转发给实际的 FUSE 文件系统(例如 VeraCrypt)。
  • 文件系统操作: VeraCrypt(或其他 FUSE 文件系统)处理这些请求,执行相应的读取、写入、创建文件等操作。
  • 结果返回: 操作结果通过 libfuse 返回给 FUSE-T 服务器,服务器再将结果转换为 NFS RPC 响应,最终返回给 macOS 的 NFS 客户端。
  • 卸载: 当文件系统进程(例如 VeraCrypt)终止时,FUSE-T NFS 服务器会自动卸载之前挂载的 NFS 共享,并终止自身。

二、 安装步骤:详细指南

(一) 安装 FUSE-T (强烈推荐使用 Homebrew)

Homebrew 是 macOS 上一个非常流行的包管理器,它可以大大简化软件的安装过程。

  1. 安装 Homebrew(如果你的 Mac 上还没有安装):
    • 打开终端(Terminal)应用程序。
    • 复制并粘贴以下命令到终端中,然后按回车键执行:
      /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    • 按照屏幕上的提示完成 Homebrew 的安装。
  2. 添加 FUSE-T 的 Homebrew Cask 仓库: 这条命令告诉 Homebrew 从哪里可以找到 FUSE-T 的安装包。
    brew tap macos-fuse-t/homebrew-cask
  3. 安装 FUSE-T: Homebrew 会自动下载并安装 FUSE-T。
    brew install fuse-t
  4. (可选) 安装 fuse-t-sshfs(如果你需要通过 SSH 挂载远程文件系统):
    brew install fuse-t-sshfs
  5. 手动允许系统扩展(至关重要的一步):
    • 由于 FUSE-T 涉及到与文件系统相关的底层操作,macOS 会将其视为“系统扩展”,并默认阻止其加载。你需要手动允许它。
    • 安装 FUSE-T 后,或者在首次运行依赖 FUSE-T 的程序(例如 VeraCrypt)时,macOS 通常会弹出一个提示,告诉你某个系统扩展被阻止。
    • 点击提示中的“打开‘安全性与隐私’偏好设置”按钮,或者手动打开“系统设置”(System Settings)应用程序。
    • 点击“隐私与安全性”(Privacy & Security)。
    • 向下滚动,找到类似“来自开发者‘Benjamin Fleischer’的系统软件已被阻止加载”或“来自开发者‘IDRIX SAS’”的消息(具体措辞可能略有不同,取决于你安装的 FUSE-T 版本和 VeraCrypt 版本)。
    • 点击旁边的“允许”(Allow)按钮。
    • 系统会要求你输入管理员密码以确认更改。
    • 非常重要: 完成上述步骤后,macOS 通常会要求你 重启电脑。请务必重启,否则 FUSE-T 可能无法正常工作。
      • 如果你没有在安装后立即看到”允许”按钮, 尝试重启电脑, 或者在安装FUSE-T后立即尝试运行VeraCrypt(这有时会强制系统显示“允许”按钮)。

(二) 下载 VeraCrypt (FUSE-T 兼容版本)

  1. 访问 VeraCrypt 的官方下载页面: https://www.veracrypt.fr/en/Downloads.html
  2. 找到 macOS 区域。
  3. 务必 下载标有 FUSE-T compatible version 的安装包(例如,VeraCrypt_FUSE-T_1.26.20.dmg)。
  4. 不要 下载标准的 “macOS (64-bit ARM)” 版本,那个版本是为传统的 macFUSE 设计的。

(三) 安装 VeraCrypt

  1. 双击你下载的 VeraCrypt_FUSE-T_x.x.x.dmg 文件。这会打开一个磁盘映像。
  2. 将 VeraCrypt 图标拖动到“应用程序”(Applications)文件夹中。

(四) 运行 VeraCrypt

  1. 打开“应用程序”文件夹。
  2. 找到 VeraCrypt 图标并双击运行。
  3. 如果这是你第一次运行 VeraCrypt,macOS 可能会再次弹出安全警告,询问你是否要打开从互联网下载的应用程序。点击“打开”以确认。

三、 重要提示:安全第一

(一) 备份数据

在进行任何磁盘加密操作之前,务必 备份你的重要数据。虽然 VeraCrypt 非常可靠,但任何涉及磁盘和加密的操作都存在一定的风险。

(二) 记住密码

VeraCrypt 的加密强度取决于你的密码。如果你忘记了密码,你将 无法 访问加密的数据。请务必选择一个强密码,并将其安全地保存。

(三) 安装顺序

确保你先安装 FUSE-T,然后再安装 VeraCrypt。

四、 故障排除:常见问题及解决方案

(一) 无法挂载卷

  1. 确认 FUSE-T 已安装: 检查 FUSE-T 是否已正确安装。你可以在终端中运行 brew list 命令,看看 fuse-t 是否在已安装的列表中。
  2. 确认已允许系统扩展: 确保你已经在“系统设置”的“隐私与安全性”中允许了 FUSE-T 的系统扩展。
  3. 重启电脑: 在允许系统扩展后,务必重启电脑。
  4. 检查 VeraCrypt 版本: 确保你安装的是 VeraCrypt 的 FUSE-T 兼容版本。

(二) “允许”按钮不出现

  1. 重启电脑: 有时候,重启可以解决这个问题。
  2. 重新安装 FUSE-T: 尝试重新安装 FUSE-T,看看是否会触发系统显示“允许”按钮。
  3. 立即运行 VeraCrypt: 在安装 FUSE-T 后,立即尝试运行 VeraCrypt。这有时会强制 macOS 显示“允许”按钮。

(三) 找不到FUSE-T安装包

官方下载: 始终从 FUSE-T 的官方 GitHub 发布页面下载安装包:https://github.com/macos-fuse-t/fuse-t/releases

通过以上步骤,你应该能够在搭载 Apple 芯片的 Mac 上成功安装和运行 VeraCrypt。请务必仔细阅读 VeraCrypt 的官方文档,以了解更多关于其功能和使用方法的信息。

    作为非营利站点,基地的建设离不开大家的捐助支持。在Cardano钱包(如Lace、Eternl 等)中输入 ADA Handle 名称$brave2049,即可为基地提供小额捐助。为支持Cardano治理和基地建设,亦欢迎将Cardano链上治理权限委托给Brave(Brave的Cardano链上治理DRep信息)

    相關文章

    回复