Lost power during upgrade, how do I recover?

I was attempting to update my 11.10 install to 12.04beta. During the install step, I accidentally lost power to my laptop (the power cable came unplugged) and it shut down. Whenever I go to boot now, I can select my install via Grub and it loads up to where the sign-in should happen, but I get a display that looks like what you see as soon as you shut down. It looks like it locks after checking for the battery.

Is there anyway, with or without Live media, to restore my machine's install/update to 12.04 but still keep my settings/applications/files?


Solution 1:

Did you try booting into the recovery mode (selected via grub)? You could then try to restart the upgrade with

sudo apt-get update
sudo apt-get upgrade

You may need to run

sudo dpkg --configure -a

to fix the partially installed packages.

If the recovery mode is also broken, you could try booting off a live cd and then chroot'ing into your hard drive installation and performing the above steps.

To chroot into your hard drive installation, first boot off a live cd. You can use the ubuntu install CD for this task, just choose the option "try ubuntu" rather than installing. Once booted, open a terminal and mount your root partition. If your root partition is /dev/sda1 (to find out your root partition, there is a guide at https://help.ubuntu.com/community/RecoveringUbuntuAfterInstallingWindows#The_terminal_way):

sudo mkdir -p /media/ubuntu
sudo mount /dev/sda1 /media/ubuntu

Then you need to mount the proc, dev, and sys filesystems into your new environment:

sudo mount --bind /dev /media/ubuntu/dev
sudo mount --bind /proc /media/ubuntu/proc
sudo mount --bind /sys /media/ubuntu/sys

Enable networking:

cp /etc/resolv.conf /media/ubuntu/etc/resolv.conf

Finally, chroot into it:

sudo chroot /media/ubuntu

From here you can run apt-get and dpkg to fix your system. This is identical to the way that people fix grub using chroot, in case you run into problems you can google something like "grub chroot ubuntu livecd" and find more info.