I finally got down to do some debugging. I downloaded the grub source via apt and made some changes to the source code. Specifically, near line 567 of grub-core/disk/efi/efidisk.c, adding the status code to the error message:
"failure writing sector 0x%llx to `%s' [status %lx]" with variable status passed in. Now I can read the actual error code, which on my machine is [status 80000....0012]. The error code of 12 seemingly corresponds to GRUB_EFI_NO_MEDIA. Obviously reads and writes from the physical device succeed, as the boot loader runs and the operating system runs. I have no idea why only GRUB's writes are not working (or why NO_MEDIA specifically is the returned error), but I plan to look into that more over the next week or so. The drive itself is reported as using the SATA3 interface by hdparm, smartctl, etc., and I know it is an M.2 chip from specifications. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1553687 Title: Lenovo Y700-17ISK Boot Error: Failure writing sector 0x21c8800 to 'hd0' Status in grub2 package in Ubuntu: New Status in linux package in Ubuntu: Expired Bug description: Lenovo Y700-17ISK (Intel Core i7-6700HQ/RAM 16GB/SSD 512GB/Nvidia GTX960M 4GB) Operating system: Ubuntu 16.04 (xenial-desktop-amd64.iso 04-Mar-2016, kernel 4.4.0-10-generic, nvidia 361.28) Boot Error: failure writing sector 0x21c8800 to 'hd0' press any key to continue... ProblemType: Bug DistroRelease: Ubuntu 16.04 Package: linux-image-4.4.0-10-generic 4.4.0-10.25 ProcVersionSignature: Ubuntu 4.4.0-10.25-generic 4.4.3 Uname: Linux 4.4.0-10-generic x86_64 ApportVersion: 2.20-0ubuntu3 Architecture: amd64 AudioDevicesInUse: USER PID ACCESS COMMAND /dev/snd/controlC0: aljosa 1776 F.... pulseaudio CurrentDesktop: Unity Date: Sun Mar 6 11:11:22 2016 HibernationDevice: RESUME=UUID=ac022671-63df-40ae-bffe-66fff3b35125 InstallationDate: Installed on 2016-03-05 (0 days ago) InstallationMedia: Ubuntu 16.04 LTS "Xenial Xerus" - Alpha amd64 (20160304) MachineType: LENOVO 80Q0 ProcFB: 0 inteldrmfb ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.4.0-10-generic.efi.signed root=UUID=aa4325c4-4b4c-4372-b8ca-a66c3e5b2aa6 ro quiet splash vt.handoff=7 RelatedPackageVersions: linux-restricted-modules-4.4.0-10-generic N/A linux-backports-modules-4.4.0-10-generic N/A linux-firmware 1.156 SourcePackage: linux UpgradeStatus: No upgrade log present (probably fresh install) dmi.bios.date: 01/31/2016 dmi.bios.vendor: LENOVO dmi.bios.version: CDCN30WW dmi.board.asset.tag: NO Asset Tag dmi.board.name: Allsparks 7A dmi.board.vendor: LENOVO dmi.board.version: NO DPK dmi.chassis.asset.tag: NO Asset Tag dmi.chassis.type: 10 dmi.chassis.vendor: LENOVO dmi.chassis.version: Lenovo ideapad Y700-17ISK dmi.modalias: dmi:bvnLENOVO:bvrCDCN30WW:bd01/31/2016:svnLENOVO:pn80Q0:pvrLenovoideapadY700-17ISK:rvnLENOVO:rnAllsparks7A:rvrNODPK:cvnLENOVO:ct10:cvrLenovoideapadY700-17ISK: dmi.product.name: 80Q0 dmi.product.version: Lenovo ideapad Y700-17ISK dmi.sys.vendor: LENOVO To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1553687/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp