我正在采取措施保护我的笔记本电脑——从数据安全和物理安全的角度。
我目前已通过安装程序设置了 LUKS 的全磁盘加密 - 这几乎是按照安装程序默认设置的原始配置,带有一个未加密的启动分区,要求我解锁磁盘。
如果我的笔记本电脑被盗,我目前没有设置任何可以帮助我/警察找回它的设备。因此,我想配置一个美人计,让笔记本电脑能够运行猎物如果小偷启动了笔记本电脑。
为此,我想将标准 GRUB、内核和初始 ramdisk 移动到随身携带的 USB 记忆棒上。我将安装一份微型核心 Linux(或者我敢说 - Windows)在我的笔记本电脑上,只有当我不插入 USB 记忆棒时它才会启动。
为了防止潜在的小偷擦除硬盘,我将设置 BIOS 密码并禁用从外部设备启动。显然,这不会阻止他们移除硬盘并擦除数据,但这是针对低级小偷的一步。
如果我这样做,我将无法从我的 USB 启动 - 所以我需要一种方法来从我硬盘上的 GRUB 链式加载我 USB 上的 GRUB。
这可能吗?如果可能,我该怎么做/在哪里可以找到合适的文档?我查看过的所有地方都建议使用 PLoP、LILO 或其他软件,但我确信仅通过 GRUB 就可以做到这一点。
类似地,我可以使用 UEFI 安全启动来限制仅启动我的蜜罐和“真实”内核和初始 ramdisk,但我的笔记本电脑不兼容 UEFI :(
同样,这可能是一个 X/Y 问题,因此如果您认为我处理的方式错误,请随时提出建议。
答案1
我认为您可以尝试将 /boot 分区挂载到 USB 密钥上,但让引导加载程序位于内部驱动器 MBR 中。我非常确定您可以使用 Ubuntu 安装程序配置类似的东西:几乎可以将任何点挂载到任何分区,并选择在哪个驱动器中写入 MBR。
这样,Bios 就会在内部驱动器上找到 MBR,因此您可以禁用外部驱动器启动。
以下是有关 Grub 2 的完整文档的链接:http://www.gnu.org/software/grub/manual/grub.html 也许你应该看看它,看看你是否可以编写一个 Grub 脚本来检查你的 USB 密钥是否可用。如果可用,它将默认启动 Grub 菜单中的主系统条目。如果不可用,它将启动带有“Tiny Core Linux”和“Prey”的条目。
另外,您应该进入 Freenode IRC 上的 #grub。
答案2
GRUB 将 USB 驱动器视为其他硬盘。我曾成功地从安装到内部驱动器 MBR 的 grub 启动 USB 记忆棒上的内核/安装,方法是使用类似以下方法:(从
root (hd1,0)
第二个硬盘的第一个分区启动。)
这确实假设驱动器的排列一致。可能还可以通过 UUID 指定分区 - 正如 ttoine 所说,检查它们的手册页。
您可以在启动时进行测试,方法是使用cGRUB 菜单访问 GRUB 命令行(或编辑现有条目)。然后(启动并)使用 USB-boot 作为默认值设置您的配置文件,然后就大功告成了。
(只需重新阅读 - 是的,您可以让 GRUB 从 USB 驱动器加载新的 cfg,而不是内核。)
不管怎样,即使你知道机器的位置,我也不指望大多数地方的警察能给你提供多少帮助。你可能想把你的 /home/ 保存在 USB 上;如果没有,至少要经常备份。
答案3
使用 hiddendelay 选项隐藏 GRUB 启动菜单,将默认启动选项设为 Prey 安装,并用密码保护菜单。启动时,在延迟期间按下 Esc 键,输入密码,然后启动常规安装。被盗的人会直接启动 Prey,甚至不会看到还有其他启动选项。
现在您不必担心丢失 USB 驱动器。
如果您确实希望在 USB 驱动器上获得额外的指令,则不必担心链式加载。只需将备用 grub.cfg 放在您的拇指驱动器上,然后使用 configfile 指令加载它即可。Grub2 具有路径的制表符补全功能,因此找到它应该相对容易。由于无论如何您都必须输入密码才能启动,因此只需按 c 键进入命令行并将其指向第二个配置文件,就不会显著增加启动的难度。