Boot with GRUB

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

By this time you may be thinking, “Okay, GRUB has got it goin' on. But do I have to keep booting from this lame floppy all the time?” Of course not. Booting from floppy is for weenies.

The operation for installing GRUB on the master boot record of your hard disk is similar to the creation of a GRUB floppy. The one difference is that our floppy has all the resources GRUB needs in one place. That is, the boot image, support and configuration files are all on the floppy device MBR and /boot/grub/ directory. In a hard disk setup, you can choose where you want these resources to be.

For example, you could set up a /boot/grub directory on the first partition of your first hard disk and copy all GRUB's files into it as we did in our floppy setup. In our demonstration system, this would be the Win98 partition, and you may choose to do it that way if you want. But you can also set up the /boot/grub directory up in any device/partition on your machine with a filesystem supported by GRUB. In practice it is usually best to install this support directory in your most frequently used and/or most stable partition; that is, one that you aren't reinstalling all the time.

For this example, we will use the Slackware partition since this stays pretty stable, and I tend to do more tracking and installations in the Debian system. Once this decision is made, everything else is simple. First, boot into Slackware, create the /boot/grub directory and copy GRUB's files into it (these are all the files that the GRUB build installed in the /usr/local/share/grub/i386-pc directory). Make sure to put your handcrafted menu.lst configuration file in here, too.

Next, start GRUB, either with the grub executable you built in Linux or by rebooting with the GRUB floppy. If GRUB starts in menu mode, press c to go to command-line mode. Enter the following commands at the grub prompt:

grub> root (hd0,1)
grub> setup (hd0)
grub> quit

You're done. Your system is now fully GRUB'd, installed in the MBR of your hard disk. Type reboot as root (or take the floppy out and jab the keyboard with the old three-prong) and watch just how fast GRUB comes up now!

A few words of explanation about these installation commands. The first, root (hd0,1), tells GRUB to mount this device, in this case the partition with the Slackware installation. All files will now be relative to this device, so the GRUB installer will know to look for its support files in the /boot/grub directory we created in the Slackware partition.

The second command, setup (hd0), is a simplified front end to GRUB's install command. Note in particular that we specify the device as (hd0) and not (hd0,0). Device (hd0) results in GRUB's installation to the master boot record, which is what we want. If we had instead used (hd0,0), GRUB would be installed to the boot sector of the first partition, rather than the MBR. The difference is crucial; your technical writer makes mistakes like this so you don't have to. While each partition can have a boot sector, your hard disk will have only one master boot record the BIOS loads every time you start your machine. Unless you are doing some kind of funky boot-chaining, like using LILO to boot GRUB, you will usually want to install GRUB in the master boot record.

When GRUB installs itself on a device, it first copies a small piece of itself to the MBR, which it calls stage1. Then it follows stage1 with just enough information about where to find the rest of GRUB. In our example, GRUB will put stage1 in the MBR, followed by a blocklist that points to the Slackware partition. GRUB will then find the rest of what it needs (its stage2 files) in the /boot/grub directory.

To check this setup, just edit the menu configuration file in Slackware's /boot/grub/menu.lst at any time. Any changes will be reflected in the next boot.

Error Recovery

If you should foul up the hard disk installation somehow or want to uninstall GRUB from your system, here's what you need to know.

First, if you ever want to clean your MBR from whatever is installed there, the canonical method is to use the fdisk program from an MS-DOS boot floppy:

A:> FDISK /MBR

Of course, this isn't necessary if you just want to go back to LILO as your system's boot manager. In that case, simply make sure your /etc/lilo.conf file has a line that reads boot=/dev/hda. Then, when the rest of the lilo.conf file is the way you want, just rerun LILO. This will put LILO back on the MBR of your system.

If you install GRUB in the boot sector of a partition, instead of the MBR (such as specifying setup (hd0,0) instead of setup (hd0)), you may need to reinstall that OS's boot loader. In the case of DOS/Windows, this means running the sys command from your DOS/Windows boot floppy: A:> SYS C:.

If, this is a Linux partition, it is again effective to rerun LILO, where /etc/lilo.conf has a line in the boot stanza that reads root=/dev/hda1.

In general, most OSes will have a way to reinstall their partition's boot sector without doing a full reinstallation from scratch. (For FreeBSD, see boot0cfg(8); for OpenBSD, see installboot(8).)

In practice, especially if you followed through on the GRUB floppy examples, you should find that GRUB itself is one of the best rescue and system recovery tools in your toolkit. For example, if you have ever made a screwup in your lilo.conf file, you know you can be in for some major pain if your system won't boot. With GRUB, you always have a miniature, self-contained operating system that can recognize and mount different filesystems, find files, locate kernels and boot them, bringing your system back to life so you can work on it. At times like these, GRUB can save your bacon.

______________________

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

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix