将Ubuntu安装到USB驱动器并将其引导至Uefi和Bios系统。

所以我对linux完全不熟悉。 我不想安装到我的内置硬盘。 所以我一直试图在USB上独立安装它,所以我可以在任何PC(UEFI或BIOS)上启动它。

所以我创建了一个live usb并格式化了另一个usb,我想把linux放在上面。 我继续使用live linux,将linux安装到空usb并选择bootloader安装在我的Usb上。 但是当它完成安装时,我会在我的内部硬盘上看到efi分区和东西的grub痕迹。

我无法启动我的USB以在另一台PC上启动Linux。

我一直在谷歌搜索连续两天! 我见过很多人都在问这个问题,但由于我是初学者,所以我不明白答案。 我根本不了解linux,所以请详细解答。

Ubuntu安装过程(不是grub-installer本身,它将写入目标)写入sda的EFI分区,无论你告诉它什么。 已经有几个错误提交,其他可能更糟的问题,如机器的本机启动项更改。 如果您搜索,请参阅错误1173457,1229488,…等等。 将自己添加到您认为影响到您的任何错误中。

解决方案很简单,只需安装USB的EFI分区并从硬盘的EFI分区复制所有内容即可。 然后,将来自… / EFI / ubuntu的Ubuntu引导加载程序shimx64.efi和grubx64.efi复制到… / EFI / Boot /,并将… / EFI / .Boot / shimx64.efi重命名为bootx64.efi。 这是用于可移动媒体的引导程序。 它仍然需要grub.cfg文件在EFI / ubuntu中,所以留在那里。 请记住,这些都只是FAT文件系统上的文件。 您可以像从Linux系统一样轻松地从Windows文件管理器复制和重命名它们。

备份硬盘的EFI分区,使用USB安装可能会改变一些事情。 知道启动顺序是什么,因为即使可以在USB安装后更改。