Step-by-step guide
Welcome to your step-by-step guide for installing and customizing Unattended.
Step 0: Requirements
Your network environment must meet the following requirements:
- a DHCP server,
- a DNS server,
- a file-server that will host Unattended and all installation files. From now on, this server will be referred to as "Unattended server".
Step 1: Download the distribution
Please download the distribution of Unattended. You will find the download links on the right side of this page. You will need all of them.
Step 2: Unpack the distribution
Next unpack the distribution. Choose a appropriate location on your server (e.g.
/path/to/unattended
) for the os distribution point.
$ unzip unattended-<version>.zip [... output ...] $ unzip unattended-<version>-dosboot.zip [... output ...] $ unzip unattended-<version>-linuxboot.zip [... output ...] $
Step 3: Configure DNS
Now please extend the configuration of your dns server. The Unattended server must be reachable with the name "ntinstall". Please configure an appropriate alias (CNAME). There may be problem when connecting to Windows 2000 or Windows Server 2003-based computer using this alias. Please look at following MS article
You will find plenty of documentation about this on the net.
Step 4: Prepare the Unattended server
Next you have to create a file share named "install".
Unix server with samba
A Unix/Linux system is the preferred solution as all our scripts run on these platform without installing additional software like Cygwin. If you use Unix and Samba, apply these settings to your smb.conf:
[global] ... guest account = guest unix extensions = no ... [install] comment = Unattended writable = no locking = no path = /path/to/unattended/install guest ok = yes
Make sure that the share is reachable with the username "guest" and the password "guest".
Windows server
Create the SMB file share:
c:\> net share install=c:\path\to\unattended\install c:\> cacls c:\path\to\unattended\install /T /E /G guest:R c:\> net user guest /ACTIVE:YES /DOMAIN
Step 5: Prepare the Operating System (and Software) distribution point
Now it is time to fill the os distribution point with life.
The install
directory tree from the Unattended distribution is
exported read-only with guest access permitted. You need to fill it with support
programs and files and the operation systems and software programs you want to
install unattended.
When you later boot from the boot disk, it will ask you for the full Windows UNC
name of this share; the default it assumes is \\ntinstall\install
. The boot disk maps this share as the Z:
drive, and that is how we
will refer to it from now on.
This procedure relies on the following files and directories from the Z:
drive:
- djgpp
- Only needed when boot disk is a floppy. Contains parts of DJGPP, a collection of Unix tools for DOS. DJGPP is required because the master installation script is written in Perl. This one is too big to bundle, so you will need to download it yourself; see below for instructions.
- dosbin
- Directory containing DOS utility programs (like fdisk) from the FreeDOS project. Also contains install.pl, the master installation script.
- lib
- Directory containing helper files for the master installation script. This includes the default unattend.txt file and the helper modules Unattend::FoldHash, Unattend::HotKey, Unattend::Promise, Unattend::IniFile, and Unattend::WinMedia.
- site
- Directory containing your site-specific customizations. If you place an
unattend.txt
file here, its settings will override the defaults. More advanced customization is possible; see the detailed documentation for details. - os
- Directory containing Windows installation media (i.e., copies of the CD-ROMs). You need to populate this with one or more copies of Windows; see below.
Support files and programs
The distribution files of Unattended include the needed FreeDOS files and programs. Additionally you need to download and unpack the following components of DJGPP:
- The basic development kit (v2/djdev203.zip)
- The DPMI server (v2misc/csdpmi5b.zip)
- The Perl port (v2gnu/perl561b.zip)
- The Pico text editor (v2apps/pico396b.zip)
Simply unzip all of them under Z:\djgpp
.
Unix users please note: Use the -L switch to unzip
when you extract these. Otherwise, you may find that some files
extract under bin
while others extract under BIN
, and
this will cause all sorts of trouble when the system tries to access them from
DOS. Windows users do not need to worry about this, because Windows (like DOS) is
not case-sensitive.
Operation system installation files
Create a subdirectory under Z:\os
to hold a copy of your Windows
CD. You should probably give the directory a meaningful name like winxp
or win2ksp4
, and you probably want to limit the name to
eight characters lest it look strange when viewed from DOS. (The name does not
matter much because install.pl will scan the contents to figure out what it is. However, you
should limit the name to 8 characters or fewer, especially if you are using the
Linux-based boot disk.)
Next, copy the i386
folder from your Windows CD-ROM to the new
directory. For example, for Windows XP, you would copy the i386
folder to Z:\os\winxp
, thus creating Z:\os\winxp\i386
.
Integrate the service pack (optional)
This step is optional; you can apply a service pack just like you apply any other hotfix later. But combining the service pack into the distribution point now will make installation faster and let the OS have a smaller footprint on the harddisk of your computer.
You can find the detailed description here.
Integrate other hotfixes (very optional and not recommended)
You can also add other hotfixes into your distribution point which is explained here. However, this is not recommended as this will interfere with our OS-update scripts.
Add device drivers
This step may be optional, depending on your hardware and which version of Windows you are trying to install. Each release of Windows ships with a fairly rich collection of drivers, supporting most of the hardware which was current at the time. However, if you are installing an older OS on a recent system, especially a laptop, you may find that the OS lacks built-in support for some or all of your hardware.
You can add device drivers after the OS is installed, of course. But if you want to automate both OS and application installation, and your version of Windows lacks built-in support for your network card, you will need to provide proper network drivers on the OS distribution point. Here is how to do it:
First, download the driver package from the hardware vendor and expand it.
There should be a collection of .inf
files in the top-level
directory; that is the directory you need to copy to the OS distribution point.
To where should you copy it, exactly? That is a long story...
Under the i386
folder on the distribution point, create a folder
named $oem$
. Under that folder, create a folder
named $1
. Yes, really. Windows Setup will
copy everything below the $1
folder to the %SystemDrive%
(normally C:
) during installation. See Microsoft's description of the distribution share for the gory details.
You may put your driver folder anywhere you like under the $1
folder, and you may add as many driver folders as you like. The install.pl script will automatically scan for all driver folders and offer
to add them to the OemPnPDriversPath
setting in the unattend.txt
file for you.
Note: The total absolute length of any file name, including the
leading \os\...\$oem$
portion, must not exceed 64 characters or
winnt.exe will get an error when it tries to copy the file.
Populate packages directory
All our OS-update scripts and many of our application install scripts contain urls for automatic download. Now it is time to perform this task. First you should update your scripts to current SVN version, using our script-update script, and then update packages using our prepare script:
$ cd /path/to/unattended/install/tools $ ./script-update $ ./prepare [... output ...] $
If the script is called without a parameter, it assumes that you want to fetch the english version of updates and programs. If you want to fetch a different language, you must give the appropriate language code. E.g. for german, type:
$ cd /path/to/unattended/install/tools $ ./prepare deu [... output ...] $
Step 6: Create the bootdisk
After you survived the server-side challenge, you can tackle the bootdisk.
The goal here is very simple: To boot to DOS so we can mount the install
share as the Z:
drive and run the master installation
script. There are three ways to do this: By booting from a floppy, by booting
from a CD-ROM, or by booting directly from the network.
The boot floppies are DOS-based and deprecated. The network-boot is an advanced topic and mostly intended for the installation of diskless workstations. Your best choice will be the linux-based CD-ROM.
The bootdisk.iso
file is an ISO-9660 image of a bootable CD-ROM.
Simply burn it to a CD, which you can do with just about any CD recording
utility. Consult your utility's documentation and search for ISO-9660 or just
ISO.
Take a deep breath. It is time for testing your work...
Step 7: The first boot
The boot disk's entire purpose in life is to obtain access to the network, then
hand off control to the more powerful tools available there. Specifically, the boot
disk loads the network drivers, mounts the install share as the Z:
drive, and then executes the Perl script Z:\dosbin\install.pl
. This script will ask you a bunch of
questions, generate unattend.txt
, and launch Windows
Setup.
Follow along in autoexec.bat if you like.
Mounting Z:
After loading the network stack, the boot disk asks whether you want to Override bootdisk defaults
for user name, password, and install
share. The defaults are guest, guest, and \ntinstall\install
,
respectively.
Next, the boot disk uses the user name and password to invoke NET LOGON
, which initializes the MSCLIENT file sharing stack.
Next, the boot disk invokes NET USE
to map the install share
as the Z:
drive.
Finally, the boot disk passes control to the installation script Z:\dosbin\install.pl
. This script is a lot more complicated,
but you do not need to understand it in order to use it.
Partitioning
The installation script begins by helping you partition the hard drive.
This can be complicated for two reasons. First, any change to the partition table requires rebooting the system. Second, DOS cannot access NTFS partitions, but NTFS is almost certainly the file system you want to use.
The installation script hides this complexity from you by offering a simple menu
of several automated partitioning schemes. If none of the automated schemes
appeals to you, one of the menu options is to run fdisk
interactively to let you partition by hand.
Whether you pick an automated scheme or partition by hand, you need to make sure
that the C:
drive is an active 2G FAT partition. The automatic
choices do this by first creating the NTFS partitions, then deleting the first
one and replacing it with a 2G FAT partition, then activating it. (If you choose
to partition by hand, you will need to perform this procedure by hand.)
If any actual changes are made to the partition table, the script will reboot
the machine so that 2G FAT partition will become the C:
drive, which
is where Windows will be installed. During OS installation, Windows Setup
will convert the FAT partition to NTFS and expand it as far as possible
without clobbering other partitions.
Note that the OS is always installed on the first active partition of the drive. If this is a problem for you, let us know and maybe we will change it in a future release.
After rebooting, the installation script will again start by offering to
partition the drive. Simply choose the same partitioning scheme again, and the
script will notice that the partition table is unchanged and continue. Or you can
manually select the menu option to Do nothing (continue)
.
Formatting
The installation script will offer to format the C: drive. Answer "yes".
Choosing the operating system
The installation script will ask you which operating system you want to install.
It derives the list of choices from scanning the directories under Z:\os
looking for Windows media. To add a new operating system to the list,
simply create its distribution point.
Product key
The installation script will ask you for your 25-character product key. Enter it exactly as it appears on your software license, with a dash between every block of five characters (like "12345-6789A-BCDEF-GHIJK-LMNOP").
Computer name
The script will ask you for the computer's name. Entering "*" will cause Windows Setup to pick a random name.
Organization and User name
The script will ask you for the organization name and user name for this machine. Provide them.
Local Administrator password
The script will ask you for the local administrator password for the machine. This value will echo (sorry).
Joining a domain
The script will ask to what domain you wish to join the system. If you do not want to join the system to a domain during OS installation, just press Enter.
If you do provide a domain, the script will ask you for an account name and password to use to join the system to the domain. You may use a fully qualified domain\user name, or just the user name. The password will echo (sorry again).
Also, if you provide a domain, the script will ask you for a list of domain accounts to add to the local Administrators group. Many organizations add the machine's "owner" to the local Administrators group. If you do not wish to add any extra users to the Administrators group, just press Enter.
Joining a workgroup
If you choose not to join a domain, the system will offer to let you join a workgroup.
Choosing the application suite
Next, the installation script will ask you which script to run, if any, after
the OS installation is finished. This is the hook to start the automated
application installation process. The scripts live in the Z:\scripts
directory, and are discussed on the application installation page.
Final edits
Finally, the installation script will generate the unattend.txt
,
postinst.bat
, and doit.bat
scripts, and offer to let
you edit them. This is your chance to make any manual alterations to the
scripts before the installation begins.
When you have finished making your changes, if any, select the "Continue" option.
And that is all! Your OS installation should be on its way. You probably want to automate installing the applications next.
If you get tired of answering all these questions (or editing unattend.txt
) by hand, you can create a site configuration to
provide as many of the answers as you like. See the detailed documentation page for details.