XOSL HOWTOs and FAQs v1.00
I. For the very beginning
This manual comes with ABSOLUTELY NO WARRANTY and is distributed under the
terms of the GNU General Public License (GPL). Check for newer versions now and
then. Please feel free to mail me personally at filip.komar@email.si and send me your
questions, comments, problems, confirmations, solutions, opinions, additions,
thanks, etc...
Before starting anything, I'd like to know if I can install XOSL without reinstalling anything?
You can, but only after reading the documentation.
Tell me the recommended short procedure for installing more Operating
Systems and multi-booting
- Create partitions
- Install XOSL
- Create Boot items before installations (hiding other Operating Systems
partitions is highly recommended)
- Restore XOSL if it has been overwritten.
Small complicated example showing how to install Windows NT, Windows 98,
Windows 2000 & Redhat Linux 6.1:
- Install Windows 98 on a primary partition.
- Install XOSL.
- Create another primary partition, and make it active.
- To be on the safe side, hide the Windows 98 partition.
- Install Windows NT4 (using the Service Pack 4 ATAPI driver) on a logical
partition, with the boot loader on the primary partition.
- Install Windows 2000 on another logical partition (which can share the
same bootloader as Windows NT).
- Install Linux on another logical partition, putting LILO on its partition.
Important tips & tricks
- Everything written here is simpler to do than understand on the first
reading, so read more. You can get some very good information about booting
from the LILO documentation.
- Always create backups and verify them. Don't wait for disaster to strike
your precious data!
- Microsoft Operating Systems MS-DOS through Windows 98 or even Windows ME
have a bug where, if the last logical partition in the extended partition is
not a recognized file system type, and multiple visible FAT primary partitions
exist, it will use the last logical partition as a FAT one in place of the
next primary partition. But it will think the size of the partition is that of
the primary partition. Data coruption can occur!
- Remember Windows NT and Windows 2000 handle hidden partitions differently.
Use their administrative tools for that purpose, except for installation.
- Windows 2000: Computer Management > Storage > DiskManagement
- Windows NT: Administrative tools > Disk manager
- Organize your data and Operating Systems by creating enough logical
partitions. Plan before you start. It is nice to have descriptive
partition labels.
- If you use or test many versions of Windows 9x, one common logical
partition for the swap file is a good decision.
- Be sure not to change the order of the visible partition letters.
- My recommendation for installation of XOSL is to have it in a (hidden) logical
partition, so create one more for that.
- After hiding and unhiding partitions a reboot is necessary, except with
XOSL. There's nothing magical to hiding: it's done simply by changing the
partition Id.
- Windows Compressed Partitions pose many problems in a multi-OS/multiBoot
setting, and are better avoided- hard disk prices are low enough now to make a
new HD a better solution to space issues than Windows Compression.
- As far as I know MS-DOS 6.22, DR-DOS 7.03 and previous can't be booted
from a logical partition. Windows 3.x can run with MS-DOS 7.x which is
included in Windows 9x and thus it can be run from a logical partition.
- Use the BootPart
program for repairing boot sector of NT loader partition. Boot that partition
(the rest should be hidden with XOSL) with boot floppy, and type "bootpart
winnt boot:c:".
- After installing XOSL, change the booting sequence in your BIOS to "HARD
DISK,FLOPPY". This will speedup the boot process and XOSL lets you boot from a
floppy anyway. This also prevents accidental booting from a floppy and
consequential potential infection with some nasty virus. You can even assign a
password to boot from floppy for even better protection of your PC.
- When installing a second hard drive only create an extended partition with
logical partitions on that drive. By not creating a primary partition there,
letter changes in your Operating System can be avoided.
- Don't install XOSL in Windows! Be sure to use a floppy for installation of
XOSL for later restore and uninstall ;-)!
- Insert boot keys Alt-F5 for directly booting DOS mode in Windows 9x.
II. Booting from logical partition
How to install or run Windows 9x on a logical partition?
It's not possible to install Windows 9x on a logical partition directly
because of the "SU 013 Error". But, wait, there are possibilities for that,
although they are tricky:
Copy the Windows primary partition to a logical partition and make it
bootable. Detailed instructions follow:
- Prepare yourself one primary partition for installation of Windows 9x and
of course one logical partition for running Windows 9x. If you already have a
D: partition and would like to keep it that way, use the partition before that
one for your new C: drive. Also be careful about the 1024 cylinder limitation!
- Install Windows 9x if you haven't already. Copy your old c: to the
newly-prepared logical partition. That can be tricky. If you do it in DOS mode
(better), you must recover long filenames and attributes (program DOSLFNBK can do
that for you). If you copy in Windows (simpler), you should skip files in use
like swapfile (usually named win386.swp) or else an error will stop copying.
Be sure to copy all files and folders including system and hidden
files. Preserve attributes of those files. Ranish Partition Manager
is capable of copying partitions, but I didn't test it yet thoroughly.
- Make your new partition bootable: type "sys ?:" (replace ? with your new
partition). Don't worry about activating your new partition.
- In XOSL, change your Boot item to hide
all existing primary partitions except the extended partition which contains
your logical partition, and then boot the (copied) logical partition. If you
have any logical partitions before this, hide them also.
- Check everything, especially your Boot items before erasing your old
primary partition.
With Partition Magic this task is
even simpler: make room for the new partition you are going to create in
free space in the extended partition, then Copy it from the
original; after that type "sys ?:" (replace ? with your new partition). That's
it! You can also create another primary partition for that if possible. But,
beware one thing; you shouldn't change the order of your Windows partitions. The
partition that was originally c: should still be c: afterwards. If this is what
you wanted, then this partition must be the first nonhidden primary or logical
partition (e.g. hide all preceding FAT partitions).
Now when your "logical" Windows 9x is working, there are no restrictions on
installing whatever Operating System(s) you want on your first primary
partition, and you can repeat this as many times as you need for multiple
installation of Windows 9x! Note another thing; when booted with XOSL Windows 9x
doesn't need to reside on an active partition.
Maybe this picture will explain better. My recommendation for installation of
XOSL is (usually hidden) non-dedicated logical partition.
Partition structure before:
|
Primary |
|
Extended |
|
|
|
|
Logical
Empty |
Logical
Empty |
Logical
XOSL | |
Partition structure after:
|
Primary |
|
Extended |
|
|
|
|
Logical
Windows 9x A |
Logical
Windows 9x B |
Logical
XOSL | |
For running "Windows 9x A" hide just first primary partition. Maybe for
safety second logical too. At least during installation. For running "Windows 9x
B" hide first primary and also first logical partition.
I have installed Windows NT or 2000 in a logical partition and want to
boot it from there. What should I do before hiding primary (boot) partition
(C:)?
One way is copy boot files for Windows NT or Windows 2000 from its primary
partition to the target logical partition and then hide the original primary
partition. Hiding is preferred in Windows but not in XOSL, and especially not with Windows 2000.
Remove its drive letter with Disk manager in Windows NT (or DiskManagement in
Windows 2000) in your administrative tools in Windows NT or 2000. Change your
Boot item to boot the logical partition and test it. After success you can
safely format your primary partition and use it for any other Operating System
or purpose.
Boot files for Windows NT or Windows 2000:
- NTLDR
- BOOT.INI
- ntdetect.com
- ntbootdd.sys (if it exists)
and for Windows 2000 also:
Check date and time just to be sure but, if you're still not sure, just copy
all system and hidden files from the root of your old boot partition to your new
logical partition. Make that logical partition bootable if it is a FAT type
partition and not formatted with Windows NT or 2000. Use program BootPart for that. Read its
documentation, but here are short instructions: Boot that partition (the rest
should have been hidden with XOSL) with Windows 9x or DOS floppy and type:
"bootpart winnt boot:c:". Be sure to check with "dir" that your current "C:" is
the one just before that.
Note: for Windows NT it is also necessary that the installed Service Pack is
at least Version 4.
Booting OS/2 from a logical partition
XOSL is able to boot the OS/2 Boot
Manager, which in turn can boot OS/2. Just change your Boot Manager settings so
that it boots the default OS/2 partition on the fly, without waiting... so when
XOSL boots OS/2's Boot Manager you'll see it flashing on the screen and then
OS/2 boots. Or, if you want to quickly pass over OS/2's Boot Manager, just add
the necessary keys in your OS/2 Boot item. If your Warp partition is the default
choice under OS/2's Boot Manager, simply add an extra return to the "KEYS" page
in XOSL settings. So, when you'll boot OS/2, XOSL will stuff a "return" in the
keyboard buffer. Now you won't even see Boot Manager flashing on the screen...
For those who boot OS/2 from a primary partition there's no problem at all:
XOSL does an excellent job!
Which Operating System needs a logical or an active partition when booted
with XOSL?
|
Operating System and version |
Install on logical partition |
Run from logical partition |
Can use more than one primary partition |
Active partition not needed for
booting |
|
MS-DOS 6.22 |
No |
No |
No |
? |
|
DR-DOS 7.03 |
Yes |
No |
Yes |
Yes |
|
MS-DOS 7 from Windows 95B |
Not directly (use "SYS") |
Yes |
No |
Yes |
|
GNU/Linux |
Yes |
Yes |
Yes |
Yes |
|
Oberon 2.3.6 |
Yes |
Yes |
? |
Yes |
|
Windows 95B |
Not directly |
Yes |
Yes (but be very careful) |
Yes |
|
Windows 98SE |
Not directly |
Yes |
Yes (but be very careful) |
Yes |
|
Windows ME |
? |
? |
Yes (but be very careful) |
? |
|
Windows NT 4.0 |
Not directly |
Yes |
Yes |
Yes (note: boot partition can be hidden) |
|
Windows 2000 |
? |
Yes |
Yes |
Yes (note: boot partition can be
hidden) |
Tested mostly on ancient 486DX without incorporated INT 13 extensions,
but using EZ-Drive. Please
report any differences, problems, additions, confirmations or suggestions.
What about 1024 cylinder limitation?
III. Creating partitions
VERY IMPORTANT: Be careful on this issue: when you install other
Operating Systems that use their own file system, you need to be careful of
where a new file system may reside in an extended partition. Microsoft
Operating Systems MS-DOS through Windows 98 or even Windows ME have a bug
where, if the last logical partition
in the extended partition is not a recognized file system type, and multiple
visible FAT primary partitions exist, it will use the last logical partition
as a FAT one in place of the next primary partition. But it will think the
size of the partition is that of the primary partition. Data coruption can
occur!
But how can you create 4 primary partitions with fdisk? - because, even
when just one primary exists, fdisk says that "a primary partition already
exists", and will not create any more.
Most versions of DOS fdisk can't create more then one visible primary
partition and one extended partition. If you hide a partition with XOSL, then it will appear under fdisk as a
"non-DOS partition". If all the primaries are hidden then fdisk will be able
to create what it thinks is the only primary. Of course, you must ensure that
space is available for your proposed new partitions. Search documentation for
detailed instructions.
When you want to create one more primary partition with Partition Magic, it says than Windows 9x
won't work if more than one primary partition exists.
If you'll hide all other primary partitions except the current one in XOSL you won't experience any trouble.
Windows won't boot from extended partitions so I started to create
primary partitions and both Partition
Magic and Ranish
Partition Manager would not let me create more than 4. What should I do?
The specification for the PC hard disk MBR sector allows maximum of 4
primary partitions. Each primary partition can contain an Operating System on
its own (or just data), but can also be set up as an extended partition. An
extended partition is a container for logical partitions, of which you can
have any number. But some Operating Systems will only reference a limited
number of partitions. Many Operating Systems such as Linux and BeOS, and many
flavours of Unix, can boot from an extended or a logical partition. Windows
can boot
from a logical partition (this is not common knowledge) but this type of
installation is a little tricky (for more information check this and also
other documentation). It is also possible to have 2 or more Hard Drives, which
would allow you to have 4 primary partitions per hard disk. That way you are
able to boot 8 or more of your Operating Systems from primary partitions and
as many others as you have logical partitions available for them. Don't forget
hiding.
How to create multiple primary partitions with any DOS or Windows boot
floppy
This is required should you want to install more than one Operating System.
Partitioning can be a destructive process for your data, and should be handled
with care. Keeping to a regular Backup policy is highly recommended.
Make a boot floppy (at least it must also contain format.com, sys.com and
fdisk.exe) and copy the XOSL installation
files to another "XOSL Install" floppy.
Run fdisk and create the first primary partition. Be sure that you leave
enough space for other Operating Systems and for data partitions. Reboot your
system and format the new partition with the command "a:\format c: /s". Make
sure that you format the right partition or else you'll lose data! Then
install XOSL in that partition. Use the "DOS Drive" and not the "Dedicated
Partition" installation. This way you'll be able to test it and get used to
it. Later you should reinstall it to another partition (for more information
read on). Reboot and create Boot item for floppy. You have to hide the first
partition at this point.
Now put the boot floppy in and boot your new Boot item. Run fdisk again and
create the second primary partition. Leave the non-DOS partition alone,
because this is your hidden partition.
Again reboot and repeat format procedure. Remember to change the Boot item
to also hide the new partition on reboot.
If you need a third primary partition then repeat the above once again.
After you have created any primary partitions you need (as above), you
should create one more primary partition: extended. That partition is a
"container" for logical partitions. You can create as many logical partitions
as you like. Organize your data in logical partitions. My recommendation for
XOSL is that it should be installed in a (hidden) logical partition, so create
one more for that.
If you have more than one hard disk repeat the same procedure. Don't forget
that each hard disk can contain up to 4 primary partitions. If you need more
partitions than that, then create logical partitions.
Now is a good time for the reinstallation of XOSL to its previously
prepared partition. Reboot and give yourself some time to create Boot items
for all planed Operating Systems now. With each Boot item, hide all partitions
except those for the current Operating System. If you need to share data
between Operating Systems, make one or more logical partitions visible for
that. Format shared data partitions to FAT16, because almost all Operating
Systems can access that file system.
If an Operating System happens to overwrite XOSL, just restore XOSL with
your "XOSL Install" floppy.
How DOS, Windows or OS/2 assign drive letters
The boot partition always gets the drive letter "c:\" regardless of whether
it is a primary or a logical partition.
After that, drive letters are allocated sequentially to the first primary
partition in each hard disk (hd2 primary as d:|, hd3 primary as e:\, hd4
primary as f:\, and so on). Then the logical partitions are assigned drive
letters drive by drive, for example hd1 logicals 1-3 as g:\ h:\ I:\, hd2
logicals 1-2 as j:\ and k:\, and hd3 logical 1 as m:\. Finally are the rest of
primary partitions in same order like logical partitions. Hidden partitions do
not get a drive letter, and remember that multiple primaries are not visible
in DOS/Win/OS2 type Operating Systems, so only one primary per hd will have a
drive letter.
Note: Windows NT or 2000 doesn't change assigned letters if partition is
removed or hidden.
Preventing drive letter change when multibooting DOS, Windows or
OS/2
If you place partitions in the right order, you can avoid drive letter
changes. If we look at different file systems, the most common one is FAT. So,
create those partitions at the beginning of the hard disk. After them place
FAT32 and finally any NTFS and HPFS partitions. Unix and Linux don't use drive
letters, but there are other limitations depending on the Unix flavour in
question.
IV. Installation of multiple Operating Systems
Installing Windows 9x or Windows ME
Please read examples; in almost every one there is some information.
Installing GNU/Linux
If you're installing Linux, install LILO in the Linux partition's boot
sector (superblock). You can safely ignore the warning that says you won't be
able to boot Linux. XOSL can do the job.
Installing Windows NT or Windows 2000
If you're installing Windows NT, create a separate FAT partition and format
it. Windows NT can later convert it into a NTFS partition, if you prefer that.
Now reboot your system. When the XOSL menu
appears, Create Boot Item for Windows NT and make sure that you hide all other
partitions except the one in which you're going to install Windows NT. Clone
that Boot item and edit it to boot from floppy. Name it for example "Windows
NT installation from floppy". Now, put the Windows NT's boot floppy in the
floppy drive and choose Boot item "Windows NT installation from floppy" to
begin with installation. After installation you can disable the Boot item. If
you need it later just enable it again.
If you want to use CD installation there are few differences. You don't
need to clone a Boot item, but you will need to boot the Boot item for Windows
NT. Immediately after that insert a bootable installation CD and reboot. Your
PC should be able to boot from CD and the "boot order" in BIOS should be
"CDROM, HARD DISK, FLOPPY". After installation just remove the CD. If you want
more partitions than just the current C:, then just use Disk manager in your
Administrative tools to assign them the letters you want.
If your CD-ROM is not bootable from your BIOS, just use XOSL version 1.1.5
or later which can boot your Windows NT or Windows 2000 bootable installation
CD.
Installing BeOS 5 PE on a dedicated partition
Report from advanced BeOS user Roland:
If you want to install BeOS 5 PE on a dedicated partition and boot it with
XOSL first check this site http://www.betips.net/misc.html and
look for 'Install Personal Edition to a real partition'
To create a BeOS installation CD using Nero 5 CD Burning software under
Windows follow the link 'create a BeOS installation CD' and check the section
'Creating the CD from within Windows'. It all worked first time for me.
I created a 4 GB BeOS primary partition on hard drive #3 (28 GB) and later
moved it right to the end with Partition
Magic 5. XOSL has no problems whatsoever booting it!
Example to set up your computer running these Operating Systems (Windows
2000, Windows 98, Windows ME, SuSE Linux 7.0 and BeOS) and installing XOSL on
a partition on it's own.
My major concern was to have all Operating Systems separated as far as
possible: each individual Operating System must not have any connection to the
other. Only a few 'data partitions' may be 'shared'. So hide as many
partitions as possible.
There are 3 hard drives:
- XOSL partition (can be logical)
Windows ME primary
partition
- Windows 2000 primary partition
Linux on primary partitions (boot,
root, swap)
- Windows 98 primary partition
two logical
partition in the extended partition
BeOS primary partition
Installation was a bit unorthodox, but I am a control freak and I REALLY
HATE the Windows NT bootloader. Windows 98 was already installed.
XOSL install
- installed on dedicated partition (first partition on first disk)
Windows ME install
- created FAT32 primary partition with Partition Magic 5 under Windows 98,
set partition active
- disconnected all hard drives except #1 (Windows ME OEM version does not
accept other Operating Systems to be present)
- startup directly from Windows 98 boot disk (not with XOSL to avoid a
change of active partition)
- formatted partition - I had to, without it Windows ME complained it
could not create a temp folder
- booted from Windows ME CD & install
- reconnected all hard drives
- reinstalled XOSL after booting with a Windows ME boot floppy
Windows 2000 install
- disconnected all hard drives except #2
- booted from Windows 2000 CD & install (format with NTFS)
- reconnected all drives
- added Windows 2000 to XOSL, 'swap drive' active
Linux install
- created primary partitions with Partition Magic for boot, swap and root
(note the 1024 cylinder limit for LILO)
- booted from CD and assigned & formatted the primary partitions (just
to make sure). Set XOSL to boot the /boot partition.
BeOS install
- created a BeOS installation CD (see msg. 772)
- created FAT primary partition on #3 with Partition Magic
- booted from BeOS start disk
- did the install & BeFS format but did NOT install the bootmgr. XOSL
will start BeOS without a problem.
Just a few remarks
- BeOS cannot be moved around with Partition Magic.
- Linux installation on an extended partition with the boot, root &
swap partitions as logical partitions had a strange effect on Windows ME. It
suddenly recognized a drive D of type RAW. After reinstalling Linux on
primaries, the problem was gone (see msg. 723 and 725).
- For Windows 2000 I installed the command console. It now shows up in the
Windows 2000 boot menu. Hope I never have to use it...
- Do a LOT of hiding with XOSL. It does not guarantee full protection
though. In the Windows NT or 2000 administration tools most partitions are
recognized. Be careful.
- Windows ME's System Restore feature will put _Restore folders on any
FAT/FAT32 partition it can find. Do the XOSL hiding before reconnecting the
hard drives (if applicable). The _Restore folders don't hurt, but here's the
control freak talking. You can switch the feature off, but not selectively
per drive. It's a good feature though, it saved my butt twice already.
- If only one hard drive is available, first install Windows 2000 on the
first primary. Any other sequence will have the much hated NT bootloader
kicking in. Format the Windows 2000 partition in NTFS. It's a better FS
anyway and it will prevent other Windows versions from detecting the
partition. Windows ME DOES detect NTFS, but cannot do anything with it. It
could however be a problem when installing Windows ME. Windows 98 should
install without problems.
The bottom line: setting up all this stuff is a wonderful waste of time and
you learn a lot from it.
1024 cylinder limit
What is the 1024 cylinder limit?
The 1024 cylinder limit is a PC BIOS constraint. If the BIOS does not have
INT 13 extensions incorporated, no Operating System can be booted from a
partition that intrudes into the space beyond. Newer systems have the INT 13
extensions. They enable booting from space beyond cylinder 1024 only if the
Operating System is capable of utilising them. DOS can't. Neither can OS/2
Warp 3 and 4 GNU/Linux with newer LILO (version 0.21.4.2 or later) can.
Windows NT original (without Service pack 4 or later) cannot. Windows 98, and
possibly also Windows ME, cannot exceed this limit either.
Do you have to install the boot files of any Operating System within
1024 cylinders in order for the Operating System to be able to boot?
It depends on the Operating System. If the Operating System loader isn't
INT 13 extensions aware, it probably won't even attempt to boot if any portion
of the boot partition crosses the 1024 boundary. Even though the boot files
might be installed at the beginning of the partition when the Operating System
is first installed, there's no guarantee they would all stay there through
various upgrades and patches (this includes any partition moves made (for
example) with the assistance of Partition
Magic). Of course your hardware must support it also.
LILO over the 1024 cylinder limit
One excellent report from Peter:
Your BIOS must be compliant with the trick LILO uses. In other words, if
your BIOS version is before 1997, chances are that it won't work for you...
I have recently done this with my laptop (I have done this on my desktop
before).
Anyway here is a brief run down on how I did it.
1. I created the partitions. (This is from memory so it isn't
exact):
|
hda1 |
Windows 2000 |
(FAT32) |
around 7 GB |
|
hda2 |
extended partition |
around 2.7 GB |
|
hda5 |
/boot |
(ext2) |
around 16 MB |
|
hda6 |
/ |
(ext2) |
around 2.5 GB |
|
hda7 |
(Linux Swap) |
around 133 MB |
I used Partition Magic to do
this.
2. Installed Windows 2000. Into its partition
3. Got onto the Net and then downloaded the latest version of LILO (At
least version 0.21.4.2 or later).
4. Installed Redhat 6.2.
It doesn't really matter where you setup LILO to install itself, as it won't
work until you install the new version. I installed it to the /boot partition.
This way I could still boot into Windows.
VERY_IMPORTANT: When it asks you to make a boot floppy MAKE the boot
floppy.
5. Use the boot disk to get into Linux.
I am not sure how well you know Linux, so I will provide you with the steps
that I used to get LILO installed. (Note I am just a beginner in Unix/Linux so
this may not be the best way to do it, but I know that it works). (Anything in
between a * is a command)
*cd /mnt*
*mkdir /win* (I am making a directory to link to the Windows Partition).
*mount -t vfat /dev/hda1 /win* (Windows was on hda1 for me, so I link off that dir)
*cd /usr/src* (This is where I am putting all my source code)
*tar xzvf /mnt/win/(Directory with your LILO.tar file)/lilo-21.5.1.tar.gz*
*cd lilo-21.5.1*
*make*
*make install* (This will have setup and installed LILO.)
Now you have to configure the LILO Config file.
Use your favourite editor. I use pico
*pico /etc/lilo.conf*
(My lilo.conf file looks like this).
******Start lilo.conf file************
boot=/dev/hda5
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
lba32
default="Linux 2.2.14"
image=/boot/vmlinuz-2.2.14-5.0
label="Linux 2.2.14"
read-only
root=/dev/hda6
image=/usr/src/linux/arch/i386/boot/bzImage
label="Linux 2.4-pre9"
read-only
root=/dev/hda6
********End lilo.conf file************
Note that the "lba32" is needed to get LILO to work.
Also when LILO is installed there is a file in the /usr/src/lilo-21.5.1
directory called Disk.com. If you copy it onto a bootable disk and boot off it,
then run that file it will tell you whether your BIOS will support lba32 calls.
VI. Miscellanies
How XOSL 1.1.x works
There are three steps to 'how XOSL works':
- starting XOSL
- running XOSL
- booting an OS (booting a Boot item).
- The MBR (first sector of a hard disk) contains an IPL (Initial Program
Loader, or whatever you want to call it) and a partition table. When XOSL is
installed, it replaces the existing IPL, with one to load XOSL. This IPL will
load XOSLLOAD.XCF and execute it. Then XOSLLOAD.XCF will load all XOSLIMGx.XXF
files (the actual boot manager), and execute it. Due to heavy code size
restrictions for the IPL, the IPL cannot directly boot the actual boot
manager.
- XOSL itself is a regular application, as every other. It's mainly written
in C++. Some C files still exist. They will disappear in the future. Lastly,
there's assembly, mainly for low-level stuff (mode switching, disk access,
etc.).
- There are three things to booting: activating partitions, partition
hiding, and the actual booting process. Activating a partition is setting a
flag in the partition table to 0x80 (128). For hiding, XOSL will change the
file system Id for the partition. Lastly, to boot, XOSL loads the first sector
of the selected partition to memory address 0000:7c00, and will execute it.
Booting Windows or DOS from a second or later hard disk
Q: I now have 2 IDE hard disks. When I boot Windows from the 2nd hard disk,
my hard disk runs in DOS compatibility mode, and Windows is slow as hell. There
is also a message that says that my MBR may be infected by a virus or something.
Is there a way to make my Windows on second hard disk NOT boot in DOS compatible
mode when I boot it with XOSL ?
A: Don't select Swap hard disk, just hide all (or at least primary) FATxx
partitions on the 1st hard disk when booting 2nd hard disk Windows.
EZ-Drive and XOSL 1.1.x
First you need to know something about EZ-Drive. It is a
DDO (Dynamic Drive Overlay) program, which is intended to handle hard disks with
more than 1024 cylinders when your BIOS can't. It was adopted around the time
disks got bigger than about 504 MB. MBR loads EZ-Drive. I think that the first
cylinder is used for binary itself and for up to 10 backups of "replaced MBRs".
When backups are full EZ-Drive doesn't backup any more and may possibly lose new
partitions (it happened to me a few times - I now use the freeware program MBRWork to backup myself). There is
program for erasing those "nasty backups" called "baktrak.exe" from the makers
of MaxBlast, which is just another version of EZ-Drive. But it doesn't work on
all versions of EZ-Drive.
As far as I know EZ-Drive needs an active primary (but it could be
hidden) partition and can only boot DOS, Windows or another boot sector with
signature 0AA55h. So one option is to use the Windows NT or 2000 loader; another
is changing that magic number with some kind of disk editor like "PTS DiskEditor".
Philippe Guillemette found a reason why EZ-Drive can't boot XOSL (between version 1.1.0 and 1.1.5) directly
as second boot manager (on dedicated partition):
I checked a while and I saw in XOSL source code, that the boot sector
signature is 0534Fh. It seems that the EZ-Drive *must* have the standard boot
sector signature 0AA55h to allow a partition to be booted, even it is set
"active" in the partition table. But interesting, partition type is not
important.
How to install XOSL 1.1.5 if you have to use EZ-Drive:
- Assume that EZ-Drive is already installed.
- Prepare yourself one small (one MB is more than enough) activated primary
partition for installing XOSL.
- Backup your MBR. Always use floppy for that (maybe with freeware program
MBRWork, which is quite simple and also capable of some other interesting
stuff).
- Install XOSL to a dedicated partition without reboot. But don't choose to
install "Smart Boot Manager" to
boot from CD-ROM or else you'll lose your first track on the hard disk where
EZ-Drive is located. Instead install "Smart Boot Manager" manually but on a
floppy. Very useful feature ;-).
- Use some disk editor (I use PTS DiskEditor) to change that partition boot
sector signature from XOSL's 0534Fh to standard 0AA55h which EZ-Drive can
boot.
- Restore MBR to start EZ-Drive again (can also be done few times with
EZ-Drive disk - be careful).
- Reboot, setting the preferences of XOSL as usual, but hide that partition
in all Boot items in XOSL or change that partition File system ID to "XOSL's
type" 78h or similar (Ranish Partition Manager
directly from XOSL can be used for that). Remember also not to activate
any other partition except this. Don't worry about booting Windows from a non
active or even from
a logical partition. XOSL can handle that easily.
If you need a detailed procedure for using Windows NT or 2000 loader, here it
is (IMPORTANT: reboot only if allowed):
- EZ-Drive is already installed, but before proceeding backup the MBR first.
Always use a floppy for that (maybe with freeware program MBRWork, which is
quite simple and also capable of some other interesting stuff).
- Windows NT or 2000 loader can also be found on www.bootdisk.com somewhere.
Only two files are needed: ntldr and Boot.ini. Copy them to activated primary
partition. Partition type shouldn't currently (XOSL 1.1.5) be FAT12 (smaller
than 32MB).
- Create boot sector of NT loader for that partition with program BootPart. Quick instructions:
Boot that partition in DOS mode with Windows or Dos Boot floppy and type
"bootpart winnt boot:c:".
- Change NT Boot Menu manually in boot.ini or with BootPart to load "XOSL's
MBR" (look example)
Example of boot.ini:
[boot loader]
timeout=1
default=C:\curr_mbr.xcf
[operating systems]
C:\curr_mbr.xcf="XOSL"
C:\BOOTSECT.W95="Win 95 Command Prompt" /win95
- Install XOSL on that DOS Drive (not dedicated) without rebooting, but
don't choose to install "Smart Boot Manager" to boot from CD-ROM or else
you'll lose your first track on hard disk where EZ-Drive is located. Instead
install "Smart Boot Manager" manually but on floppy. Very useful feature ;-).
- Restore MBR to start EZ-Drive again (can also be done few times with
EZ-Drive disk - be careful).
- Reboot, setting the preferences of XOSL as usual, but hide that partition
in all Boot items. Remember also not to activate any other partition
except this. Don't worry about booting Windows from non active or even logical
partition. XOSL can handle that easily.
I lost LILO and Linux doesn't start anymore. How can I fix it?
Excellent post from Tom A. Honermann explains all:
Here is what happened:
You had Windows 9x already installed.
You installed
GNU/Linux.
GNU/Linux installed LILO to the MBR (Master Boot Record) of your
first disk thus blowing away Windows 9x's MBR (which is normal).
LILO was
configured to boot either Windows 9x or GNU/Linux.
You installed Windows 9x
again, which installed it's boot loader to the MBR again and lost LILO.
What you need to do:
Re-install LILO back to the MBR and use it to boot
both Operating Systems as before; or, even better, re-install LILO to the boot
block of a "/boot" partition or (if you don't have one) to your root partition
"/". The partition that you'll use must be within the first 1024 cylinders of
the disk or get newer LILO (At least version 0.21.4.2 or later). Then use XOSL to boot that partition
How to do it:
Re-install LILO back to the MBR (not recommended):
- Boot Linux from somewhere (Emergency boot disk, CD-ROM or via loadlin)
- Mount your root partition to /mnt
- Run "/sbin/lilo -r /mnt" to re-install LILO
- Reboot
- Install XOSL and use Original MBR to boot Linux
Re-install LILO to the boot block of a partition:
- Boot Linux from somewhere (Emergency boot disk, CD-ROM or via loadlin)
- Mount your root partition to /mnt
- Modify /mnt/etc/lilo.conf: Change boot=/dev/hda (or /dev/sda) to
boot=/dev/hda? (or /dev/sda?) where ? is the partition for /boot or /
- Run "/sbin/lilo -r /mnt" to re-install LILO
- Reboot
- Install XOSL and use LILO from /boot (or root) partition to boot Linux
LI ERROR
Q: I have Linux & LILO installed on my 2nd hard disk. When trying to boot
it, LILO stops with 'LI' When I disconnect my first drive, LILO boots up just
fine. What should I do?
A: In this case, LILO expects to be on the first drive, which it is when the
1st hard disk is disabled. However, when you use XOSL to boot LILO, LILO is on the 2nd
drive. Then it's only natural that LILO will fail to boot. To solve this, you
have to reconfigure LILO, while the 1st hard disk isn't disabled (so you'll have
to boot Linux from a CD). Linuxconf or YAST should be able to do this.
Note also that your /boot partition has gone from /dev/hda? to /dev/hdb?!
No Active Partition error
Q: The problem I have is that, after booting into the logical partition, the
next time I start the computer it responds with a "no active partition found
error" before it gets to XOSL. I then have to reset an active partition using
FDISK. Is there a way round this?
A: When you boot off the logical partition, XOSL will activate it. However, your BIOS
doesn't like it when no primary partition is active after reboot, hence the
error. To solve it, uncheck the 'Activate' check box for the logical partition
Boot item.
Manual backup of XOSL's files
No one knows when you'll need it, so backup these files for version 1.1.x:
- bootitem.xdf (your Boot items are in this file)
- xosldata.xdf (XOSL settings are stored
here)
- orig_mbr.xcf (if your primary partitions are now relocated, don't use this
"old MBR image")
How to restore that backup depends on the situation. If XOSL isn't installed
at all, install it and overwrite those three files with the backups.
If XOSL is installed, just overwriting will do.
IMPORTANT NOTE: files of different versions may not be compatible with each
other! Only when easy-upgrade is supported, can you exchange them between
different versions.
I installed Windows NT on the second partition. After the reboot it just
halts without showing NTloader.
Windows NT without Service Pack 4 or higher must boot from the within the
first 4 GB of a hard drive. This problem is avoided with the 3 Windows NT setup
disks created during installation. When asked, supply the driver disk with
Service Pack 4's file ATAPI.SYS. Be aware that, whilst this solution does work,
the boot process takes a few seconds longer.
See the following Microsoft KnowledgeBase articles for details on this: Q197295
and Q102873.
However they forget to tell you that you need to copy ATAPI.SYS to NTBOOTDD.SYS
in the same folder as your BOOT.INI file.
Also Ranish Partition
Manager can overcome this situation. Check its documentation for details.
Hiding Partitions in Windows NT or 2000
Q: When I boot Windows 2000, I get to the login dialog, but it goes into an
infinite loop of trying to read/write my preferences. Windows 2000 works fine if
I remove XOSL and just make that partition active. What should I do?
A: This is likely to have happened if your partition was visible when you
installed Windows 2000. It doesn't matter if it is later marked as hidden,
Windows 2000 will always assign it a drive letter. So don't hide partitions in
XOSL for Windows 2000. That Operating System
wants to know everything about your partitions and if you hide any it is
confused and "restarts" all the time to reread the preferences.
To change partition visibility in Windows 2000 go to the "Computer
Management->Disk Management" option, select your partition, right-click and
choose "Change Drive Letter and Path." Now click the "Remove" button and it will
remove your drive letter assignment, effectively making it hidden. You can use
the same method (but clicking "Add") to make hidden partitions available to the
Operating System. In Windows NT use Disk manager in Administration tools.
Remember that once you assign a drive letter, it will stay visible until you
remove the assignment, regardless of whether XOSL makes it hidden or not on
boot-up.
VII. Glossary
- 1024 cylinder limitation!
- many Operating Systems have it at least during loading; your BIOS must
support INT 13 extension for overcoming that boundary limitation
- BIOS
- is checking and controlling your hardware at the most basic level
- Boot item
- please read the XOSL manual once again
- EZ-Drive,
Disk Manager
- dynamic drive overlay (DDO) programs used when your BIOS or Operating
System can't handle large hard drives; upgrade your BIOS or hardware if
possible
- FAT12
- file system for partitions smaller than 32MB
- FAT16
- basic Windows file system
- FAT32
- file system for effective use of your Windows partitions
- fdisk
- very basic partition manager
- file system
- structure of written information on hard disk, floppy, Zip drive...
- format
- basic program for (re)creating of file system
- HD
- Hard Drive; contain Operating System and your data, vital part of you PC
- IPL
- Initial Program Loader - loads OS; located in MBR, executed by BIOS
- LILO
- LInux LOader; can load almost every PC based Operating System
- MBR
- Master Boot Record; very important part of your hard disk, contains
partition table and IPL
- multi-booting
- using more than one Operating System and/or multiple versions of one
Operating System
- NTFS
- file system for Windows NT or 2000; safer and more efficient than FAT
- OS
- Operating System
- partition
- container for file system
- partition, activating
- some Operating Systems loaders (IPL to be exact) need this in order to
know which partition to boot
- partition, extended
- special type of primary partition which is intended for use as a container
for logical
partition
- partition, hiding
- Windows usually don't see hidden partitions, but data is still there
- partition, logical
- same as primary, except there is no 4 per hard disk limitation (logical
partitions live inside the extended partition)
- partition, primary
- container for your Operating System and data; each hard disk can have a
maximum of 4
- partition table
- contains information about the primary partitions on that hard disk
- PC
- Personal Computer
- VESA
- Video Electronics Standards Association - create standards for graphical
cards
VIII. Links
XOSL - excellent bootmanager
http://www.xosl.org/
http://xosl.sourceforge.net/
Ranish Partition Manager - excellent partition manager; useful also for
copying partitions
http://www.users.intercom.com/~ranish/part
Partition Resizer - nice partition resizer
http://members.xoom.com/Zeleps
BootDisk - useful tools and boot disks of all kinds
http://www.bootdisk.com/
BootPart - interesting program for multibooting in general
http://www.winimage.com/bootpart.htm
INSTALLING A DRIVE AND COPYING WIN95 - a lot of information about copying
Windows to other partition
http://thef-nym.sci.kun.nl/~pieterh/copying-win95.html
DOSLFNBK - backup and restore long filenames and attributes in plain
DOS
http://www8.pair.com/dmurdoch/programs/doslfnbk.htm
GNU/Linux - excellent and free Operating System
http://www.linux.org/
http://www.freshmeat.net/
LILO - LInux LOader
http://www.lilo.org/
http://www.freshmeat.net/
MBRWork - interesting freeware program to backup, restore or erase your MBR;
also very useful if you have EZ-Drive
http://www.terabyteunlimited.com/
Partition Magic - commercial software from PowerQuest, but the best one to
play with partitions
http://www.powerquest.com/
PTS DiskEditor - very useful (and free) disk editor
http://www.phystechsoft.com/
Smart Boot Manager - nice little boot manager capable of booting from
CD-ROM
http://btmgr.sourceforge.net/
IX. Trademarks
All mentioned product names are trademarks or registered trademarks of their
respective companies.
X. Credits
Geurt Vos - for his eXtended Operating System
Loader and it's documentation and accessories
Vijai K. Amarnath - some
interesting information from his OSLoader documentation
PowerQuest - for lots of information and
very simple but extremely powerful partition manager
Users of XOSL - for
posting interesting questions and effective solutions
GNU/Linux community -
for excellent volunteer work
Philippe Guillemette - for his solution for EZ-Drive to boot
XOSL directly
Authors: Filip Komar (filip.komar@email.si) and many others,
who posted on XOSL's mailing list (Please don't say it's Copyrighted)
Editor
(Suggestions, Grammar & Spell Check): David Denny: English (UK)
Proofreading and converting to HTML: Geurt Vos
XI. History
NOTE: date format in d.m.yyyy!
Version 1.00
Last change:
6.3.2001 by Filip
Last revision: 8.2.2001 by David
Converted to HTML:
1.3.2001 by Geurt