How to get write access to High Sierra (APFS) drive in Read-Only mode on Macbook with faulty AMD GPU
Some background: My 2011 17" MacBook Pro (running High Sierra) has finally succumbed to the Radeon issue and won't boot up. I know this because it would flicker green where there was pixel shading so I was using the gfxCardStatus utility to only use the Integrated GPU.
Well this week it crashed and when I booted up, it would show green vertical bars over the grey background. It booted up once, I saw the desktop and then rebooted. since then I've been looking at all of the articles online and was going to proceed with disabling the AMD GPU using the terminal in Single User Mode
.
This answer was particularly useful and I managed to get as far as disabling the GPU on by setting the NVRAM
variable:
nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
The only problem was mounting the drive as writable, seems that my APFS
formatted drive is in read-only mode and I'm unsure how to proceed from here. I've removed the drive and mounted it in Windows using Paragon APFS but it's only in read-only mode. So I'm unable to move the required AMDRadeonX3000.kext
and am now stuck.
When I boot up now, I see the normal bootscreen, see the Apple logo and the progress bar goes to about 50-60% and then nothing else happens.
The real question(s): Does anyone know how to either disable the Active Snapshots? Is this the right path to follow? Am I going to break things further?
Would I be complicating things if I installed this drive in my 2012 MBP i7? I have a feeling it's not going to boot like a Windows machine would and I don't want to do any damage.
I'm not opposed to reflowing etc it's just that in South Africa, the guys who will do it seem sketchy.
Solution 1:
MacOS protects system level files as well as kext files. Maybe the following will help you. Please backup everything up and research it a little further before attempting making any of these changes.
To disable System Integrity Protection: Boot into recovery mode and enter the following terminal command
csrutil disable
Reboot
Changing Kext Files To allow yourself the ability to change kext files you should try this:
sudo nvram boot-args="kext-dev-mode=1"
If you replace or edit any kext files, it’s very important you maintain the correct owner and user/group permissions. You may also need to rebuild your kextcache after changing any of the files within your extensions folder.
To always boot and shutdown in verbose mode This will help identify hang ups.
sudo nvram boot-args="-v"
To return your system back to normal
sudo nvram boot-args=