N.b., (hdX,y) naming starts partition numbering at 0 (not 1 like fdisk). The Grub "root (X)" partition is the partition containing the Grub stuff, therefore it is usually the /boot partition, not the / partition. BUT!!! the kernel argument root= is the real root partition. The former should be ext2 fs. MISC Docs: run "info grub" on a Linux system with Grub installed. Uses LBA if available. If it uses LBA, then it can access the entire disk. It makes all available RAM on the system available to the booted OS. Command-line mode emulates bash. grub-install is deprecated. Use native install instead (see below). If there is a "/boot" partition, then grub kernel and initrd paths are always relative to that directory. Device naming convention. hdX is used for HDE and SCSI drives. (IDE drives are normally numbered first). (Don't know if CDROMs are skipped). (fd0) Entire fdd (hd0) Entire hdd (hd0,1) 2nd partition of hd0 (hd0,4) 1st extended partition on hd0 File-name completion. When you hit tab, you will get a list of valid completions, so root ( would list all root drives, partitions, filenames. setup ( lists all ths HDDs. File specification. (hd0,0)/vmlinuz The file /vmlinuz on 1st partition of 1st hdd. Installing grub into FDD See instructions at "info grub". Apparently can not store a menu, or anything about your current system, like with the "native" setup for HDDs (see below). Sometimes there are problems reading these raw files (e.g. "Geom error"). To get around that, just make a /boot/grub dir on ext2 on the floppy, and "setup" it: mke2fs /dev/fd0 tune2fs -c 0 -i 0 /dev/fd0 mount /dev/fd0 /mnt/tmp mkdir -p /mnt/tmp/boot/grub cp -pv /boot/grub/stage[12] /mnt/tmp/boot/grub/ grub grub> root (fd0) grub> setup (fd0) grub> quit If you want to set up menus and configs, write other files too. Umount and reboot. Can set the RO tab on floppy. Install grub natively grub> find /grub/stage1 # (if you don't know which device) (or /boot/grub/stage1 if /boot on / part) grub> root (hd0,0) # Set the BOOT partition. This is where it gets # the *stage* files, and I think also where it # needs to find the grub.conf file at bootup. grub> setup (hd0) # Installs into the MBR of 1st HDD. Normal. grub> setup (hd0,0) # Installs into boot sector of a partition. Unusual. BOOTING (I see that you can specify partition w/ kern, like "kernel (hd1,0)/..."; but I guess you would only need that if your kernel is nether in / nor /boot, which should never happen). SEPARATE /boot PARTITION (kernel and initrd paths relative to /boot) grub> find /vmlinuz-x # To find partitions containing /vmlinuz grub> root (hd0,2) # Set root partition to the /boot partition grub> kernel /vmlinuz-x ro root=/dev/hda1 [a=b] # (This is the real / partition) # Load the kernel image grub> initrd /initrd # Optional grub> module... # Optionally load modules grub> boot --------------------------------------------------------------------- NO SEPARATE /boot PARTITION (kernel and initrd paths relative to /boot) grub> find /vmlinuz-x # To find partitions containing /vmlinuz # (or /boot/vmlinuz-x where /boot a dir in /). grub> root (hd0,2) # Set root partition to the / partition grub> kernel /vmlinuz-x ro [a=b] # Load the kernel image. Need "ro"? # (or /boot/vmlinuz-x where /boot a dir in /). grub> initrd /initrd # Optional grub> module... # Optionally load modules grub> boot Also, "configfile (hd0,0)/grub/menu.lst" loads a list file. Chain loading Normally, grub runs from an MBR, and it invokes some other boot loader from a partition boot sector. grub> rootnoverify (hd0,0) grub> makeactive grub> chainloader +1 # read 1 sector from part start grub> boot DOS/Windows These OSes can only boot from first hard disk, so "swap" the disks. grub> map (hd0) (hd1) grub> map (hd1) (hd0) If > 1 DOS/Win boot part on a disk, then have to hide all but one: grub> unhide (hd0,0) grub> hide (hd0,1) Hmm. I see you can run "chainload /bootsect.dos" to boot NT in DOS mode. grub.conf /boot/grub/grub.conf. "default" sets the default entry (index starts at 0). "timeout" argument is in seconds (unlike LILO). Default is NO timeout. Also unlike LILO, this is the time required to hit any key after grub first starts up. If any key is hit, the timer never restarts (so you can take your time). ENTRY title Title to display ANY LILO COMMANDS LIKE root AND kernel (Do not add the "boot" command, because that is run automatically) Serial Console Edit menu.lst. Remove any slashimage entries. grub> serial [--unit=0 --speed=9600 --word=8 --stop=1 --parity=no] grub> terminal serial --unit specifies the com port, with 0 being ttyS0, of course. vt100 terminal emulation supported by default. To get serial console set even if the regular conf. file fails to load. Use a "preset menu". Compile with "--enable-preset-menu". Looks like the preset cfg file must exist when compiling, so not too useful for a runtime-only user. :( Making a Grub boot CD: http://www.gnu.org/software/grub/manual/html_node/Making-a-GRUB-bootable-CD-ROM.html From grub, run: configfile (hd0,2)/grub/menu.lst