Boot with GRUB

Especially useful for multiboot, partitioned systems, GRUB offers flexibility and convenience for startup.

GRUB: it's neither larva, fast food nor the loveliest of acronyms in the GNU herd of free software. Rather, GRUB is the GNU GRand Unified Bootloader. And, it is truly the greatest loader for booting Linux and practically any other OS—open source or otherwise—you may have scattered on your platters.

GRUB is independent of any particular operating system and may be thought of as a tiny, function-specific OS. The purpose of the GRUB kernel is to recognize filesystems and load boot images, and it provides both menu-driven and command-line interfaces to perform these functions. The command-line interface in particular is quite flexible and powerful, with command history and completion features familiar to users of the bash shell.

GRUB is in its element with the multiboot, multidisk systems typical of Linux and open-source adventurers who may simultaneously test or track several Linux distributions, the BSDs, GNU/Hurd, BeOS and perhaps that vestigial partition for Mr. Bill. Even if you stick with LILO as your system's primary boot loader, it's smart to keep a GRUB boot floppy handy as the best and fastest way to get your system back if you otherwise cream your master boot record (MBR). If you have done any number of multiboot installations, you know exactly what I'm talking about. Should you need any more reasons for considering GRUB, check out the sidebar, “Why GRUB”. Let's get started!

Installation

Installation of GRUB is a two-step process. The first step is to install or build GRUB in a host OS environment, and for this we will, of course, use Linux. The second step is to install and configure GRUB as the boot loader for your system.

The first step is the usual: download the source archive, untar it, configure and make install. Assuming you have found a source mirror (see www.gnu.org/software/grub/grub.html) and downloaded the source distribution into a suitable working directory, continue with:

tar -xzvf grub-0.5.96.1.tar.gz
cd grub-0.5.96.1
./configure
make
make install

This should create the executables: grub, grub-install and mbchk; install support files in /usr/local/share/grub/i386-pc/, and install the GNU information manual and man pages.

For the second step of installation, we will first build and work with a GRUB boot floppy. This way we can use GRUB to learn about its features while testing various configurations for our particular system. After getting comfortable with the GRUB setup on floppy, we will then install it onto the MBR of the system's first hard disk. Even if you decide not to install GRUB on your hard disk right away, no harm done: you will now have your own GRUB boot floppy available to rescue systems with trashed boot loaders.

Preparing a GRUB floppy

GRUB recognizes a number of different filesytem types, including Linux ext2fs, Reiser, MINIX, BSD's ffs, as well as FAT, so it is possible to make a GRUB boot floppy with any of these filesystems. We will stick to FAT for this example, however, because it is the lowest common denominator, and most OSes have tools for mounting and reading/writing files on FAT floppies. That way, we will always be able to get to its menu configuration file if we need to.

Scrounge around in your junk drawer for some unused floppy (a new one would be even better), and give it a fresh format and FAT filesystem:

fdformat /dev/fd0
mkfs -t msdos /dev/fd0

We are going to put some files on this disk, so go ahead and mount to your usual floppy mount point (here I use /floppy):

mount -t msdos /dev/fd0 /floppy
Now install the directories and files GRUB will need:
mkdir -p /floppy/boot/grub
cp /usr/local/share/grub/i386-pc/stage* /floppy/boot/grub
The floppy can then be unmounted, umount /floppy, but leave it in the drive. The GRUB floppy is prepared and ready for the final installation, which is to install the GRUB boot loader in the MBR of the floppy itself. For that, we will use the grub executable we have built with our Linux installation. Start the executable at the Linux command prompt: grub.

This brings up an emulator of GRUB's command shell environment, which looks like Figure 1. We will discuss the features of this shell in more detail a little further on. For now, enter the following series of commands at the grub prompt:

grub> root (fd0)
grub> setup (fd0)
grub> quit

Figure 1. GRUB in command-line mode. Note the on-line help (here the GRUB emulator is running under Linux in an xterm window).

And that's it! This sequence of commands completes the installation of GRUB on the floppy disk. It is now bootable and will allow us to boot any other OS on our system.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Booting from CD in GRUB

Josef's picture

Hello!

