所以我在 USB 中安装了 debian,通过 LUKS 设置,我基本上创建了 4 个分区:
sdb1:未加密,引导分区 sdb2:加密,根分区 sdb3:加密,交换分区 sdb4:加密,主分区
在 debian 安装过程中,debian 并没有问我在哪里安装 grub,而是直接将 GRUB 安装在 sda(我电脑的主硬盘)上。
所以现在我有了这个几乎完全加密的 USB,只能在上述电脑上启动。我的目标是拥有一个可以在任何 PC 上启动的 USB。
我怎样才能解决这个问题。在另一个地方,有人建议简单地从我的 debian luks 系统中的终端安装 grub 。但这不起作用。 Grub 安装后没有问题或错误消息,但我的 USB 仍然无法启动,除非我在安装的 PC 上使用它。
我认为这一举动适用于简单的设置,不适用于加密的设置,尽管我选择 sdb1 作为引导分区,但我不明白为什么 debian 至少没有问我在哪里安装 grub...它安装了 grub 而没有询问我在sda上。对我来说这似乎很随机。我不是 Linux 专家。
任何帮助表示赞赏,谢谢
答案1
所以基本上您需要做的就是将 GRUB 引导加载程序安装到 USB 驱动器的 MBR 中。目前,它安装在 PC 主驱动器的 MBR 中。
此时,最简单的方法是:
- 在 PC 上启动 Debian;唯一设置为启动的一台
- 登录后,请确保您的 /boot 文件系统已安装。如果不是,请继续安装它。
- 然后,以 root 身份运行:
grub-install /dev/sdX
,其中 X 对应于 USB 驱动器。这会将引导加载程序安装到 USB 驱动器上的 MBR 中。
需要澄清的是,GRUB 引导加载程序将安装在分区表之前的磁盘上,位于三个 LUKS 容器之外;使其可启动。
您可以阅读有关安装 GRUB 的更多信息这里。碰巧 Gentoo Linux 文档中关于该主题的内容非常详尽。