我的笔记本电脑无法将其内置磁盘识别为可启动磁盘。我该如何修复这个问题?

我的笔记本电脑无法将其内置磁盘识别为可启动磁盘。我该如何修复这个问题?

我买了一个东芝卫星并使用自制 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/sdasudo 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 是一款完全自动化此操作的软件,它的唯一开发人员不再维护该软件,但它仍然是最好的!

所以你现在要做的是:

  1. 做一个未加密备份您的约会记录(如果有)
  2. 完整阅读您要使用的加密软件的手册(希望是 TrueCrypt)并使用 LVM 手册创建您的 LV(如果这是您第一次使用 LVM)。
  3. 使用上述步骤重新安装

相关内容