mirror of https://github.com/tLDP/LDP
230 lines
6.4 KiB
Plaintext
230 lines
6.4 KiB
Plaintext
<!doctype linuxdoc system>
|
|
<article>
|
|
<title>NT OS Loader + Linux mini-HOWTO</title>
|
|
<author>Bernd Reichert, <reichert@dial.eunet.ch></author>
|
|
<date>v1.11, 2 September 1997
|
|
|
|
<sect>Abstract
|
|
<p>
|
|
This document describes the use of the Windows NT boot loader to
|
|
start Linux.
|
|
This procedures have been tested with Windows NT 4.0 WS and Linux 2.0.
|
|
|
|
<sect>How does the NT OS Loader work
|
|
<p>
|
|
The NT OS loader likes to have the boot sector from the other
|
|
operating systems available as a file. It reads this file and
|
|
starts the operating system selected, i.e. either Windows NT in
|
|
different Modes or any other OS.
|
|
|
|
<sect>Tips on how to install Windows NT and Linux on the same System
|
|
<sect1>Windows NT installation
|
|
<p>
|
|
Try to install Windows NT first. If you want to use NTFS for your Windows
|
|
NT-partition, keep in mind, that the todays production version of Linux
|
|
cannot access NTFS partitions.
|
|
An alpha driver that can read NTFS-Partitions is available at
|
|
<tt>http://www.informatik.hu-berlin.de/~loewis/ntfs</tt>.
|
|
You may create a separate FAT-Partition for data exchange
|
|
or you have to use DOS-formatted floppies.
|
|
|
|
<sect1>Partitioning
|
|
<p>
|
|
Another Mini-howto recommends not to use NTs "Disk Administartor"
|
|
to create the Linux swap- and root-partitions. It is sufficient to
|
|
see the free space there. I also recommend to use linux's fdisk later.
|
|
|
|
<sect1>Linux installation
|
|
<p>
|
|
Now boot linux from diskettes, create the swap and root-partition.
|
|
Fdisk assumes the ntfs-partition to be a HPFS-partition.
|
|
This is normal.
|
|
Boot again from diskettes and install Linux as you like.
|
|
|
|
<p>
|
|
Just in case the installation procedure suggests that you could mount
|
|
the HPFS partition which it has found: Ignore it.
|
|
|
|
<sect1>Lilo
|
|
<p>
|
|
When you come to the Lilo-Section, specify your Linux-root-partition
|
|
as your boot device because the Master Boot Record (MBR) of your
|
|
harddisk is owned by Windows NT. This means that the root-entry and
|
|
the boot-entry in your <tt>/etc/lilo.conf</tt> have the same value.
|
|
If you have a IDE-harddisk and your Linux-partition is the second
|
|
partition, your boot-entry in <tt>/etc/lilo.conf</tt> looks like:
|
|
|
|
<tscreen><verb>
|
|
boot=/dev/hda2
|
|
</verb></tscreen>
|
|
|
|
If you have two disks and your Linux resides on the first partition
|
|
of your second disk, your boot-entry in <tt>/etc/lilo.conf</tt> looks like:
|
|
|
|
<tscreen><verb>
|
|
boot=/dev/hdb1
|
|
</verb></tscreen>
|
|
|
|
Run lilo with a kernel that matches your system.
|
|
Check the kernel by booting from diskette first if you are not sure.
|
|
|
|
<p>
|
|
If you cannot boot Windows NT now, you have a problem.
|
|
I hope you have created a repair-disk recently.
|
|
|
|
|
|
<sect>Bootpart
|
|
<p>
|
|
There is a NT-programm called bootpart written by G. Vollant that can do
|
|
the jobs from the next two points for you. Bootpart is available at
|
|
<tt>http://ourworld.compuserve.com/homepages/gvollant/bootpart.htm</tt>.
|
|
|
|
<p>
|
|
If you want to know how things are working together, use the procedures
|
|
described in point 5 and 6.
|
|
|
|
|
|
<sect>The Linux part of the work
|
|
<p>
|
|
You have to boot from diskettes until the NT-part is fixed.
|
|
|
|
<p>
|
|
Now you have to peel the bootsector from your Linux-root-Partition.
|
|
With /dev/hda2 as your linux-partition, the dd-command is:
|
|
|
|
<tscreen><verb>
|
|
# dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1
|
|
</verb></tscreen>
|
|
|
|
There is something wrong if your bootsect.lnx has more
|
|
than 512 bytes.
|
|
|
|
Now copy the file bootsect.lnx to a DOS-formated floppy if this is
|
|
your way to transfer files to the NTFS-Windows-partition.
|
|
|
|
You can copy it with
|
|
|
|
<tscreen><verb>
|
|
# mcopy /bootsect.lnx a:
|
|
</verb></tscreen>
|
|
|
|
or with
|
|
|
|
<tscreen><verb>
|
|
# mount -t msdos /dev/fd0 /mnt
|
|
# copy /bootsect.lnx /mnt
|
|
# umount /mnt
|
|
</verb></tscreen>
|
|
|
|
|
|
<sect>The Windows NT part of the work
|
|
<p>
|
|
Copy the file from the diskette to <tt>C:\\bootsect.lnx</tt>. I don't tell you
|
|
how to do that.
|
|
|
|
What lilo.conf is for linux is <tt>c:\\boot.ini</tt> for Windows NT.
|
|
Remove the, system- and the read-only-attribute before you
|
|
can modify it with:
|
|
|
|
<tscreen><verb>
|
|
C:\attrib -s -r c:\boot.ini
|
|
</verb></tscreen>
|
|
|
|
Now change the file boot.ini with an editor, notepad for example, as follows:
|
|
|
|
<tscreen><verb>
|
|
[boot loader]
|
|
timeout=30
|
|
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
|
|
[operating systems]
|
|
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation ...
|
|
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation ...
|
|
C:\BOOTSECT.LNX="Linux"
|
|
</verb></tscreen>
|
|
|
|
Only the last line has been added in this example.
|
|
Restore the attributes after you have saved <tt>boot.ini</tt> with:
|
|
|
|
<tscreen><verb>
|
|
C:\attrib +s +r c:\boot.ini
|
|
</verb></tscreen>
|
|
|
|
After a shutdown of your Windows NT and a restart your should
|
|
see the following:
|
|
|
|
<tscreen><verb>
|
|
OS Loader V4.00
|
|
|
|
Please select the operating system to start:
|
|
|
|
Windows NT Workstation Version 4.0
|
|
Windows NT Workstation Version 4.0 [VGA mode]
|
|
Linux
|
|
|
|
Select Linux and see
|
|
|
|
LILO loading zImage ....
|
|
</verb></tscreen>
|
|
|
|
|
|
<sect>Play it again Sam
|
|
<p>
|
|
A new copy of bootsect.lnx must be transfererd to <tt>C:\BOOTSECT.LNX</tt>
|
|
evry time the bootsector of your linux-partition has been modified.
|
|
This happens for example when you install a new kernel with lilo.
|
|
As you can see such a system in not ideal for testing experimental
|
|
kernels.
|
|
|
|
|
|
<sect>Troubleshooting
|
|
<p>
|
|
If things do not work as expected, check bootability with a floppy disk.
|
|
With <tt>/dev/hdb1</tt> as your Linux-partition, your <tt>/etc/lilo.conf</tt>
|
|
has the following entries:
|
|
|
|
<tscreen><verb>
|
|
root=/dev/hdb1
|
|
boot=/dev/fd0
|
|
</verb></tscreen>
|
|
|
|
Run lilo with a diskette inserted. Now try to boot from the diskette.
|
|
If your Linux on <tt>/dev/hdb1</tt> can't be
|
|
started, the NT OS loader will also fail to start it.
|
|
If you see a lot of <tt>01 01 01 01</tt>, your root-disk is not accessible.
|
|
Check whether all your disks are known by the bios.
|
|
|
|
<p>
|
|
If the floppy boots your Linux partition, you can peel of your
|
|
boot-sector for the NT OS loader with:
|
|
|
|
<tscreen><verb>
|
|
# dd if=/dev/fd0 of=/bootsect.lnx bs=512 count=1
|
|
</verb></tscreen>
|
|
|
|
<p>
|
|
You can keep this diskette as your rescue-diskette just in case
|
|
your Windows NT installation breaks.
|
|
|
|
|
|
<sect>References
|
|
<p>
|
|
<itemize>
|
|
<item>The Linux+WindowsNT mini-HOWTO
|
|
<item>The FAQ for FreeBSD 2.X
|
|
</itemize>
|
|
|
|
<sect>Acknowledgements
|
|
<p>
|
|
<itemize>
|
|
<item>Thanks to Xiaoming Yi <z3c20@ttacs.ttu.edu> for the tip that
|
|
the procedures work also with other disks than the first one.
|
|
<item>Thanks to Frank Dennler <Frank.Dennler@zkb.ch> for the
|
|
diskette-trick.
|
|
</itemize>
|
|
|
|
<sect>Feedback
|
|
<p>
|
|
Any comments are welcome.
|
|
|
|
</article>
|