For a smooth boot process, we want to display something other than a black screen as early as possible and leave it on screen until the desktop is ready. vt.handoff=7
is part of this. We have the boot loader display an aubergine background (we wanted to have an Ubuntu logo as well, but there are problems with different aspect ratios between the boot loader and the real system, so this is the next best thing). vt.handoff=7
then causes the kernel to maintain the current contents of video memory on virtual terminal 7, which is a new “transparent” VT type. The first time that the kernel is told to switch away from VT 7, either from Plymouth or manually (Alt-F1, etc.), these contents are lost and VT 7 reverts to text mode.
The upshot is that, when everything is working correctly, you get an aubergine background on the way out of the boot loader, then at some point Plymouth displays a logo and a progress indicator on top of that, and then the display manager comes up and smoothly replaces that with a login prompt.
Also, you asked about the search
command in GRUB. That is documented in the GRUB manual.
gfxpayload=keep
andvt.handoff=7
are two parts of the same overall scheme;gfxpayload=keep
tells GRUB not to switch the video mode back to the firmware default before booting the kernel, andvt.handoff=7
tells the Linux kernel to behave as in my answer above. I don’t know where your error message comes from. – Colin Watson Sep 13 ’15 at 11:05