|
Unsupported Version |
Making a GRUB boot floppy
GRUB (GRand Unified Bootloader) is the boot manager installed by default in recent versions of Ubuntu Linux. It is an effort by the GNU project to provide a boot-loader that supports the greatest number of operating systems. This document explains how to make a boot floppy that can either boot an installed operating system or present you with a Grub command shell so that you can enter commands directly. It assumes that you are making the diskette on an Ubuntu Linux box.
1. Obtain root privileges.
sudo -s
2. Format the floppy with the ext2 file-system:
mke2fs /dev/fd0
3. Mount the floppy and copy the files that Grub Legacy needs to make it bootable:
mount /dev/fd0 /media/floppy mkdir /media/floppy/boot mkdir /media/floppy/boot/grub cd /boot/grub cp stage1 stage2 /media/floppy/boot/grub
If you want to boot the operating system already installed on the machine you are making the floppy from, also copy /boot/grub/menu.lst and /boot/grub/device.map to the corresponding directories on the floppy.
4. Unmount the floppy umount /dev/fd0, then start Grub in interactive mode by typing grub. You will see the Grub command prompt grub >. Enter these commands:
device (fd0) /dev/fd0 root (fd0) setup (fd0) quit
5. At this point, you have a bootable floppy. If you added the extra files mentioned above, you should get a standard Grub screen when you boot from it, just as if you had booted from the hard drive.
6. If you want to be extra cautious, you can save a copy of the current machine's master boot record to a file on the floppy. The following example assumes you booted from the floppy, mounted the floppy and the master boot record is on device sda; the file containing the boot record is named boot.mbr.
dd if=/dev/sda of=/media/floppy/boot.mbr bs=512 count=1
To restore it, you would just reverse the parameters of the dd command:
dd if=/media/floppy/boot.mbr of=/dev/hda bs=512 count=1
Boot a floppy image without a floppy drive
Some computers don't have a floppy drive and can't boot from a Cd. One way of getting the Cd to boot is from a boot-loader floppy image. You'll need the memdisk file from the syslinux package. To get it run
sudo apt-get install syslinux
Copy the memdisk file to the grub folder
sudo cp /usr/lib/syslinux/memdisk /boot/grub/
There is a floppy image on the *ubuntu CD that can be used if you don't feel like making one. Mount the Cd and copy it to the grub folder as well.
sudo cp /<cd_mountpoint>/install/sbm.bin /boot/grub/
Next you have to make some changes to /boot/grub/menu.lst. Open it as root and add
title Floppy Image kernel /boot/grub/memdisk initrd /boot/grub/sbm.bin
above "title Ubuntu x.xx, memtest86+". Save the changes. Now you should be able to boot the floppy image without a floppy drive and boot from the Cd.