我买了一个东芝卫星并使用自制 liveusb,选择使用整个 HDD 并在过程中设置加密 LVM。安装程序完成时没有错误,但笔记本电脑的固件似乎无法识别 HDD 为可启动;在没有闪存驱动器的情况下启动它时出现了这个错误(大写不是我的):
Reboot and select proper Boot device
or Insert Boot Media in selected Boot device and press a key
我重新引导到 liveusb,将硬盘的前几兆字节清零,然后以相同的方式再次运行安装程序,结果相同。此后,我尝试sudo grub-install /dev/sda
从sudo update-grub
已安装的系统运行安装程序。两次都成功完成,但没有解决问题。
Freenode/#ubuntu 的某个人很好心地编写了一对 GRUB 命令,我可以在闪存驱动器的 GRUB shell 中使用这些命令从 HDD 启动:
search --set=root --file /grub/grub.cfg
configfile /grub/grub.cfg
还有一个方便的菜单项:
menuentry "Load Installed Ubuntu's grub.cfg" {
search --set --fs-uuid $sda2_uuid
configfile /grub/grub.cfg
}
(是已安装系统中映射到并安装于 的$sda2_uuid
分区的 UUID 。安装于。)/dev/sda2
/boot
/dev/sda1
/boot/efi
作为临时措施,这个办法效果很好,但从长远来看显然不切实际,因为它要求我保留闪存驱动器。
这是怎么回事?如何让这台笔记本电脑将其硬盘识别为可启动硬盘?
分区表 ( sudo parted /dev/sda print
)
Model: ATA TOSHIBA MQ01ABF0 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB fat32 EFI System Partition boot, esp
2 538MB 794MB 256MB ext2
3 794MB 500GB 499GB
更新
我记得在某处读到过 EFI 分区(/dev/sda1
就我而言)应该是 FAT16,所以我制作了它的磁盘映像,将其格式化为 FAT16,然后将所有文件复制回来。重新启动后,错误会瞬间闪现:
Failed to open \EFI\BOOT\grubx64.efi
有一个./EFI/ubuntu/grubx64.efi
(相对于 的根目录sda1
),所以我将它复制到./EFI/ubuntu/grubx64.efi
,现在笔记本电脑可以自行启动了。它仍然没有给我 GRUB 菜单,现在它还停留在一个稳定的紫色屏幕上,持续了整整半分钟,才显示任何启动过程的迹象(尽管我已经quiet splash
在内核参数中替换为text
),但它可以启动。
这似乎是一个相当粗糙的解决方案,我不知道为什么在我的情况下,它起作用了,所以我不会将其作为答案发布。不过,我会继续捣鼓它;希望我能找到更好的方法。
答案1
高度的安全伴随着巨大的责任。
您的 BIOS 本身根本无法从加密分区启动。您应该做的是:创建一个小型(未加密)启动分区,加载 LVM 和加密/解密模块,并将启动过程移交给加密的加密/解密模块,然后由该模块完成启动过程。
TrueCrypt 是一款完全自动化此操作的软件,它的唯一开发人员不再维护该软件,但它仍然是最好的!
所以你现在要做的是:
- 做一个未加密备份您的约会记录(如果有)
- 完整阅读您要使用的加密软件的手册(希望是 TrueCrypt)并使用 LVM 手册创建您的 LV(如果这是您第一次使用 LVM)。
- 使用上述步骤重新安装