如何在 BIOS 系统上将 GRUB 的顺序切换为 VeraCrypt 之前,以便 Ubuntu 可以再次使用全盘加密访问?
执行了下列操作:
- 在单个磁盘上安装 Windows 10 Pro N
- 在同一磁盘上安装双启动 Ubuntu 20.04,并安装 GRUB 引导加载程序
- 在 Windows 上安装 VeraCrypt 并执行完整的系统磁盘加密
- 全盘加密会安装 VeraCrypt 引导加载程序,它位于主引导记录 (MBR) 上的 GRUB 引导加载程序前面,这意味着 Ubuntu 的 GRUB 引导加载程序不再可用/被跳过。在 VeraCrypt 引导加载程序中,可以执行以下操作之一:
- 按ESC,但不会转到 GRUB,这表明 Windows 10 安装已损坏,因为它已加密
- 正确输入密码,直接跳过 GRUB 引导加载程序,成功加载 Windows 10,并导致 Ubuntu 20.04 不再可访问/启动,因为 GRUB 引导加载程序被跳过
- 全盘加密会安装 VeraCrypt 引导加载程序,它位于主引导记录 (MBR) 上的 GRUB 引导加载程序前面,这意味着 Ubuntu 的 GRUB 引导加载程序不再可用/被跳过。在 VeraCrypt 引导加载程序中,可以执行以下操作之一:
- 尝试切换引导加载程序,以便 GRUB 加载程序位于 Veracrpyt 之上
bcdedit
:BcdEdit /enum Windows Boot Manager -------------------- identifier {bootmgr} device partition=\Device\HarddiskVolume1 description Windows Boot Manager locale en-US inherit {globalsettings} default {current} resumeobject {f1c50cdb-e01f-11ea-8662-d17332f8934a} displayorder {current} toolsdisplayorder {memdiag} timeout 30 Windows Boot Loader ------------------- identifier {current} device partition=C: path \Windows\system32\winload.exe description Windows 10 locale en-US inherit {bootloadersettings} recoverysequence {f1c50cdd-e01f-11ea-8662-d17332f8934a} displaymessageoverride Recovery recoveryenabled Yes allowedinmemorysettings 0x15000075 osdevice partition=C: systemroot \Windows resumeobject {f1c50cdb-e01f-11ea-8662-d17332f8934a} nx OptIn bootmenupolicy Standard
- 我还没有确定 GRUB 引导程序是否在这里,因为我认为
current
VeraCrypt 引导程序指向 Windows 引导程序
我想如果我能找到 GRUB 引导加载程序的对象 ID,我就可以从中引用它resumeobject {f1c50cdb-e01f-11ea-8662-d17332f8934a}
resumeobject
,或者创建一个新的 GRUB 引导加载程序条目添加到前面current
,但尚未确定如何使用bcdedit
来创建新条目,将 GRUB 引导加载程序移到前面。
- 我还没有确定 GRUB 引导程序是否在这里,因为我认为
答案1
尝试从 Linux(而不是 Windows)端解决问题。这通常更直接。
- 启动 Ubuntu。如果您的引导加载程序出现问题,您可以使用实时 CD 上的引导加载程序。需要具备一些 GRUB 命令的基础知识,但您始终可以启动实时 CD 引导加载程序并使用它来启动您的 HDD Linux 安装。
- 备份 MBR 并将其存储在文件系统中易于访问的某个位置。确保将其存储在未加密的分区中……我会使用日进行备份。给备份文件起一个合理的名字。类似这样的
veracrypt.mbr
命令 - 修复您的 GRUB。这很容易从您的 Linux 安装内部完成。互联网上有多篇文章解释了如何修复。此时,GRUB 第 1 阶段将写入 MBR。
veracrypt.mbr
手动将第 2 步中创建的chainload 条目添加到 grub.cfg 中
完成这些步骤后你将得到以下结果:
- MBR 将包含 GRUB 第 1 阶段。VeraCrypt 中的恶意内容将被清除
- 你将能够从 GRUB 启动你的 Linux
- GRUB 将包含一个条目,允许您链式加载 VeraCrypt
如果您想稳妥行事,那么在继续执行步骤 3(将 MBR 中的 VeraCrypt 引导加载程序替换为 GRUB 第 1 阶段)之前,您可以尝试在 Live CD 上从 GRUB 测试您的设置,看看它是否有效。只需启动 Live CD 引导加载程序,进入命令模式,然后尝试从那里链式加载您的 veracrypt.mbr。记下对您有效的命令序列。然后继续执行步骤 3...