Updated to make answer more standalone:
Your problem is likely related to ACPI.
acpi_osi kernel parameters according to the suggestions of this question.
Instructions on doing it temporarily (to test it) and permanently (if it fixes your problem) can he found here:
To temporarily add a boot parameter to a kernel:
- Start your system and wait for the GRUB menu to show (if you don't see a GRUB menu, press and hold the left Shift key right after starting the system).
- Now highlight the kernel you want to use, and press the e key. You should be able to see and edit the commands associated with the highlighted kernel.
- Go down to the line starting with
linux and add your temporary boot parameter
acpi_osi=! acpi_osi='Windows 2009'" to its end.
- Now press Ctrl + x to boot.
To permanently add a boot parameter to a kernel:
Always test with a temporary change before making a permanent change. I soft-bricked my laptop because I got overconfident with such changes.
Here is what one has to do to permanently edit boot parameters in order to fix ACPI:
The process to do so is described, for grub2, in more detail in this answer:
# open a terminal
$ gksudo gedit /etc/default/grub
# Find the line starting with GRUB_CMDLINE_LINUX_DEFAULT and append foo=bar to its end. For example:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=! acpi_osi='Windows 2009'"
# Save the file and close the editor.
# Finally, start a terminal and run:
$ sudo update-grub
To see the kernel parameters of a running kernel type:
$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.10.0-33-generic root=UUID=221a0401-7879-4389-a6fe-fea2935f35e5 ro quiet splash acpi_osi=! "acpi_osi=Windows 2009" vt.handoff=7