Frequently Asked Questions
The main Unattended documentation is perpetually out-of-date irrespective of an ongoing attempt of re-writing it. It is still mostly accurate, but it is incomplete because we tend to add new features without updating the docs.
This is partly a Frequently Asked Questions (FAQ) list, and partly just a collection of pointers to bits of wisdom from the unattended-info mailing list.
[1] DOS-Boot disks
[1.1] Is the DOS boot disk supposed to crash?[2] Linux-Boot disk
[2.1] Did you say "Linux boot disk"?[2.2] Is the Linux boot disk actually supposed to work?
[3] Network issues
[3.1] I am having trouble mapping the install share.[3.2] Can I install over a wireless LAN?
[4] Hardware issues
[4.1] I get "No system disk or disk error" when I boot from CD-ROM or network using the DOS boot disk.[4.2] Can I use a serial console?
[5] OS-specific issues
[5.1] Can I install Windows NT?[5.2] Can I install Windows 95/98/ME?
[5.3] Is FAT -> NTFS conversion a bad idea?
[6] Why do you...?
[6.1] Why do you always install IIS?[6.2] Why do you reboot so many times instead of using QChain?
[7] How do I...?
[7.1] How do I enable the Windows XP Internet Connection Firewall?[7.2] How do I add a TCP/IP (LPD) printer from a script?
[7.3] How do I control the volume (disable sound) unattended?
[7.4] How do I add multiple third-party mass-storage drivers?
[7.5] How do I keep the OS- and software-installation-scripts up-to-date?
[7.6] How do I create a user and prevent expiration of his password?
[8] Can I...?
[8.1] Can I use Cygwin to rebuild the disk images on Windows?[8.2] Can I boot from a USB flash drive (memory key)?
[8.3] Can I use todo.pl to install applications without installing the OS?
[8.4] Can I install from DVD-ROM instead of a network share?
[9] Problems with sourceforge
[9.1] Why is the mailing list so slow?[9.2] Why script-update is no longer working?
The answers
[1.1] Is the DOS boot disk supposed to crash?
Not usually.
Starting with version 4.0 of Unattended, we switched from MS-DOS to FreeDOS. Apart from general principles (we like free software), this avoids potential legal issues. But FreeDOS is still under development, and it occasionally has difficulty with some hardware.
The UMB provider in particular can be somewhat touchy. Try editing config.sys to comment out the loading of EMM386.EXE, or to load UMBPCI.SYS instead. Commenting out both is the most reliable path, but it may leave insufficient conventional memory for the Windows installer to run.
[2.1] Did you say "Linux boot disk"?
Why, yes, I did. And if you are using it, you should definitely read this section.
Traditionally, Unattended had you boot to DOS to start the installation of Windows.
It works fine, usually, but DOS has certain limitations which we avoid by using Linux.
Starting with Unattended 4.0, we are shipping a Linux boot disk in addition to the DOS boot disk. Note that this is not for installing Linux; we are simply booting a custom diskless Linux system to initiate the installation of Windows. The Linux boot disk is quite mature now, and it works a lot like the DOS boot disk. It runs the same Perl code, in fact, which we think is kind of neat. At present, it only supports booting from CD-ROM (using the linuxboot/linuxboot.iso image) or network (using the linuxboot/tftpboot tree).
You can upgrade a pre-4.0 version of Unattended to use the Linux boot disk by
just copying some new stuff to the Z:
drive.
If you are booting from the network, you can override the bootdisk defaults (Z: share, username, password) by editing pxelinux.cfg/default or by setting DHCP option 233.
If you are using Samba 3.x as your Unattended server, you probably have to disable the unix extensions-feature, because it breaks Unattended. Simply add
[global] unix extensions = off
to your smb.conf. See this message for details.
[2.2] Is the Linux boot disk actually supposed to work?
Yes, and if it does not work for you, we are very interested in fixing it. The boot disk uses Linux kernel 2.6, which is still maturing.
One common problem is with ACPI support in Linux, which is under very active development. If the boot disk has trouble with your hardware, try booting with ACPI support disabled. Hold down the Shift key while booting, which will present a boot: prompt. Then type
unattended acpi=off
and press Enter. If this helps, the bug is in the Linux ACPI support and we would like to report it to the Linux developers. (We would disable ACPI by default, but then some hardware would not work at all.)
Also try using noapic or nolapic instead of (or in addition to) acpi=off. These disable the 2.6 kernel's new APIC and "local APIC" support, which may help in rare cases.
If none of these work, perhaps your network or mass storage hardware is not yet supported by our boot disk. Usually, this just means our code to detect hardware and load drivers needs tweaking, since Linux itself has fairly broad hardware support. But we need somebody who actually has the hardware to report a problem and test our fixes, so please let us know and help us out.
Another common problem is with case sensitivity, especially if you have RequireSecuritySignature enabled on your file server (as Windows Server 2003 does by default). The usual symptom is that the installation script is unable to find any OS directories, because the files within have names like I386\TXTSETUP.SIF instead of i386\txtsetup.sif. The solution is to rename all of the files on the installation media to lower case. The lower-caseify.pl script automates this.
[3.1] I am having trouble mapping the install share.
The install share must be an actual share like\\server\install
,
not a subfolder like \\server\install\subfolder
.
With the DOS boot disk, you must use a NetBIOS (or WINS) name for the server, not a DNS name
nor IP address. This is a limitation of the MSCLIENT network stack; if you
figure out how to fix it, let us know. (Loading dnr.exe
does not
seem to help).
With the Linux boot disk, it is the other way around; you must use a DNS name or IP address, not a NetBIOS name. We can change this pretty easily, so let us know if it bothers you.
[3.2] Can I install over a wireless LAN?
Yes, with the help of a commercial product.
Adding wireless support to our (free) DOS boot disk would be difficult, because as far as I know, there are no wireless drivers for DOS.
Adding wireless support to our Linux boot disk is a Simple Matter of Programming, at least for the wireless devices which Linux supports. Call it a "to-do" item. The hard part is designing and implementing an interface to let the user set the wireless parameters (like ESSID). If you would like to help tackle this, subscribe to the unattended-devel mailing list and ask what's up.
[4.1] I get "No system disk or disk error" when I boot from CD-ROM or network using the DOS boot disk.
This usually happens on laptops without a floppy drive. Our CD-ROM (and PXE) DOS
boot uses a "virtual floppy" provided by memdisk
, so you must enable floppy disk support
in your BIOS even if you have no physical drive.
The Toshiba Tecra S1 has an additional problem: You must disable "USB legacy floppy emulation" before memdisk will work. See this thread and this message from the mailing list.
[4.2] Can I use a serial console?
Yes, using either the DOS-based or the Linux-based boot disk.
[5.1] Can I install Windows NT?
Not right now. Patches are welcome.
[5.2] Can I install Windows 95/98/ME?
No.
[5.3] Is FAT -> NTFS conversion a bad idea?
As Microsoft describes in "NTFS Preinstallation and Windows XP", FAT -> NTFS conversion normally results in a file system with 512-byte clusters and a fragmented Master File Table (MFT).
With Windows XP, Microsoft provides two tools (OFORMAT and CVTAREA) to address
these problems. I asked the FreeDOS folks about running OFORMAT under FreeDOS,
and they responded by adding a switch (/a
) to FreeDOS
FORMAT which does the same thing. Unattended now uses this switch, so we get a 4K
cluster size after NTFS conversion, at least on Windows XP and Windows Server
2003.
Using CVTAREA is on our "to-do" list.
That said, I and others have installed hundreds of machines without using OFORMAT nor CVTAREA, and they work fine.
[6.1] Why do you always install IIS?
We have reasons. You can disable it by adding these lines to
Z:\site\unattend.txt
:
[Components] ; Do not install IIS iis_common=Off iis_inetmgr=Off iis_www=Off iis_pwmgr=Off iis_doc=Off
[6.2] Why do you reboot so many times instead of using QChain?
Because Pat does not trust QChain.
[7.1] How do I enable the Windows XP Internet Connection Firewall?
You can also use the following settings in unattend.txt:
[Networking] ; This will turn on IP-filtering, but with all ports allowed :-< ; [NetProtocols] MS_TCPIP = params.MS_TCPIP [params.MS_TCPIP] EnableSecurity = Yes ; This will Enable the XP Firewall, but only after first boot. ; During install there's no firewall. ; This also only enables the firewall for the default (first) connection. ; [NetAdapters] Adapter1=params.Adapter1 [params.Adapter1] INFID=* [Homenet] InternetConnectionFirewall = Adapter1
[7.2] How do I add a TCP/IP (LPD) printer from a script?
With Windows 2000 and higher, and assuming your printers support it, you can use the Internet Printing Protocol (IPP) instead of LPD. This lets you use an HTTP URL to specify the printer. Most modern network printers support IPP.
Pat once made a USENET post describing how to configure an HP LaserJet 4050 automatically.
[7.3] How do I control the volume (disable sound) unattended?
See this thread and this message from the mailing list.
[7.4] How do I add multiple third-party mass-storage drivers?
This comes up on the mailing list now and then. At the moment, you must have a good understanding of TXTSETUP.OEM files, because you must create one by hand which incorporates all of your drivers. Writing a tool to help automate this is on our to-do list.
[7.5] How do I keep the OS- and software-installation-scripts up-to-date?
Between two releases you can update your script files from our cvs. The script-update script automates this.
You can exclude certain scripts from being updated. But be warned: sometimes the scripts in the cvs get broken. Usually they get fixed very soon thereafter, so check back soon if you get problems after a script update.
[7.6] How do I create a user and prevent expiration of his password?
You can use the net user
command to create a user. Unfortunately
there is no option to prevent the expiration of the password.
You can use the following perl script to correct that:
use Warnings; use Win32::NetAdmin; my $user = shift; if ($user) { my ($password, $passwordAge, $privilege, $homeDir, $comment, $flags, $scriptPath); Win32::NetAdmin::UserGetAttributes("", $user, $password, $passwordAge, $privilege, $homeDir, $comment, $flags, $scriptPath); $flags = $flags | UF_DONT_EXPIRE_PASSWD; Win32::NetAdmin::UserSetAttributes("", $user, $password, $passwordAge, $privilege, $homeDir, $comment, $flags, $scriptPath); } else { print "You must pass a username as an argument.\n" }
Alternatively you can use the command:
net accounts /maxpwage:unlimited
Unfortunately, this command affects all user accounts.
[8.1] Can I use Cygwin to rebuild the disk images on Windows?
For the DOS boot disk, yes.
For the Linux boot disk, no. Probably not, anyway.
[8.2] Can I boot from a USB flash drive (memory key)?
Yes, using the Linux-based boot disk. (To USB-boot the DOS disk, see Eugene's instructions.)
I got this working on a 256M Sandisk Cruzer Mini, but the procedure should be the same for any USB drive.
I used a Linux machine to prep the drive. You can probably use a Windows machine to do all of this stuff; if you figure it out, feel free to let us know and we will update these instructions.
First, I needed to repartition and reformat the drive, because the original
partition table was an unholy mess which confused the boot loader. I plugged the
drive into my RedHat 9 Linux machine and used "dmesg" to see that it
was autoprobed as /dev/sda
. (It may have a different name on your
system, especially if you already have SCSI disks.) Then I ran:
parted /dev/sda mklabel msdos # Use double-dash to prevent Parted from treating -0 as a switch parted -- /dev/sda mkpartfs primary fat16 0 -0 parted /dev/sda set 1 boot on
These commands blow away the existing partition table, create and format a new
FAT16 partition spanning the entire drive, and mark that partition
"active" (bootable), respectively. Obviously, I used Parted; you could
presumably use fdisk
and mkdosfs
instead.
Then I wrote a script (install-mbr.pl) to replace the Master Boot Record. This script is in the
linuxboot/tools
directory of the Unattended distribution. Just about
any MBR should work, but I installed the one from FreeDOS:
cd .../unattended-4.1/linuxboot tools/install-mbr.pl misc/freedos-mbr.bin /dev/sda
Next, I ran the SYSLINUX installer on the drive:
syslinux /dev/sda1
The SYSLINUX distribution includes an installer which will run under Linux, DOS, and Windows. Well, three different installers, actually... But they do the same thing, which is to install the SYSLINUX boot sector and the LDLINUX.SYS auxiliary file onto the drive.
Finally, I copied bzImage
, initrd
, and the PXELINUX
configuration file from the Linux-based boot disk to the USB stick:
mount /dev/sda1 /mnt cd .../unattended-4.1/linuxboot cp tftpboot/{bzImage,initrd} /mnt cp tftpboot/pxelinux.cfg/default /mnt/syslinux.cfg umount /mnt
The penultimate step renames pxelinux.cfg/default to syslinux.cfg. This is because PXELINUX and SYSLINUX use different names for their configuration files, although the files have essentially the same syntax; see the SYSLINUX documentation for details.
To actually use the bootable USB key, your BIOS must support booting from USB hard drives (not just floppy drives). Generally, desktops from 2003 or later and laptops from 2004 or later have this support, while earlier machines may or may not. Consult your BIOS documentation or ask your system vendor.
[8.3] Can I use todo.pl to install applications without installing the OS?
Yes, although not as easily as we would like. I use this procedure. See also this thread on the mailing list.
See also the appsonly-scripts in our wiki.
[8.4] Can I install from DVD-ROM instead of a network share?
We are interested in adding support for this. See this thread from the mailing list, especially this followup from Pablo Manzanera.
As of 2005-01-06, we added a support. This version is not released yet, so you must use the anonymous cvs in order to use it.
[9.1] Why is the mailing list so slow?
Two reasons. But probably because your message "smells like spam" and got held for manual approval.
The two most common causes are:
- Sending HTML (or text+HTML multipart) messages. SpamAssassin prefers simple text.
- Not including a full name in the From header. SpamAssassin likes
From: "Patrick J. LoPresti" <patl@users.sourceforge.net>
and dislikesFrom: patl@users.sourceforge.net
.
[9.2] Why script-update is no longer working?
Sourceforge changed their CVS setup. You need to get the newer version of script-update