在USB上安装Ubuntu 15.1(完全安装)但它无法启动

我仍然是Linux新手,但我正在努力学习。 我有两个USB,一个是4GB,并且安装了Ubuntu的ISO(我认为它叫做live,最大容量为4GB的永久存储)并且有一个64gb的usb可以永久完整安装。 我按照本教程安装它,一切看起来都很好(我不得不用终端创建EFI分区)但是它不会启动,实时安装启动没有问题。

我正在使用学校的计算机,这些计算机的UEFI菜单密码受到保护,所以我无法访问它,我将不会有3周的笔记本电脑(我这样做的主要原因)。 我用朋友的笔记本电脑测试它,禁用安全启动,但它仍然无法启动。 我还看到一些教程没有添加EFI分区,所以我尝试没有那个,但仍然无法工作。 而且我知道这不是64GB usb无法启动,因为我之前也有一个实时安装它启动正常。

拜托,我一直试图让它工作两天,任何想法? 我几乎无法理解这些东西,所以如果你能逐步解释那将是非常棒的。

在EFI下,引导加载程序作为普通文件存储在EFI系统分区(ESP)上。 启动哪个引导加载程序存储在NVRAM中。 在EFI模式下,标准Linux安装将其引导加载程序置于ESP上的EFI/ubuntu/shimx64.efi (进而调用EFI/ubuntu/grubx64.efi ),并在NVRAM中存储对此的引用。 当磁盘是内部磁盘时,这可以正常工作。 但是,对于外部磁盘,当从计算机上拔下磁盘时,可能会擦除NVRAM变量。 即使不是,磁盘也只能在安装了操作系统的计算机上启动。

由于操作系统安装程序和紧急实用程序必须在运行它们的计算机之外进行准备,因此EFI为此类引导加载程序提供了特殊的文件名。 在x86-64系统上,该名称为EFI/BOOT/bootx64.efi 。 因此,Ubuntu安装程序使用此名称。 安装到USB闪存盘后,您可以自己做同样的事情:

  1. 安装USB闪存盘上的ESP。 假设它在/mnt
  2. 通过键入cp -r /mnt/EFI/ubuntu /mnt/EFI/BOOT复制原始引​​导加载程序文件。
  3. 通过键入mv /mnt/efi/BOOT/shimx64.efi /mnt/efi/BOOT/bootx64.efi重命名填充程序的副本。

磁盘现在应该可以在任何基于64位EFI的计算机上启动。 当然,您可能需要使用计算机的内置启动管理器,就像在基于BIOS的计算机上一样,从USB闪存驱动器启动。

我不知道为什么,我真的不在乎,我很高兴终于工作了……我正在尝试使用v.15.1,尝试使用14.04.4 LTS并且它没有任何问题! 🙂