Written by: Wen-Fong Ke
Category: Articles
Hits: 6307

Recently, I upgraded my Ubuntu from 9.04 to 9.10 from the desktop in my office.  When I checked later from home using ssh connection, I saw the message saying that a restart is necessary.  So I issued a "shutdown -r" command and waited and waited and...

When I went back in the office, the following message was shown on the screen:

One or more of mounts listed in /etc/fstab can not yet be mounted 
(esc for recovery shell)
/: Waiting for UUID={some UUID here}
/tmp: waiting for (null)
swap : Waiting for UUID={some UUID here}
General error mounting filesysterms
A maintenance shell will now be started
ctrl-D will teminate this shell and retry
Give root passwd for maintenance (or type ctrl-D to continue):

My usual password was never accepted, and certainly Ctrl-D never helped.  Google pointed to many directions, so I was not alone.  Good.  But which is the right one?

After trying many different solutions, here is one that worked for me.

  1. Download the Ubuntu Alternate install CD (found here: http://mirror.anl.gov/pub/ubuntu-iso/CDs/karmic/, scroll down a page).  Burn and use it to boot.  Select the language and select REPAIR A BROKEN SYSTEM. Follow all the way to choose a partition with system to be mounted (in my case, /dev/sda1).  Then, there is the shell!
  2. Do the following:
    • apt-get update
      apt-get upgrade
      apt-get -f install
    then
    • dpkg --configure -a
    The installation continues for some time and stops when done, but some packages (for example, mysql-server-5.1) are not configured due to some dependency problem.
  3. Reboot.
  4. Still, the problem of root not mounted and the root password not correct remain.
  5. Boot from the CD again to get the shell. Edit /etc/fstab and replace "UUID={Some UUID Here} /  ext3" by "/dev/sda1 / ext3" (for example), and other UUID items by appropriate /dev/xdxx's.  Save and Reboot.
  6. IT WORKED.
  7. Log in and fix the package problems.

It is now fully functional as you can see.  Thanks to all the people who contributed their directions on the web.