The microcode_ctl startup script uses files in /usr: grep MICROCODE /usr/include/linux/autoconf.h | grep -q ^#define If /usr is mounted from an NFS server it is not yet available when the microcode_ctl script is run (S00 vs S25).
It's even worse. What it tries to do in that grep is utterly bogus. I nuked the entire bit.