Ubuntu 16.04 hangs on shutdown/restart

Solution 1:

I too had this issue. It appears to be a bug in multiple distributions.

My simple fix was to edit /etc/default/grub line:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

to

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi=force"

Run update-grub.

Works every time now. I use a Lenovo G50 laptop. I'm pretty sure I changed this line in Grub with previous (other) linux distros on this laptop too.

Solution 2:

Once you have finished your work and completed closing all your applications in order to shutdown or reboot your OS please follow these steps to alleviate frustrations.

  1. Try sudo swapoff -a && systemctl poweroffas a workaround for now.
  2. There is a potential fix in Xenial-proposed in the systemd 229-4ubuntu5 package. Go to your System Settings->Software and Updates->Developer Options tab click the box next to Pre-release (xenial-proposed). enter your root pwd, Refresh the cache. Updates tab use "display updates immediately drop down" close System Settings. Start software updater and install now.
  3. If you still have the issue try reading these bugs: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1464917 for information on how to get log data and as suggested there file a new bug report. Also read bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788303.
  4. Follow the debugging instructions described in the "Debugging boot/shutdown problems" section of /usr/share/doc/systemd/README.Debian.gz to check if there are any hanging jobs at shutdown. You will need to start the debug shell prior to each shutdown or reboot by entering: systemctl start debug-shell Capturing a screen photo of journalctl -b in the rescue shell ctl+alt+F9 might be enlightening. Also the output of systemctl list-jobs and systemctl --failed Besides a screen shot you can dump the output of these commands and appended each into the same "filename.text" on / root by adding >>filename.text at the end of the commands e.g. journalctl -b >>filename.text journalctl -xe >>filename.text systemctl list-jobs >>filename.text systemctl --failed >>filename.text lsblk >>filename.text All of these will be in the same file appended together for you to analyze upon your next boot and if you do file a bug report it can be helpful to attach the file into your bug report.

Update

I had these Hangs for quite a while but was eventually at a point where I learned my HDD was beginning to fail sectors etc. So, it was time for a new HDD and reinstall. I reinstalled the OS on a single boot HDD with Swap as the 1st, Root as 2nd, and Home as 3rd logical partitions as per recommendations from Ubuntu. Technically, sda1 is Grub, sda2 is Extended, sda5, sda6, sda7 are swap, root, and home respectively; sda3 and sda4 are not present. This problem has not been present on the newly installed OS on the HDD since then, 9+ months approximately. I am running 16.04.02 LTS at this point without any of the Hangs on restart or shutdown. The previous OS was a dual install Win7/Ubuntu and the Swap partition was at the end of the HDD.

I am not stating that this problem is tied to a dual boot system, a failing HDD, or the order in which I placed the partitions but, in my case one, two, or all of these factors existed. Now, I do not suffer the aggravation of the "Reached Target Shutdown" hang.

Solution 3:

I had an issue with hanging on shutdown, this is what I did:

OPEN TERMINAL

sudo -H gedit /etc/default/grub

Change the line:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

to

GRUB_CMDLINE_LINUX_DEFAULT="acpi=force"

By removing quiet and splash allows text during shutdown, helps to see where the hang may be.

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" Removing "quiet" out here will display a text output during the boot, whereas removing "splash" will display a black screen instead of the splash image.

Save and close Gedit

Then update Grub in terminal:

sudo update-grub

ADDITIONAL:

I noticed I had a 'STOP JOB' running too, so I reduce the timeout in /etc/systemd/system.conf:

sudo -H gedit /etc/systemd/system.conf

remove # and change timings in the following lines:

DefaultTimeoutStartSec=5s

DefaultTimeoutStopSec=5s

Then run:

sudo systemctl daemon-reload

This worked for me.

Solution 4:

I've tried almost all suggestions here. The only action that solved my same problem of shutdown/reset was changing DefaultTimeoutStartSec & DefaultTimeoutStopSec in /etc/systemd/system.conf to '10':

sudo -H gedit /etc/systemd/system.conf

and then edit to

DefaultTimeoutStartSec=10s
DefaultTimeoutStoptSec=10s

Solution 5:

I was just experiencing somewhat the same issue, restarting would take me to a black screen or sometimes a black screen with blinking cursor and it would never accomplish, I have to note I didn't have a problem with shut down.

So what I did was, I opened Drive Manager, and I installed Intel-Microcode firmware for the CPU, I shutdown the computer, and then I tired restarting the OS, and it finally worked.

Changing from Do not update the CPU microcode to intel-microcode

I'm on Linux Mint Cinnamon 18.3 which is based on Ubuntu Xenial Xerus 16.04 LTS.

Adding the comment of user ssasa in the answer since it could help others and might get purged with the "no longer needed" flag:

Tried every Answer here and none help. But this was the closest. Changing from open source driver nouveau to Nvidia proprietary driver helped in my case.