我在笔记本电脑上安装了Ubuntu和Windows 10双引导。在启动和更新Windows 10之后,Windows重置EFI启动顺序。为了将重新查找作为我的主要引导选项,我过去常常从一个重新查找USB驱动器启动到Ubuntu并恢复我的EFI配置。但是今天当我尝试引导到重新找到USB棒时,我发现了一个错误:
ASSERT /usr/local/UDK2014/MyWorkSpace/MdePkg/Library/BaseMemoryLib/CopyMemWrapper.c(56): (Length - 1) <= (0xFFFFFFFFFFFFFFFFULL - (UINTN)DestinationBuffer)
ASSERT /usr/local/UDK2014/MyWorkSpace/MdePkg/Library/BaseMemoryLib/CopyMemWrapper.c(57): (Length - 1) <= (0xFFFFFFFFFFFFFFFFULL - (UINTN)SourceBuffer)一开始我以为是USB棒,因为我修改了它的控制器,但是在创建了一个新的控制器后,我得到了同样的错误。在Ubuntu上,我备份了以前的EFI配置,因为efibootmgr没有列出重新查找,所以我重新安装了它。在重新启动后,refind告诉我:
配置文件“refind.conf”丢失!
尽管存在refind.conf。我尝试使用提供的refind-sample.conf,而不是我的,但它仍然不起作用。你是否知道为什么会发生这种情况,更重要的是如何解决它?你需要更多的信息吗?
发布于 2016-08-02 15:26:56
EFI系统分区(ESP)上的FAT文件系统有可能损坏。这在Windows 8和更高版本的双引导系统中很常见,因为Windows现在并不默认关闭,而是休眠。因此,您需要禁用休眠和相关的快速启动选项,如下所述:
在禁用这些功能之后,您可能需要使用Ubuntu中的dosfsck或Windows中的类似工具来修复文件系统。在极端情况下,您可能需要备份分区,在其上创建一个新的胖文件系统(使用mkdosfs或类似的内容),并恢复它。如果这样做,您可能需要编辑/etc/fstab中ESP的"UUID“(实际上是一个序列号)。
请注意,这样的问题有时出现在一个环境(Windows、Linux、UEFI)中,而不是另一个环境中,因为每个环境都有自己的驱动程序,它们可能对文件系统的损坏有不同的响应。实际上,许多EFIs有相当弱的脂肪驱动程序,这些驱动程序对损坏,有时甚至对Windows和Linux认为很好的文件系统反应很差。
https://askubuntu.com/questions/804689
复制相似问题