Linux screenshots and virtual machines fail to boot due to graphics acceleration settings in GRUB

Issue

Screenshots or local virtualizations from a Datto Linux Agent or agentless backup reach the Linux OS loading screen then hang. Screenshot verification failures capture loading or blank screens.

Environment

  • Datto ALTO
  • Datto SIRIS

Cause

The Graphics Acceleration setting in GRUB may cause some Linux virtualizations to hang on boot during screenshots or local virtualizations. This is caused by the set gfxpayloadentry setting in grub.

Resolution

For local virtualizations/screenshots:

Change the video controller

  1. Access the Datto Device Web locally or via the Partner Portal.
  2. Click the Protect tab.
  3. Find the agent that you wish to configure.
  4. Click Configure Agent Settings for that agent.
  5. Go to the Advanced section, and scroll to Virtualization Video Controller
  6. Choose Cirrus from the dropdown menu.
  7. Click APPLY
  8. Attempt another screenshot or local virtualization.

If changing the storage controller does not work, try the following steps.

Try different gfxpayload settings:

  1. Reboot the hung VM to see the GRUB menu.
  2. Press "e" to edit the boot config on the GRUB boot menu.
  3. Confirm the presence of the line item and change the resolution value to "auto" or "text" (If one doesn't work, try the other):
    • Example Before:
      set gfxpayload=1024x768x16
      
    • Example After:
      set gfxpayload=text
      
  4. Press F10 to start the VM.

If the above steps don't resolve the issue, you can try removing the setting completely.

Remove the setting altogether:

  1. To validate, reboot the hung VM to see the GRUB menu.
  2. Press "e" to edit the boot config on the GRUB boot menu.
  3. Confirm the presence of the line item, and remove it:
  4. set gfxpayload=#someresolutionnumbershere#
  5. Press F10 to start the VM.

example.png
Figure 1: Example of problematic grub menu entry

Additional Resources

GNU GRUB Manual: 15.1.13 gfxpayload(external link)