I had the same issue and i found a solution after searching for many hours and it worked for me. You need to recover your Ubuntu installation disks via a disk check(chkdsk) in windows.
Depending on the problem, Windows may have run an automatic chkdsk or you may need to run it manually. It's not always necessary, but it will never hurt, so the first thing is to run it.
- Go to My Computer on XP or Computer on Vista/7,
- Right click the drive you installed Ubuntu on e.g. right click on C:,
- Select Properties, select the Tools tab, then under Error-checking click Check now.
- Select to Automatically fix file system errors or Scan for and attempt recovery of bad sectors
- When the drive you installed on is C: the computer will tell you it has to schedule the scan for the next time you start your computer. Reboot to complete.
Locate recovered files/directories
The first thing to do is to look for the
\found.000 folder on the drive in question i.e.
C:\found.0000. This is hidden by default and (on my Windows 7 install) I also had to tell Windows not to "Hide protected OS files" just to see it. You may also have to recover from an administrator command prompt on Windows 7 (see below).
Hit the START key, enter CMD, then look above and right click on CMD.exe and select "Run as
Volume in drive C is OS
Volume Serial Number is B4B7-99A8
Directory of C:\found.000
19/07/2011 02:02 PM 15,000,000,000 file0000.chk
1 File(s) 8 bytes
0 Dir(s) 222,258,069,504 bytes free
So now you look for your root.disk (or other .disk files) and copy them back to the \ubuntu\disks folder. If the entire \ubuntu\disks folder is missing, you'll likely find a dir0000.chk directory and within that the root.disk, swap.disk and empty \boot\grub folders. Copy this back to \ubuntu renaming the directory todisks.
C:\found.000>move file0000.chk \ubuntu\disks\root.disk
1 file(s) moved.
Or if the whole disks folder is recovered:
C:\found.000>move dir0000.chk \ubuntu\disks
1 dir(s) moved.
If you're missing the root.disk but there is no file of that name, it may have been renamed chk0000.chk. Rename this to root.disk and copy back to \ubuntu\disks.
If the corruption was minor, then likely everything will work fine. If the corruption is major Windows may not even recover the root.disk at all.
I have written a full post on this topic in this blog post.