I am unable to boot from any drive, including my windows hard drive, or a linux live disk, and every single option except the change language option results in the same error message. Is there any way to solve this? Right now my laptop is useless
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
That looks like a bug in rEFInd's memory management. Chances are it was triggered because of changes Microsoft wrote to the ESP during its update; however, I don't know what specific changes or even where the bug exists. (The filename reference is to code in the Tianocore development kit, not in rEFInd, so it's not very useful except to hint that it's a memory management bug.)
The fact that the message references /usr/local/UDK2014, though, is significant, since it means that you're using rEFInd 0.10.8 or earlier; the binaries I built for 0.10.9 and later releases use UDK2017 rather than UDK2014. I've made quite a few changes since then, so it's possible that the bug has already been fixed, or at least bypassed. Thus, I suggest you upgrade to a more recent version. Of course, to do this you'll need to bypass the existing rEFInd. There are several ways to do this, including:
Work on another computer -- On most computers, it's possible to remove the hard disk and plug it into another computer. You can use that other computer to replace the EFI/refind/refind_x64.efi binary with the latest (0.11.2) version. You can then return the disk to its original computer and try booting with it.
Use an emergency system -- You can boot an emergency boot CD or USB drive, such as an Ubuntu installation medium. You'll need to use the computer's built-in boot manager to select this boot medium.
Use a rEFInd CD or USB drive -- Similar to the preceding, you can use the latest rEFInd on a CD or USB flash drive. (Images are available from the rEFInd downloads page.) Of course, success with this method depends on the bug having been fixed already.
Bypass rEFInd for another boot loader on your system -- If you have another boot loader on your computer, you can use your EFI's built-in boot manager to select it to boot. This boot loader might be GRUB, Windows' boot loader, Apple's boot loader, or something else.
Use an EFI shell -- In some cases, this is a special case of the preceding; however, some computers provide a built-in EFI shell. You could use this tool to update the rEFInd binary or launch another boot loader. If it's present, you can usually launch the built-in shell via the built-in boot manager.
Most of these options rely on a working boot manager provided by your EFI. Most EFIs provide this feature, but details on how to access it vary from one computer to another. In most cases, you must hit Command/Alt (on Macs), Esc, Enter, or a high-numbered function key (often F8, F10, or F11) soon after you power on the computer to access it. Some computers display a prompt about accessing the built-in boot manager, but some don't, so you may need to check with the computer's or motherboard's manufacturer for details, or ask about it on a hardware-specific forum.
If you successfully upgrade rEFInd but the upgraded version fails in the same way, I would like to work with you to fix the problem. This will require your running a series of test versions of rEFInd, though, so it will be tedious. You'll also need another way to boot the computer in the meantime. If you can use another boot loader, such as GRUB, via the built-in boot manager, then that may suffice.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
After a windows update this morning, when my computer restarted I get this error
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)
I am unable to boot from any drive, including my windows hard drive, or a linux live disk, and every single option except the change language option results in the same error message. Is there any way to solve this? Right now my laptop is useless
That looks like a bug in rEFInd's memory management. Chances are it was triggered because of changes Microsoft wrote to the ESP during its update; however, I don't know what specific changes or even where the bug exists. (The filename reference is to code in the Tianocore development kit, not in rEFInd, so it's not very useful except to hint that it's a memory management bug.)
The fact that the message references
/usr/local/UDK2014
, though, is significant, since it means that you're using rEFInd 0.10.8 or earlier; the binaries I built for 0.10.9 and later releases use UDK2017 rather than UDK2014. I've made quite a few changes since then, so it's possible that the bug has already been fixed, or at least bypassed. Thus, I suggest you upgrade to a more recent version. Of course, to do this you'll need to bypass the existing rEFInd. There are several ways to do this, including:EFI/refind/refind_x64.efi
binary with the latest (0.11.2) version. You can then return the disk to its original computer and try booting with it.Most of these options rely on a working boot manager provided by your EFI. Most EFIs provide this feature, but details on how to access it vary from one computer to another. In most cases, you must hit Command/Alt (on Macs), Esc, Enter, or a high-numbered function key (often F8, F10, or F11) soon after you power on the computer to access it. Some computers display a prompt about accessing the built-in boot manager, but some don't, so you may need to check with the computer's or motherboard's manufacturer for details, or ask about it on a hardware-specific forum.
If you successfully upgrade rEFInd but the upgraded version fails in the same way, I would like to work with you to fix the problem. This will require your running a series of test versions of rEFInd, though, so it will be tedious. You'll also need another way to boot the computer in the meantime. If you can use another boot loader, such as GRUB, via the built-in boot manager, then that may suffice.