I had this problem last night, and found this thread, and eventually, via some comments on this thread and another link that ?? provided, discovered what the ACTUAL problem was for me, and I believe it may be a problem for a number of others here, as some have mentioned installation from an external hard drive. This solution may also work for those who have encountered this problem for other reasons, but I'm not certain.. Step by step, what I did: 1. I followed this person's grub solution problem: http://ow.ly/1zF5 (If in fact, with your particular problem, when you start, you see an options screen to choose which 'instance' of your O.S. you wish to start, you can probably skip to the next step. I've included this "grub fix" only because I can't personally remember if the options screen was available for me before I tried the fix or not) the fix didn't work for me entirely, but after doing it, i did notice that there I got an options screen to start various O.S. "styles" (for lack of a better word - sorry i'm not a tech linguist). choosing any of these options only brought me again to error 21, saying that the drive doesn't exist.. Then I had an epiphany... 2. I edited the (hd?,?) and sd?# entries in the O.S. startup line to the correct hard drive (hd) and partition area (sd). long explanation: I noticed that the hard drive label that grub was pointing to was incorrect, and in fact would have been the label that my other computer assigned to it when I was installing the system via external hard drive. In fact, I believe it should have correctively adjusted this label, as I seem to recall that when installing Kubuntu before on an external hard drive (this time I was installing Linux Mint) i did not have this problem, but alas, it did not, and I therefore was left with the problem and had to manually adjust. So for those of you needing detailed explanations, here's what I did: a. type "e" to edit the command line b. select the command line you want to use - [I would do this for any and all lines where you see (hd?,?) (e.g. hd1,0, hd0,0) and sd?# (e.g. sdb1] c. press enter, then edit all "hd" entries to your proper hard drive label (most likely (hd0,0) and all "sd" entries to the proper partition label (most likely sda1) d. hit enter, then repeat step b and c for all lines with hd and sd entries (i'm not certain if this is absolutely necessary, but it doesn't hurt, at least, and if it is necessary and you don't do it this will save you a couple keystrokes from having to go back and start over again) e. once all hd and sd entries are fixed, select the top line and enter the boot option (I can't remember if it's [Enter] or "b" but the explanation is down there at the bottom of the screen anyway) f. the system should start properly this time (did for me, at least) 3. now you have to edit your grub file so you don't have to manually change the hd and sd every time you start a. in a terminal window, type: gksudo gedit /boot/grub/menu.lst b. when the file opens, change all hd and sd entries to the same entries that you just used in the startup screen (most likely hd0,0 and sda1) c. save and quite. You're done! next time you reboot, the problem should be gone.