I'm a Linux newbee and installed Suse 9.1 on my machine together with Win2000 and XP. Grub is installed on the harddisc. So far no problem, everything is working fine. But I wanted to update Suse to version 9.3 from CD's. Even I changed the Bios-settings to boot from CD Grub doesn't boot from the CD. I would be really thankfull for a hint.

Greetings
Josef

how to boot to CD with GRUB installed

WorkingOnASaturday's picture

Problem:
my Windows was in a corruptted state and i have grub installed as the load mgr. it is frustrating as hell that i can't boot my box with a XP install CD because GRUB is always loaded and there is no way that i know to set the root to the CD-ROM. i was looking all over the net for solution on how to boot from XP install CD within GRUB, couldn't find anything.

Here's my solution:
0. put your XP install CD in to your CD-ROM and start your machine
1. go to your BIOS setup. F12 on a Dell box upon system start
2. navigate to boot sequence and press enter
3. disable your hard drive by moving the cursor to hard drive and hitting the space bar.
4. save your changes and exit BIOS setup
5. upon restart, you will see the option to "press any key to boot from CD" flashing by. make sure you press a key before the option goes away and before GRUB is loaded.
6. life is good again.
7. make sure you enable your hard drive in the boot sequence after you fixed whatever problem you are having.

it's a hack but it works. hope this helps.

hey, BTW, working on a Saturday sucks;)

Fargo

Same problem

Anonymous's picture

I also am not able to boot to cd with my xp cd to try to reinstall windows. I have tried that very thing to by disabling the HD and trying to boot to cd. Even with the HD disabled, it still skips the boot to cd even if I push any button and goes to the Grub screen, then it will also load both linux and windows depending on which I select. Is there another solution?

Thanks

same

allen's picture

I have the same problem how did you fix it.

I have same problem. Could y

Anonymous's picture

I have same problem.
Could you please explain how you solved the problem.
Thankyou

Problem solved.

Josef's picture

Problem solved.

Wont boot windows cd Grub

Anonymous's picture

How did you solve this problem??

Mark.

Booting with linux

santhosh's picture

I hav a prblm in booting with linux

first i installed a linux

after i installed windows

after then i lost my linux what should i do.

reply me asap.

Thankyou,

GRUB Query!

Vikas Burte's picture

Since you have installed Windows after Linux it has owerwritten
your MBR where the 1st stage of GRUB is installed. This is the
reason you are not able to get GRUB menu. Windows is not Multi-boot
compliant.

Solution:
Boot with Linux CD in the Rescue mode(linux rescue).
Change root to /mnt/sysimage (chroot /mnt/sysimage).
Install new GRUB(grub-install /dev/hda).
exit
exit

Bingo! You are done.

If you installed Windows afte

Anonymous's picture

If you installed Windows after _any_ non-Windows installation, then it overwrote that hard drive's MBR for its own purposes. If you have a Grub floppy (as outlined above) or a boot disk for your distribution's kernel (typically made during install or afterwards with the mkbootdisk command) then you should be able to boot to a command line and reinstall grub in the MBR.
If you are unable to get your hands on either of those, try popping in your linux installation's cds; often recent releases will contain recovery methods including ways to reinstall boot loaders (just be sure you don't format the hard disk, as this will lose your saved data).
If even that doesn't work you can always turn to something like the wonder that is the single-CD OS, Knoppix; it just may have a boot loader tucked away in there somewhere .

Re: Boot with GRUB

Anonymous's picture

Hi! Is there a way to install GRUB and create GRUB boot floppy under Windows environment? I had GRUB installed on my
laptop but when I reinstalled Windows XP I lost GRUB and found Win boot loader instead which offers me to boot two Win installations (one corrupted and one fresh). It seems that GRUB was overwritten by a standard Win MBR.
So, I can't boot Linux cause I didn't care to create Linux boot floppy.

Thanks/AlBa

