Single user mode comes up with wrong boot disk

gpusingle-userstartup

For some reason Single User Mode is now booting to something other than my usual HD partition: The disk has no /Users directory; fsck -fy takes only 1.7sec; df shows the root device to have only 3.9M 512-blocks, etc. It is also write protected. When I tried to fix that by (1) running csrutil disable in the previous cmd-S-R boot, then (2) running mount -rw /, it only yielded a bunch of the following to stderr:

disk2s1: device is write locked

disk2s1: IO failed, error = 13

(6 of the first, 7 of the second, intermixed).

Well, fwiw at least I know it is using disk2s1.

ls /dev/disk* yields

disk0 disk0s1 disk1 disk1s1 disk1s2 disk1s3 disk2 disk2s1

I thought of trying to mount one of the others but, (1) I can't find out what /dev/disk* to mount since diskutil list is not available in Single User Mode, and (2) even if I knew, since the file system is un-writeable I cannot mount any of these into /Volumes anyway.

So … The Big Question: How can I get Single User Mode to boot on my standard boot volume?

System:

SW: running High Sierra 10.13.3

HW: 15" late 2011 MacbookPro 8,2. I can't look up more details since system_profiler seems to be unavailable in SingleUser mode, but iirc it is a 2.4GHz [sic] quad core i7 w 16GB-RAM, 512G-SSD.

Background:

(1) Why I need Single User Mode — workarounds for wonky dGPU:

  • This machine has the 2011-MBPro's famously wonky AMD discrete graphics chip problem. After exhausting all Apple's motherboard replacement options over the years, I use workarounds the user community has discovered to get the system to use the integrated Intel graphics chip instead. These are done in Single User mode, basically whenever I reboot. Without the workarounds, any usual reboots to the GUI (simple reboot, option reboot, safe mode,…) fail to a gray-screen mid progress bar, with the machine getting hot and fans running. The workarounds I currently use come from this link:
    GPU problem – Boot Hangs on Grey Screen

  • These workarounds involve moving the AMD*300*.kexts around so the system does not use the AMD discrete GPU chip for graphics and setting nvram gpu-power-prefs so that it does not even power that chip up, else it runs full power doing nothing except warming up the room. Note that the nvram setting can be done while running from this weird write-locked startup disk. Moving the kexts however, cannot because of the write lock — and this is the killer for me, leaving the machine unusable.

  • The workarounds had worked fine for 6 months or more now, tho tend to get messed up whenever there is a system update (not surprising). I believe there was a minor update a couple of days ago. Later that day a few hours after I closed my laptop, it mysteriously rang it's startup chime. It has been flakey ever since.

  • This problem (weird startup disk in S.U.Mode) had me stuck for a day, trying things. Then everything worked for one S.U.Mode boot — got to the usual boot drive. Not sure if it is something I did or if it was random. Anyway I ran fsck -fy which showed no problems, and ran my usual nvram gpu-power-prefs script and did a reboot. The GUI then came up fine, using the integrated graphics chip. (I fortunately did a backup during this time.) Next time the machine went to sleep though, it was broken again. I tried a reboot into S.U.Mode, but it used the small limited boot disk.

(2) I've tried resetting the SMC and NVRAM, to no avail. An extended HW check (boot w D key) shows no problems. I do not have another machine with firewire ports to access the HD in target disk mode. (Glad I have a backup!)

(3) I have set nvram bootargs="-v", but everything scrolls by too fast to see what might be going on.

(4) I'm just trying to make this machine last until the 2018 MBPro's come out.

Best Answer

I was just working on my 2011 mbp. I think the solution is to downgrade it to Sierra. I was happily on OS Sierra doing my work, but my bloody itchy finger clicked install, and I had to redo the kernel stuff, but it still didn’t boot.

I took out my hard disk and booted it from another MAC, and it worked perfectly. So my Guess is the the kernels we’re looking for some hardware that the mac doesn’t have, so instead of figuring that out, i’lol got back to Sierra.

Oh, to access csrutil, I used cmd-R from my other machine, and opened terminal to disable it.