windows 7 booting in background but shows the grub screen of UBUNTU 14.04 wallpaper in distorted way

I dual booted my HP Pavilion 15-n012tx (which was pre-installed with Windows 8 pro) to Windows 7 and Ubuntu 14.04 Trusty Tahr. Booting them was fine with no errors. Installed Windows and Ubuntu in separate partitions and updated my grub to show entries of Windows 7 and Ubuntu.

Problem: whenever I select Windows 7 entry in Grub after a shutdown, it gets stuck at a pink/violet (I don’t know the exact colour but its the grub colour in a distorted way) screen, but Windows 7 loads in the background, as I am able to hear the Windows 7 start-up sound.

The same happened while dual-booting Windows 8 and Ubuntu 14.04. I couldn't find a solution to it, so went on for Windows 7 and Ubuntu 14.04.

config files:

  • /etc/default/grub
  • /boot/grub/grub.cfg
  • lspci -nnk
  • lsblk -f

enter image description here


Solution 1:

I faced the same problem with Dell Inspiron 15 3542 with Intel HD 4400 graphics.

GRUB_TERMINAL="console"

Enabling the above line in /etc/default/grub solves the problem but disables the graphical grub and presents a basic text based Grub screen.

Mismatch in the resolution of graphical grub and windows boot screen appears to be the cause of the problem.

To enable graphical grub

$ sudo nano /etc/default/grub 

Comment the line:

# GRUB_TERMINAL="console"

Uncomment the line:

GRUB_GFXMODE=1024x768

This changes the grub graphical boot screen resolution to 1024x768. Apply changes to grub:

$ sudo update-grub

I tried the following resolutions on my system:

640x480 - not garbled, but windows boot graphics is not displayed
800x600 - garbled at times
1024x768 - works
1366x768 - garbled

The 1024x768 worked well for my system. Experiment with the resolutions and find one suitable for your system. Carry out various boot checks like restarting the system from linux to windows, windows to windows, windows to linux and power-on to boot windows.

Solution 2:

You could try to disable the graphical grub spash.

Edit /etc/default/grub (as root) and uncomment

#    GRUB_TERMINAL="console"

(remove the #)

after that, run sudo update-grub and see if it helped.

Solution 3:

FOR GUI USERS:

  1. INSTALL grub-customizer.

  2. Goto General settings->advanced settings

  3. check (GRUB_TERMINAL -> console) in advanced settings.

  4. Try different resolution in Appearance settings. check custom resolution -> Try first 640x480