If you can boot from a CD, (w

Anonymous's picture

If you can boot from a CD, (which you probably can), download a rescue iso image from the net of your linux distribution. (I know fedora core has one). Burn the CD image with your winxp. Restart and boot off the cd. The rescue disk should boot a lite linux with your linux partition mounted in /mnt/sysimage. you can chroot /mnt/sysimage to make it your root. you can then run grub-install /dev/hda2 (your linux partition). you can check what partitions is what with df. grub-install will tell you if it was a success. you may need to edit your grub.conf to make sure you have all the entries you need to boot all your operating systems. I suppose if you wanted to make a boot floppy you could: grub-install /dev/fd0.

Chris

Re: Boot with GRUB

Anonymous's picture

An excellent article. I found the commentary on the operation of the lines of code very helpful and the explicit steps on how to create the floppy so that it will boot were very clear. I wanted to run a linux system from a second hd, keeping it entirely separate from the first (which contains W98). I am quite satisfied to leave the floppy in A:. I haven't done it yet but have high hopes. The only difficulty that I forsee is dealing with the various distributions on cd which all want to write to MBR.

Re: Boot with GRUB

Anonymous's picture

IN ORDER TO REMOVE LINUX FROM MY COMPUTER I DELETE IT DIRECTLY FROM WINDOWS USING >COMPUTER MANAGEMENT> DISK MANAGEMENT> DELETE LOGICAL DRIVES.
AFTER THAT I FACE NO PROBLEM BUT AFTER SOMETINE WHEN I REBOOT MY COMP DUE TO POWER FAILURE , I FACE A PROBLEM ,IT IS NOT BOOTING AND GRUB PROMPT IS COMPING EACH TIME . NOW I WANT TO GO BACK TO MY WINDOWS BOOT. ANYBODY HAVING ANY SOLUTION PLZ MAIL ME AT

Need help

Anonymous's picture

Hi,

I am also having the same problem as you faced whic is described below. Were you able to find the solution? If so, would you please share it with me?

Thanks in advance,
RK

Re: Boot with GRUB
Submitted by Anonymous on Tue, 2004-09-07 23:00.

IN ORDER TO REMOVE LINUX FROM MY COMPUTER I DELETE IT DIRECTLY FROM WINDOWS USING >COMPUTER MANAGEMENT> DISK MANAGEMENT> DELETE LOGICAL DRIVES.
AFTER THAT I FACE NO PROBLEM BUT AFTER SOMETINE WHEN I REBOOT MY COMP DUE TO POWER FAILURE , I FACE A PROBLEM ,IT IS NOT BOOTING AND GRUB PROMPT IS COMPING EACH TIME . NOW I WANT TO GO BACK TO MY WINDOWS BOOT. ANYBODY HAVING ANY SOLUTION PLZ MAIL ME AT

hey guy, try with these.if i

sanjaya's picture

hey guy,
try with these.if it's ok informe me.
try with these commands
grub>rootnoverify

grub>chainloader+1

grub>boot

Same probl.

Anonymous's picture

Hi, I'm having the same problem, I just can't go pass the promp GRUB, I would like to know if u fixed it and how?.
Thanks you for your time,

Cristian

Re: Boot with GRUB

Anonymous's picture

Hi. Try fdisk /mbr from windows. It should rewrite MBR on you /dev/hda and erase grub

Good luck

Re: Boot with GRUB

Anonymous's picture

He's right, you know?!

lol :p

Re: Boot with GRUB

Anonymous's picture

in a command window, just type "fdisk /mbr" to wipe your master boot record and replace the traditional windoze boot loader.

cant boot stuck at grub prompt

Anonymous's picture

Hi,
How do i get to command window. when I start my computer i am prompted grub> and can't get pass to it. if you can help, i appreciate it. thanks
ronak

Re : Stuck at Grub Prompt ???

Aniruddha's picture

Just run these set of commands at the grub prompt to load the windows OS.

grub>rootnoverify(hd0,0)
grub>makeactive
grub>chainloader +1
grub>boot

Linux New User

Noxmar's picture

Hello,

I am a new linux user and I was working with my laptop and something happened and now when I reboot the computer I just can get into the GNU GRUB version 0.95.

I dont have any idea how I can reboot my laptop and go into the linux again.

Please I need help.

Thank you

Noxmar

Want to boot virtual drives

Anonymous's picture

I want to put my entire windows partition into a image file, like a virtual drive, and have GRUB boot it, so that I can store it like this

|-------drive layer----------------------------------|
|grub|-----linux stuff-------------------------------|
| |boot|root|etc|usr-------|var----------|opt,etc-|
| | |--windows img| |

well, what dya think?

cant boot stuck at grub prompt

kukreti's picture

If you have your windows XP setup CD, then boot using the CD, disable the hard drive if you have to (not really necessary). after a lot of hoo ha the windows setup will give u three options and ask you what you want to do.

select "R", for recovery and wait for the Recovery console.
The Recovery Console provides system repair and recovery functionality.
Type EXIT to quit the Recovery Console and restart the computer.

1: C:\WINDOWS

Which Windows Installation would you like to log onto
(To cancel, press ENTER)?

---------------------------------------------------------------------
Go ahead and hit the number 1 on your keyboard

In the command prompt that you get:
Type in: FIXMBR

It may try to scare you with some warnings. but if it says that the mbr is non standard etc etc, then go ahead and reply yes. this shud solve the problem...

problem

Anonymous's picture

hi when i press 1 a blue screen appears telling me registry_error problem

tried reinstalling xp doesnt let me as it rebrings me te error again what may i do

cant boot stuck at grub prompt

armanmx's picture

FIXMBR solve the problem, THANKS......

i cannot write more than 1 le

Anonymous's picture

i cannot write more than 1 letter/number

i cannot write more than 1 le

Anonymous's picture

Then I would choose the letter c which will give you the grub
command prompt. Then type:

rootnoverify (hd0,0)
makeactive
chainloader +1
boot

should boot your windows
then at the msdos prompt type:

fdisk /MBR
(I don't remember whether it's a forward
or backslash. I haven't used windows in
a few years.)

stuck at GRUB

Shivani's picture

Hi,

I have a problem. I was trying to install windows NT on my laptop replacing linux which it had before. A part of instalation was done and Installation process asked me to restart the computer but now i am seeing a word GRUB with a blinking cursor and can't boot and can't even type a single charater here. Can Anyone help me? What should i do?

Regards
-S

GRUB - blinking cursor and nothing to type

Anonymous's picture

Did you fix this problem? Because I got it right now and its really frustrating. Any help is appreciated.

When i restart computer, grub

GUY's picture

When i restart computer, grub> display,
how can i enter the linux

need to type configmenu cmd each time

anupam's picture

hi,

I let windows control the MBR and edit the boot.ini to show a menu to choose WinXP or FedoraCore2 at boot.

When I choose FedoraCore2 it gives me a grub> prompt always. I can correctly boot from there using the root(hd0,4), kernel, initrd commands.

Also instead of typing these commands I can also boot into FC2 by typing :

grub > configfile (hd0,4)/grub/menu.lst

and then choosing the 1st option. But I have to type this each time.

How can I automate so that it boots automatically without having to type the 'configfile' command.

I think that could be the

Anonymous's picture

I think that could be the problem with the MBR. What you could do is reinstall grub within FC2 (grub-install /dev/sda) to the MBR then it should fix the problem.

I think that could be the

Anonymous's picture

I think that could be the problem with the MBR. What you could do is reinstall grub to the MBR then it should fix the problem.

would be intrested in

Billy Joel's picture

would be intrested in exactly how you do this, but i have another question..

is it possible to install GRUB first in its own partition before installing anything else? ( eg windows or linux)
and then installing what ever os's you want..

so you have ..... GRUB
windows linux dos bsd

instead of... grub with windows
linux bsd dos

any ideas would be appreciated.

install dual boot linux and windows xp

hari's picture

i would like to know the steps to dual boot linux and windows xp..
i have a win xp in drive d: and would like to insatll linux in drive c: which i will be formatting now
please provide the steps to do insatl linux.. i have redhat linux 7.1 CD wiht me.... kindly send the steps to my email

how to change boot sequence in grub.conf in MS DOS mode

Anonymous's picture

DEAR ALL,

PLS GIVE ME SOME CLARIFICATION ON CHANGING BOOT SEQUNCE OF GRUB LOADER. I.E I LOADED 2 OPERATING SYSTEM. LINUX + XP EVERY TIME BOOTING THROUGH GRUB.
I WANT TO CHANGE THIS BOOT SEQUENCE FROM DOS MODE ITSELF.
WANT TO CHANGE WITHOUT BOOTING IN TO LINUX. WANT TO EDIT GRUB.CONF
IF U ARE HAVING ANY IDEA RELATED TO IT PLS POST IT.

I REALLY THANKS TO ALL.

WITH REGARDS,
RAMACHANDRAN.N

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState