title: What would stop UEFI from being able to run a .NSH script?
body: <p>EDIT: Editing in case anyone stumbles upon this in the future. The UEFI boot partition was formatted in NTFS and it needed to be FAT32.  Apparently the American Megatrends UEFI doesn't have full support for NTFS, so you can 'dir' and 'type' files from the UEFI shell, but you can't run scripts or write to files.  The solution was to boot into Windows, copy all of the files to a different drive, format the partition as FAT32, and copy the files back.</p>
  
  <hr>
  
  <p>Original Problem:</p>
  
  <p>Long story short, I've got a computer (an MSI x99s gaming motherboard to be exact) that I need to boot from the existing UEFI on the motherboard.  The reason I need to boot from UEFI is that I got a new SSD and the legacy BIOS doesn't recognize it, but there's a 3rd party driver out there that does.</p>
  
  <p>Anyway, I put the driver on one of my other hard drive partitions, along with a <code>Startup.nsh</code> script that says:</p>
  
  <ol>
  <li>load the driver</li>
  <li>map -r</li>
  <li>run the <code>.efi</code> that boots Windows 10 from the now-visible SSD partition</li>
  </ol>
  
  <p>I know this sequence of commands will boot to Windows 10, because it works if I type it in from the UEFI shell prompt.  The problem is that when I run any .nsh file from the UEFI shell, including <code>startup.nsh</code>, it produces this error message:</p>
  
  <blockquote>
    <p>Shell: Cannot read from file - 800000000000001f</p>
  </blockquote>
  
  <p>If I use the 'type' command I can see the contents of the <code>.nsh</code> file just fine, so I figure it's either my firmware just has some horrible bug in it, or there's some attribute I need to set on the <code>.nsh</code> file.</p>