Date: Sat, 15 Jun 1996 13:03:15 -0500 From: "Jay M. Richmond" <jayrich@in.net> To: doc@freebsd.org Cc: jkh@time.cdrom.com Subject: freebsd coexisting with other OS's [documentation, updated] Message-ID: <1.5.4.32.19960615180315.0066c1c0@mail.fidalgo.net>
index | next in thread | raw e-mail
Ok, here's the latest revision: please let me know what you think:
Using FreeBSD with other operating systems
------------------------------------------
This document is separated into the follow sections:
I. Introduction
II. Overview of boot managers
III. A typical installation
IV. Special considerations
V. Examples
VI. Other sources of help
I. Introduction
This document discusses how to make FreeBSD coexist nicely
with other popular operating systems, including, but not limited to: DOS,
Windows 95, and UNIX (Solaris/x86 and Linux). Most people can't fit
these operating systems together comfortably without having a larger hard
disk, so special information on large EIDE drives is included. Because
there are so many combinations of possible operating systems and hard
disk configurations, the examples section may be of the most use to you.
It contains descriptions of specific working computer setups that use
multiple operating systems.
This document assumes that you have already made room on your
hard disk for an additional operating system. Any time you repartition your
hard drive, you run the risk of destroying the data on the original partitions.
However, if your hard drive is completely occupied by DOS, you might find
the FIPS utility (included on the FreeBSD CD-ROM in the \TOOLS directory
or via ftp at ftp://ftp.freebsd.org/pub/FreeBSD/2.1-RELEASE/tools/. It lets
you repartition your hard disk without destroying the data already on it.
There is also a commercial program available called Partition Magic, which
lets you size and delete partitions without consequence.
II. Overview of boot managers
These are just brief descriptions of some of the different boot
managers you may encounter. Depending on your computer setup,
you may find it useful to use more than one of them on the same
system.
Boot Easy: This is the default boot manager used with FreeBSD.
It has the ability to boot most anything, including BSD, OS/2
(HPFS), Windows 95 (FAT and FAT32**), and Linux. Partitions
are selected with the function keys.
OS/2 Boot Manager: This will boot FAT, HPFS, FFS (FreeBSD),
and EXT2 (Linux). It will NOT boot FAT32** partitions. Partitions
are selected using arrow keys. The OS/2 Boot Manager is the only
one to use its own separate partition, unlike the others which use
the master boot record (MBR). Therefore, it must be installed
below the 1024th cylinder to avoid booting problems. It can boot
Linux using LILO as part of the boot sector, not the MBR. Go to
http://www.ssc.com/linux/howto.html for more information on
booting Linux with OS/2's boot manager.
OS-BS: This is an alternative to Boot Easy. It gives you more
control over the booting process, with the ability to set the
default partition to boot and the booting timeout. The 'beta'
version of this programs allows you to boot by selecting the OS
with your arrow keys. It is included on the FreeBSD CD in
the \TOOLS directory, and via ftp at ftp.freebsd.org in the
/pub/FreeBSD/2.1-RELEASE directory.
LILO, or Linux Loader: This is a limited boot manager. Will
boot FreeBSD, though some customization work is required in
the LILO configuration file.
** FAT32 is the replacement to the FAT filesystem included in
Microsoft's OEM SR2 Beta release, which is expected to utilitized
on computers pre-loaded with Windows 95 towards the end of 1996.
It converts the normal FAT file system and allows you to use smaller
cluster sizes for larger hard drives. FAT32 also modifies the
traditional FAT boot sector and allocation table, making it
incompatible with some boot managers.
III. A typical installation
Let's say I have two large EIDE hard drives, and I want to
install FreeBSD, Linux, and Windows 95 on them.
Here's how I might do it:
/dev/wd0 (first physical hard disk)
/dev/wd1 (second hard disk)
Both disks have 1416 cylinders.
1. I boot from a MS-DOS or Windows 95 boot disk that contains
the FDISK.EXE utility and make a small 50 meg primary partition
(35-40 for Windows 95, plus a little breathing room) on the first
disk. Also create a larger partition on the second hard disk
for your Windows applications and data.
2. I reboot and install Windows 95 (easier said than done) J
on the "C:" partition.
3. The next thing I do is install Linux. I'm not sure
about all the distributions of Linux, but slackware includes
LILO (see above), the Linux Loader. When I am partitioning
out your hard disk with Linux "fdisk," I would put all of Linux on
the first drive (maybe 300 megs for a nice root partition and some
swap space).
4. After I install Linux, and are prompted about installing LILO,
make SURE that I install it on the boot sector of my root Linux
partition, not in the MBR (master boot record).
5. The remaining hard disk space can go to FreeBSD. I also make
sure that my FreeBSD root slice does not go beyond the 1024th
cylinder. (The 1024th cylinder is 528 megs into the disk with our
hypothetical 720MB disks). I will use the rest of the hard drive
(about 270 megs) for the "/usr" and "/" slices if you wish. The rest
of the second hard disk (size depends on the amount of your
Windows application/data partition that I created in step 1) can go
to the "/usr/src" slice and swap space.
---------------------------------------------------------------------
When viewed with the Windows 95 "fdisk" utility, my hard drives
should now look something like this:
Display Partition Information
Current fixed disk drive: 1
Partition Status Type Volume_Label Mbytes System Usage
C: 1 A PRI DOS 50 FAT** 7%
2 A Non-DOS (Linux) 300 43%
Total disk space is 696 Mbytes (1 Mbyte = 1048576 bytes)
Press Esc to continue
---------------------------------------------------------------------
Display Partition Information
Current fixed disk drive: 2
Partition Status Type Volume_Label Mbytes System Usage
D: 1 A PRI DOS 420 FAT** 60%
Total disk space is 696 Mbytes (1 Mbyte = 1048576 bytes)
Press Esc to continue
** May say FAT16 or FAT32 if you are using the OEM SR2 update
(see section II).
---------------------------------------------------------------------
6. Install FreeBSD. I make sure to boot with my first hard disk
set at "NORMAL" in the BIOS. If it is not, I’ll have the enter your
true disk geometry at boot time (to get this, boot Windows 95 and
consult Microsoft Diagnostics, MSD.EXE or check your BIOS) with
the parameter "hd0=1416,16,63" where 1416 is the number of
cylinders on your hard disk, 16 is the number of heads per track,
and 63 is the number of sectors per track on the drive.
7. When partitioning out the hard disk, I make sure to install
"Boot Easy" on the first disk. I don't worry about the second disk,
nothing is booting off of it.
8. When you reboot, "Boot Easy" should recognize your three
bootable partitions as DOS (Windows 95), Linux, and BSD (FreeBSD).
IV. Special considerations
Most operating systems are very picky about where and how they are
placed on the hard disk. Windows 95 and DOS need to be on the first
primary partition on the first hard disk. OS/2 is the exception. It
can be installed on the first or second disk in a primary or extended
partition. If you are not sure, keep the beginning of the bootable
partitions below the 1024th cylinder.
If you install Windows 95 on an existing BSD system, it will "destroy"
the MBR, and you will have to reinstall your previous boot manager.
Boot Easy can be reinstalled by using the BOOTINST.EXE utility
included in the \TOOLS directory on the CD-ROM. You can also
re-start the installation process and go to the partition editor.
From there, mark the FreeBSD partition as bootable, and type W to
(W)rite out the information to the MBR. You can now reboot, and
"Boot Easy" should then recognize Windows 95 as "DOS."
Please keep in mind that OS/2 can read FAT and HPFS partitions,
but not FFS (FreeBSD) or EXT2 (Linux) partitions. Likewise,
Windows 95 can only read (FAT and FAT32 partitions). FreeBSD
can read most file systems, but currently cannot read or HPFS
partitions. Linux can read HPFS partitions, but can’t write to them.
Recent versions of the Linux kernel (1.9.x) can read and write to
Windows 95 VFAT partitions (VFAT is what gives Windows 95
long file names – the same as FAT). Linux can read and write to
most file systems. Got that? I hope so.
V. Examples
[section needs work, please send your example to jayrich@in.net]
FreeBSD+Win95: If you installed FreeBSD after Windows 95, you
should see 'DOS' on the "Boot Easy" menu. This is Windows 95.
If you installed Windows 95 after FreeBSD, read section IV above.
As long as your hard disk does not have 1024 cylinders you should not
have a problem booting. If one of your partitions goes beyond the
1024th cylinder however, and you get messages like "invalid system
disk" under DOS (Windows 95) and FreeBSD will not boot, try looking
for a setting in your BIOS called "> 1024 cylinder support" or
"NORMAL/LBA" mode. DOS may need LBA (Logical Block
Addressing) in order to boot correctly. If the idea of switching BIOS
settings every time you boot up doesn't appeal to you, you can boot
FreeBSD through DOS via the FBSDBOOT.EXE utility on the
CD without any options (It should find your FreeBSD partition and
boot it.)
FreeBSD+OS/2+Win95: Nothing new here. OS/2’s boot manger
can boot all of these operating systems, so that shouldn’t be a
problem.
FreeBSD+Linux: You can also use "Boot Easy" to boot
booth operating systems. You can also use LILO to boot FreeBSD
by [need to fill this in].
FreeBSD+Linux+Win95: (see section III)
VI. Other sources of help
There are many Linux HOW-TO's that deal with multiple operating
systems on the same hard disk. They are available on the World
Wide Web at http://www.ssc.com/linux/howto.html.
The Linux+OS/2+DOS Mini-HOWTO offers help configuring the
OS/2 boot manager. It is also available on the WWW at:
http://sunsite.unc.edu/mdw/HOWTO/mini/Linux+OS2+DOS.
---
Last updated: 6/14/96
Authored by: Jay Richmond (jayrich@in.net)
Special thanks to: Annelise Anderson (andrsn@stanford.edu) (OS/2)
Randall Hopper (rhh@ct.picker.com)
Jordan K. Hubbard (jkh@time.cdrom.com)
Author's note: I will constantly update this how-to and place it
on the WWW temporarily at http://www.in.net/~jayrich/freebsd-howto.txt
007
e-mail: jayrich@in.net
www: http://www.in.net/~jayrich
e-mail: jayrich@in.net
www: http://www.in.net/~jayrich
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1.5.4.32.19960615180315.0066c1c0>
