Alright, found
this fun little solution explaining why some processes will try to hang, but I'll summarize and get to the main things to try.
Open up your boot command with (I'm using
vi, feel free to use whatever text editor you want):
- Code: Select all
sudo vi /etc/default/grub
You should find a line that says
- Code: Select all
GRUB_CMDLINE_LINUX=""
It's unlikely that there's anything currently in your quotations, but if there is, just add a space and the next thing (all within these quote). Otherwise, just insert this into the quotes:
- Code: Select all
reboot=(something)
This
(something) can be one of the following
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.
For each item, try the shutdown, and see if it follows through. It doesn't matter which one works, just leave it after. It's suggested that you start with
bios or
acpi, see if either of those work first, since usually it's one of those.
After the addition of this term, save the file, then run
- Code: Select all
sudo update-grub
and let it reconfigure. Once it's done, try shutting down. I might suggest making sure that it ends up being off at some point witch each test, just to be certain that it's actually looking at this line during the boot; so technically, to make sure each test works, you may need to shutdown twice, if that makes sense. You can see if it actually ended up booting with the information with
- Code: Select all
cat /proc/cmdline
and your addition should be around the end. Try this, see if one works.