Bochs/bochs/docs-html/guestNT.html

129 lines
4.1 KiB
HTML
Raw Normal View History

<HTML>
<HEAD>
<META NAME="copyright" CONTENT="Copyright 2001 by MandrakeSoft S.A.">
<META NAME="Author" CONTENT="Kevin Lawton">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
<TITLE>Installing WinNT in bochs</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#ececec" LINK="#3333cc" VLINK="#666666">
<CENTER><H1>Installing WinNT 4.0 in bochs</H1></CENTER>
<HR>
Here's the quick and dirty on installing WinNT 4.0 in bochs. &nbsp;
For reference, the version I installed was WinNT 4.0 Build 1381
on an internal version of bochs-991026a+.
<p>
There are a couple approaches you could take. &nbsp; You could
copy contents from the CDROM distro to a hard disk image file
and then install from there. &nbsp; I wanted to test the
CDROM emulation in bochs, so I installed directly from
the WinNT CD with no extra copy needed. These instructions
are from a corresponding install.
<p>
First, you need to configure bochs with CDROM emulation.
You need this even if you are not going to use the direct
CDROM emulation, otherwise NT won't recognize the hard
disk emulation (legacy IDE controller). Thanks to Chris
Smith for pointing this out as well as some additional
hacks for booting WinNT.
<pre>
unix> ./configure --enable-cdrom ...
</pre>
Next, you need to create a hard disk image file big enough
to install WinNT. I made one using the following command.
Refer to
<A HREF="install.html#Creating a hard disk image file">
Creating a hard disk image file</A>
for more on creating disk image files.
<pre>
unix> dd if=/dev/zero of=../483M.NT40 bs=512 count=967680
</pre>
You will need to give bochs a description of the geometry
of your disk drive in .bochsrc. Following was my entry.
While you're editing .bochsrc, uncomment or add the cdromd
directive which tells bochs to use your workstation's CDROM drive
and the CD that is in it.
<pre>
diskc: file=../483M.NT40, cyl=1024, heads=15, spt=63
cdromd: dev=/dev/cdrom, status=inserted
</pre>
OK, you will need a boot floppy to kick things off, so that
from DOS you have access to the CDROM to run the
install program. Make a DOS boot floppy with FORMAT and
FDISK on it. You will also need a driver for the CDROM.
Use one for a standard IDE CDROM. For example, you can
download one from
<a href="http://www.driverzone.com/drivers/atapi/">The Driver Zone</a>
in atapi.zip, called GSCDROM.SYS. I put the driver and MSCDEX.EXE
all on the boot floppy.
<p>
I used a CONFIG.SYS and AUTOEXEC.BAT that look like the following.
Don't forget if you're editing in Unix land, use the '-t' option
to mcopy to transfer text files to/from Unix and your image file.
<pre>
[config.sys]
DOS=HIGH
FILES=30
LASTDRIVE=Z
DEVICE=a:\GSCDROM.SYS /D:MSCD000 /v
</pre>
<pre>
[autoexec.bat]
@ECHO OFF
PROMPT $p$g
\MSCDEX /D:MSCD000 /L:D
</pre>
At this point you're all set to begin the installation. Fire
up bochs:
<pre>
unix> bochs boot:a
</pre>
Then fire up the WinNT install program:
<pre>
A:> d:\i386\winnt /b /s:d:\i386
</pre>
This page not finished yet. &nbsp;I wanted to get this release
to people who really needed the changes. &nbsp;The next release
should have better help on installing NT4.0. &nbsp;Here are
some tips though, that may help.
<ul>
<li>Every time NT reboots the machine, bochs panics out. &nbsp;This
is OK.
<li>Tell WinNT not to generate an emergency boot disk for now. &nbsp;
Otherwise it will hit the floppy Format Track command which is
not implemented yet. (I may do that next)
<li>After you've done the intial part where data is transferred
from the CDROM to the hard disk image file and the machine
is rebooted (bochs panics out), change the cdromd directive
in .bochsrc from 'status=inserted' to 'status=ejected' before
firing up bochs again. Otherwise NT will use a CDROM
command which is not implemented fully yet.
<li>I told NT not to install a driver for any mouse, and specificially
to use standard VGA in the configuration phase. Don't know if
this was necessary.
</ul>
I'm going to give the install another spin after I fix some other
things and rehash this page.
</BODY>
</HTML>