So updated to 10.13.2 wreaked all sorts of havoc on my mid-2009 MacBook Pro. First symptom was that Safari would not load web pages however Chrome worked fine. I noticed that Mail and the App store also were not working properly.
I reset PRAM and this re-enabled SIP. Or maybe SIP was already re-enabled by the update somehow and I was only informed of this after the restart after resetting PRAM? So, I tried to disable SIP by starting up on the recovery partition but I got the "do not enter" sign. Pressing the option key while restarting I noticed that the recovery partition was a recovery partition for 10.13.1! I tried to select it manually but got the do not enter sign again. I don't recall seeing any messages that suggested that my update to 10.13.2 was incomplete but perhaps it was.
I saw a few suggestions on this thread to clean things up with OnyX. I haven't used OnyX and it was no longer installed on my machine so I downloaded and ran the Automation script. Well that's was a mistake. This disabled my touchpad and keyboard. Luckily, I was able to log into my MacBook from my iMac via screen sharing. I noticed that safari and mail were working again but it seems that USB and Bluetooth were not.
Finally, I downloaded the full version of High Safari from the app store on my iMac, created an install flash drive. Using this I disabled SIP and went through the High Safari installation process again including installing dosdude1's patch. All is well now.
Fun!
Recovery updates are stripped down from thr updates installed via App Store, so if you pacthed your Recovery partition it’s still patched and working after an update. So, maybe you don’t have a pacthed recovery.
SIP status are stored on the PRAM, so resetting PRAM is turning back on SIP.
Without SIP you don’t have a working USB, so after clearing the cached with onyx, you are avle to loosr keyboard and trackpad. This is not a bug with Onyx, this is because you reenabled SIP.
You need to boot from any SIP compatible os (El Capitan or later) and turn off SIP and recreate the kext cache.