IBU
Consol
|
|
How To Install BSD On A PC With
Another OS Already Present
Other Pages:
This answers these questions:
Crux is just
another Linux. So type: man fdisk Then think how much
disk you have, if you a spare, how your going to shrink partitions maybe, repartition, &
cross mount. Which depends on your hardware & Unix skill
level.
If you get really stuck, back up your CRUX to other media.
Reinstall either CRUX or BSD, making sure neither OS takes
all the disc, leaving room for the other OS later .. then
restore CRUX data into CRUX partition.
2nd Answer: This Page
First The Good News
Yes, FreeBSD has run as a dual, triple, or quad booted OS
since 1996 or maybe earlier, see Article:
"Installing and Using FreeBSD With Other Operating Systems"
by Jay Richmond 6 August 1996
If Fdisk shows you have enough unused space on your boot
disk to install a BSD partition, do it, no need to read more
of this page If
you don't have enough space, read on.
Shrinking your old installed OS to
make some room for another OS too, eg BSD (or whatever else),
is outside BSD's remit really, best to discuss shrinking on a mail list appropriate to the
existing pre-installed OS you want to shrink.
When you've made space, installing BSD is easy by
comparison with shrinking (&
keeping bootable) the other existing installed OS to get
space. Plenty of standard FreeBSD docs will
help you to install once you've made space
If you get stuck shrinking, you
should equally be able to get help discussing concepts not
just with BSD people, but also from Linux & other local
Unix people such as Solaris, HP etc.
Focus first test statement to locals to see if they know
enough to help, by saying eg:
"I need to shrink my Linux PC
partitions, keeping them bootable, then edit my MBR using Fdisk to reallocate some disc to
install a BSD Unix, so both are dual bootable"
Now The Bad News
Caution:
- For a person without so
much skill it's probably a lot safer & easier to
copy all data elsewhere, then re-divide the disk,
reload 1st OS (eg Crux) from backup & reinstall smaller
1st OS, leaving space for 2nd OS
(FreeBSD).
I recommend you do minimal installs (doesn't mean minimal
disk size allocation, I just mean don't load tons of things
into the file systems) of each OS first, make sure they all
install & boot OK, & don't damage each other, then
go back, boot each in turn & add all the extras for
full installs, then overlay any of your OS configs
previously saved from OS#1 eg CRUX & restore user data,
then reboot OS#2 eg FreeBSD & grow the BSD from minimal
install to full install.
- I've seen a calm skilled friend get angry & lose 2
days work on a similar MBR retrofit
scenario to this, it didn't involve FreeBSD I think, not
sure, did involve a SCO or Unix-ware, but irrelevant really
whatever, the point is MBR is dangerous
to play with. Be careful. Yes I've probably trashed myself
too, can't remember, but it's dangerous.
- Another highly skilled friend's for a decade or 2 has
maintained: 1 OS per disk (he physically used to change the
data cable to another drive, used to work fine on SCSI-1
& IDE, but maybe SATA might not take such regular
wear?).
- Retro-fits, squeezing in another bootable OS, are
tricky, unless one is skilled, & careful.
- Personally for some years I've installed all new
machines with MBRs with the max 4
slices, carefully thought out in advance of 1st install,
leaving some space free for other versions of same OS, (eg
for rescue boot, or alternate boot for lost utilities that
won't build on latest version of OS etc), Usually I go for
maybe 3 slices of 10 to 20G for 3 OSs, + 4th slice for rest
of disc as a common shared large UFS file system for
generic sources etc.
So You Still Want To Be Brave & Shrink, Not Reinstall ?
- Fdisk manipulates the MBR = Master
Boot Record, Essentially a 256 byte block at edge of disc,
with a table of sizes & offset for 4 OS partitions, &
one can also mark one of the 4 as to be active, ie the one to
boot next.
- Some might tell you: Beware, Fdisk is a Crock!, well old
Microsoft Fdisk was size limited & broke things, but a
modern FreeBSD Fdisk is fine, Linux Fdisks probably OK too I
guess.
-
Even with modern Fdisk, one mistake & you may discover
yourself swearing that the F in Fdisk surely means f__k
disk ;-) (rather than perhaps Fixed Disk ? Be cautious !
(Fdisk on FreeBSD in multi user mode won't allow you to
resize, unless you run sysctl kern.geom.debugflags=16
(after booting in single user mode its probably OK
without), so Linux might have a similar restriction, (to
avoid accidental foot shooting).)
- Be aware some Linux use a different boot method, thats
not fully compliant with Fdisk, LiLo maybe ?
See "2 Overview of Boot Managers" PCs installed using
"Grub" might also complicate (see ref in Wikipedia MBR page.)
- Beware modern Microsoft seems to behave abnormally, not
conforming to Active in MBR; Maybe what
its doing is each reset by default sets the name of the
Microsoft partition as next bootable ? See
man nextboot (8) for a clue of what PC loader
offers.
What You'll Need To Do, Approx:
- Draw on paper or another computer, so you can refer to it
when this computer may perhaps fail to boot (very easy to get
this wrong so it wont boot!)
-
A map of your disc(s):
- The 4 MBR slices per disc, sizes
& offset shown by fdisk
- The partitions each OS uses within each MBR slice, size & offsets shown by
disklabel or bsdlabel
- be cautious not to confuse unit sizes of 512 &
1024 that can be reported by different tools
- Remember the cartoon of a man sitting on the branch of a
tree, sawing the branch off. Which side was he sitting ? What
you'r about to do is analogous but much easier to get wrong
:-)
-
Write some live file system rescue media (on cd, usb
stick, whatever), in case you blow yourself away.
-
Copy your Linux user data somewhere safe eg another LAN
computer, or external USB or internal 2nd disc (consider if
you will be able to read that file system if you trash Linux
by mistake on PC, & cannot again mount that disc)
- Make a plan, how to shrink &
move each partition, to release enough contiguous space for
fdisk to create a slice for FreeBSD... While ensuring that at
all stages you do not destroy anything in the boot
chain.
-
- See also:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/install-pre.html
- Easiest to
copy data to a spare partition, then unmount, then
run the Linux equivalent of FreeBSD disklabel / bsdlabel
+ newfs (/ mkfs on an ancient Unix) then mount &
copy back.
-
Various Alternatives
( Some programs may be capable of running on several
types of op systems, (eg gparted))
Least preferred option listed first.)
- To shrink an MS FS: Programs that run on
Microsoft, Some are commercial, eg
PartitionMagic
- To shrink an MS FS: rograms that run on
Microsoft, Some are free, Names ?
- To shrink an MS FS or a Linux FS: Run a free live
Linux CD such as knoppix
& shrink from there.
- To shrink a Linux FS: Ask in a Linux forum, re
tools analogous to ntfsresize, (but not for NTFS but
for eg Ext1/2/Reiser or whatever other Linux FS you
use).
- To shrink an MS FS: Boot an existing(*) FreeBSD
& run ntfsresize
- On Linux: gparted, (Note
gparted is not on FreeBSD-current /usr/ports/ at 26
May 2011).
Exact Details & Further Help
Exact detail of what's appropriate will vary dependent on
what configuration an individual machine has. If you need
help, ask a local Unix systems administrator over a
coffee; read pages linked to above; discuss on a mail
list of the OS you already have installed, that needs shrinking (not the new OS you want to
migrate to, as shrinking the old is
the hard bit, installing the new is easy).
If your employer needs the work done, you could also
hire a local consultant from
this BSD globally indexed list
EasyBCD
Extends and revamps the Windows Vista/Windows 7 BCD
bootloader.
Amendments
This was hacked together fairly quickly. To send
improvements, mail me them
preferably in "diff -c" format please.
|
|