Ubuntu – Why can’t I restart/shutdown

shutdown

When I shutdown/restart get a black (shell-like) full-screen with some large text saying stuff like:

ubuntu 10.10 [129.171175] Restarting system. eco
nds ... [OK]
...
Unmounting weak filesystems ... [OK]
will now restart

Then nothing happens and I have to physically hit the reset button.

Best Answer

In addition to what Delan suggested, in general you should certainly try different values for the reboot= boot parameter; I'd suggest reboot=b in particular, since that's the most common one for machines to need. Here's the comment from linux/arch/x86/kernel/reboot.c with the possible values:

/* reboot=b[ios] | s[mp] | t[riple] | k[bd] | e[fi] [, [w]arm | [c]old] | p[ci]
   warm   Don't set the cold reboot flag
   cold   Set the cold reboot flag
   bios   Reboot by jumping through the BIOS (only for X86_32)
   smp    Reboot by executing reset on BSP or other CPU (only for X86_32)
   triple Force a triple fault (init)
   kbd    Use the keyboard controller. cold reset (default)
   acpi   Use the RESET_REG in the FADT
   efi    Use efi reset_system runtime service
   pci    Use the so-called "PCI reset register", CF9
   force  Avoid anything that could hang.
 */

The kernel has a number of so-called "quirks" for particular machines that require the BIOS reboot method, but like any hardware quirks database the chances are that it's missing a few. Your computer may be one of the ones that's missing. If you find that reboot=b consistently fixes this for you, then please run 'ubuntu-bug linux' to report a kernel bug asking for this to be made the default for your machine.

You can make this change either on the GRUB command line (hit 'e' on the relevant boot entry and go to the end of the linux line), or, to make it permanent, edit /etc/default/grub and change the GRUB_CMDLINE_LINUX line, being careful to put reboot=b (or whatever) inside the quote marks.