Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have Ubuntu loaded on my external HDD.

I tried to unplug the external drive so that this way I could run Windows as the default OS to boot when the computer turns on, but it gives me an error.

I need to know how I can make it so that when my computers boots it stops saying Error: no such device: (a whole bunch of numbers and letters) then it says grub rescue>_.

If I plug the external HDD in, and I let Ubuntu run the boot process, then it gives me a list of OS's/ HDD's to choose from and Windows 7 is there.

The only problem is that I want Windows be my default OS, not the other way around.

P.S. I have found that I dislike Ubuntu because I can't even figure out how to install the necessary programs to learn how to start writing Ruby On Rails. So installing it was a waste of my time, in my opinion. Now that I have it on the external hard drive, I will leave it installed though. I just dont want to have to keep that external drive plugged in to my computer all the time.

Thank you a ton to whoever can help me!


Thank you for the detail'd instructions. I am doing my best to follow you and it makes sense when I read it but, Rescatux is not doing what you said it would. None of the options you said would appear are not there. On my screen there is 4 options when MBR run's none look familiar and when I picked the best possible option based on my educated guesses it said success. I tried to restart my computer and it said Please insert windows recovery disc and hit enter. Problem being I don't have the windows recovery disc. I bought my computer from a local Computer tec and he loads windows on it for you. I have no time to run my compute over to him as sunday is my only day free.

I think that I just wrecked my computer in the process of this attempted fix windows refuses to boot now WITH or WITHOUT the HDD. Please help this is getting out of hand

share|improve this question
    
Possible duplicate? askubuntu.com/questions/125494/… –  fossfreedom Aug 21 '12 at 15:58
    
This isn't a duplicate of that question. To see the differences, please see SirCharlo's excellent answer to this question. (This related chat, most of which took place before that answer was complete, may also help to clarify how this question is unique and different.) –  Eliah Kagan Aug 21 '12 at 17:02
add comment

1 Answer

The problem

Grub, Ubuntu's bootloader, was installed on the internal drive, but requires files present on the external drive to start up properly. When the external drive is absent, neither Ubuntu or Windows boots.

Solution, Part 1 - Repair the Windows Bootloader

Download Rescatux and burn the ISO to a CD. Reboot your computer from the CD, with the external drive not connected.

Select the winoption, and click OK.

Select the winmbroption, and click OK.

Select the runoption, and click OK.

Use common sense to figure out which partition contains Windows, select it, and click OK.

Finally, use common sense to figure out which hard drive contains Windows, select it, and click OK.

If asked about position, leave the default option selected, and click OK.

Reboot and test to make sure that Windows boots up correctly.

Solution, Part 2 - Reinstall the Ubuntu Bootloader

Boot from the Ubuntu Live CD with the external drive plugged in.

Run the following commands from a Terminal:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
boot-repair

Click on the Advanced options button, then click on the Grub location tab, and select Windows as the OS to boot by default. Make sure to select the option to install Grub only on the external hard drive. This is very important.

Finally, click on Apply.

Now, reboot to make sure you can boot to Windows and to Ubuntu with the external drive plugged in.

You may want to set up your BIOS so that your external hard drive is before your internal one in the boot order. This will allow for seamless booting, without you having to configure anything upon reboots, whether you want to boot into Windows or Ubuntu.

Note: If you set up your BIOS to boot from USB devices automatically, you need to be aware that this may be a security risk (or a hassle): it may try to boot from other attached USB devices that are not your external hard drive containing Ubuntu. Always think twice before making changes like this.

Finally, once inside Ubuntu, you'll need to perform one last step, to prevent Ubuntu system updates from reinstalling Grub to your internal hard drive and replacing the Windows bootloader.

Open the Terminal application and run the following command:

sudo dpkg-reconfigure grub-pc

Enter your Ubuntu user's password, and then press Enter.

Press Enter for the first two screens. The third one is the one we're interested in.

Press Tab and then Enter, then navigate to your external hard drive using the arrow keys, and finally select using by hitting Space.

Hard drive selection

Note: Hard drives look like /dev/sda in this list. Any entries with numbers, like /dev/sda1, represent partitions and should be ignored.

Finally, confirm your selection by hitting Enter.

Your computer should, as of now, behave correctly and your start-up problems should be history.

Explanation of the solution

Boot-Repair installed Grub to your external hard drive only.
This allows your computer to boot to Ubuntu when it's connected, yet without depending on it to boot Windows when the external drive isn't plugged in.
With this configuration, Windows will boot by default, whether the external hard drive is plugged in or not.


Glossary

Bootloader: a piece of code that runs before any operating system is running. A bootloader is used to boot other operating systems. Each operating system usually has its own bootloader.

GRUB (Grand Unified Bootloader): a bootloader package developed to support multiple operating systems and allow the user to select among them during boot-up. It is Ubuntu's default bootloader.

Command, command line: the traditional Unix environment , where you type commands to tell the computer what to do.

Terminal: an application that allows you to access the command line. Open it by hitting its keyboard shortcut, Ctrl Alt T

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.