Q: Can Linux Boot
from MS-DOS?
A: If LILO doesn't work, and if the machine has MS-DOS
or Microsoft Windows, you may be left with a computer that won't
boot. This can also happen on an upgrade to your Linux distribution.
Re-installing LILO is the last thing that the installation does.
It is vitally important when installing or upgrading Linux
on a dual boot machine, to have a MS-DOS or Windows rescue disk
nearby so you can FDISK -MBR. Then you can go about
using LOADLIN.EXE instead of LILO.
This config.sys file is one possible way to invoke
LOADLIN.EXE and boot MS-DOS or Linux.
[menu] menuitem=DOS, Dos Boot menuitem=LINUX, Linux Boot
[LINUX] shell=c: edhatloadlin.exe c: edhatautobootvmlinuz vga=5 root=/dev
[DOS] STACKS = 0,0 rem all the other DOS drivers get loaded here.
|
This creates a menu where you can directly jump to LOADLIN.EXE
before all of the MS-DOS drivers get loaded.
The paths and options are peculiar to one machine and should
be intuitively obvious to the most casual observer. See the LOADLIN.EXE
docs for options. They are the same as LILO, and options are
just passed to the kernel, anyhow.
[Jim Harvey]
Q: How Can
Linux Boot from OS/2's Boot Manager?
A: #Create a partition using OS/2's FDISK.EXE
(Not Linux's fdisk).
- Format the partition under OS/2, either with FAT or HPFS.
This is so that OS/2 knows about the partition being formatted.
(This step is not necessary with OS/2
Warp 3.0.)
- Add the partition to the Boot Manager.
- Boot Linux, and create a file system on the partition using
mkfs -t ext2 or mke2fs. At this point you may,
if you like, use Linux's fdisk to change the code of the
new partition to type 83 (Linux Native)this may help some automated
installation scripts find the right partition to use.
- Install Linux on the partition.
- Install LILO on the Linux partition NOT on the master boot
record of the hard drive. This installs LILO as a second-stage
boot loader on the Linux partition itself, to start up the kernel
specified in the LILO configuration file. To do this, you should
put
(where /dev/hda2 is the partition you want to boot
from) in your /etc/lilo/config or /etc/lilo.config
file.
- Make sure that it is the Boot Manager partition that is marked
active, so that you can use Boot Manager to choose what to boot.
There is a set of HOWTO's on the subject of multi-boot systems
at the LDP Home Page, http://tldp.org.
Q: How Do I Set
the Boot-Time Configuration?
A: You can configure Linux at the lilo: prompt
either by typing the kernel arguments at the BOOT lilo:
prompt, or by adding an append= directive to the /etc/lilo.conf
file; for example, at the LILO prompt (example only):
BOOT lilo: parport=0x3bc,7
parport=0x3bc,none serial=0x3f8,4 serial=0x2f8,3
|
Example statement for /etc/lilo.conf:
append="parport=0x3bc,none serial=0x3f8,4 serial=0x2f8,3"
|
If you modify the /etc/lilo.conf file, be sure to
run the lilo command to install the new configuration.
Configuration notes for specific hardware devices are in the
documentation of the kernel source distribution, /usr/src/linux/Documentation
in most distributions.
Refer to the lilo and /etc/lilo.conf manual
pages, as well as the LDP BootPrompt-HowTo, see Where
Is the Documentation?, and the documentation in /usr/doc/lilo.
Q: How Do I Get
LILO to Boot the Kernel Image?
A: From kernel versions 1.1.80 on, the compressed kernel
image, which is what LILO needs to find, is in arch/i386/boot/zImage,
or arch/i386/boot/bzImage when it is built, and is normally
stored in the /boot/ directory. The /etc/lilo.conf
file should refer to the vmlinuz symbolic link, not
the actual kernel image.
This was changed to make it easier to build kernel versions
for several different processors from one source tree.
Q: Can
I Remove LILO So the System Boots DOS Again?
A: The lilo program (not the complete LILO
package), uses the command line option -u to uninstall
the LILO boot loader. You have
to supply the device name of the device you installed LILO
on, for example:
This rewrites the original, pre-LILO
master boot record back to the first hard drive, from the boot
record saved in /boot/boot.0300. If you installed LILO
to a partition as a secondary boot loader, for example, /dev/hda1,
lilo re-installs the original boot sector from the save
file /boot/boot.0301. Refer to the lilo manual
page for details. Thanks to Villy Kruse for reminding me to update
this answer.
If you have an earlier version of LILO,
you will have to use the DOS (MS-DOS 5.0 or later, or OS/2) FDISK
/MBR (which is not documented). This will overwrite the
lilo boot loader with a standard MS-DOS
Master Boot Record. If you have DR-DOS
6.0, go into FDISK.EXE in the normal way and
then select the Re-write Master Boot Record option.
If you create a boot floppy during the Windows installation
process, make sure that it contains the programs FDISK.EXE,
FORMAT.COM, and SYS.COM,
and use that to re-install MS-DOS on the hard disk.
If you don't have MS-DOS or DR-DOS, you need to have the boot
sector that LILO saved when you first installed it. You did keep
that file, didn't you? It's probably called boot.0301
or some such. Type:
dd if=boot.0301 of=/dev/hda bs=445 count=1
|
(or /dev/sda if you're using a SCSI disk). This may
also wipe out your partition table, so beware! If you're desperate,
you could use
dd if=/dev/zero of=/dev/hda bs=512 count=1
|
This will erase your partition table and boot sector completely:
you can then reformat the disk using your favorite software.
But this will render the contents of your disk inaccessible you'll
lose it all unless you're an expert.
Note that the DOS MBR boots
whichever (single!) partition is flagged as "active."
You may need to use fdisk to set and clear the active
flags on partitions appropriately.
Q: Why
Does the System Check the Ext2fs Partitions Each Reboot?
Q: How Do I Make Sure
the System Boots after Re-Installing the Operating System?
A: This should work whether you're re-installing Linux
or some other, commercial, operating system:
[Jacques Guy]
Q: How To Make a Rescue
Floppy
A: Make a file system on it with bin, etc, lib and
dev directorieseverything you need. Install a kernel on it and
arrange to have LILO boot it from the floppy (see the LILO documentation,
in lilo.u.*.ps).
If you build the kernel (or tell LILO to tell the kernel)
to have a RAM disk the same size as the floppy the RAM disk will
be loaded at boot time and mounted as root in place of the floppy.
See the Bootdisk HOWTO.