Older RHEL 7 kernels try to early load microcode even inside virtual machine, which may lead to panic on some hypervisors. In order to circumvent that, microcode is installed into a kernel-version-specific directory (which is not scanned by the dracut script, that constructs early microcode binary in initramfs, by default), and path to microcode files provided only in case initramfs is generated for the kernel version that properly handles early microcode inside a virtual machine (i.e. do not attempts yo load it). The versions of the kernel package that properly handle early microcode load inside a virtual machine are as follows: RHEL 7.6: kernel-3.10.0-930 or newer; RHEL 7.5: kernel-3.10.0-862.14.1 or newer; RHEL 7.4: kernel-3.10.0-693.38.1 or newer; RHEL 7.3: kernel-3.10.0-514.57.1 or newer. RHEL 7.2: kernel-3.10.0-327.73.1 or newer. If you want to avoid adding this ucode for a specific kernel, please create "disallow-early-intel" file inside /lib/firmware/ directory and run dracut -f: touch /lib/firmware/3.10.0-862.9.1/disallow-intel /usr/libexec/microcode_ctl/update_ucode dracut -f --kver 3.10.0-862.9.1 If you want to skip processing of this microcode for all kernels, please create "disallow-early-intel" file inside the "/etc/microcode_ctl/ucode_with_caveats" directory and run dracut -f --regenerate-all: mkdir -p /etc/microcode_ctl/ucode_with_caveats touch /etc/microcode_ctl/ucode_with_caveats/disallow-intel dracut -f --kver 3.10.0-862.9.1 If you want to enforce addition of this microcode to initramfs for a specific kernel, please create "force-early-intel" file inside /lib/firmware/ directory and run dracut -f --kver "": modir -p/lib/firmware/3.10.0-862.9.1/ touch /lib/firmware/3.10.0-862.9.1/force-early-intel dracut -f --kver 3.10.0-862.9.1 If you want to enforce addition of this microcode for all kernels, please create "force-early-intel" file inside /etc/microcode_ctl/ucode_with_caveats directory and run dracut -f --kver "": mkdir -p /etc/microcode_ctl/ucode_with_caveats touch /etc/microcode_ctl/ucode_with_caveats/force-early-intel dracut -f --regenerate-all In order to override late load behaviour, the "early" part of file names should be replaced with "late". See /usr/share/doc/microcode_ctl/README.caveats for additional information.