Windows XP does not use winnt.sif from virtual floppy drive #434

Open
srr84 opened this Issue Nov 26, 2012 · 5 comments

Comments

Projects
None yet
5 participants

srr84 commented Nov 26, 2012

I automated the installation of Windows XP SP 3 with veewee. So far so good. But it only
works for me when I include the winnt.sif together with the SATA Drivers in my XP Image.

When I try to use the winnt.sif on a virtual floppy but it does no use it to automate the installation.

Here is what my files look like:

definiion.rb

Veewee::Session.declare({
:os_type_id => 'WindowsXP',
:iso_file => "WinLite.iso",
:iso_src => "http://wb.dlservice.microsoft.com/dl/download/release/Win7/3/b/a/3bac7d87-8ad2-4b7a-87b3-def36aee35fa/7600.16385.090713-1255_x86fre_enterprise_en-us_EVAL_Eval_Enterprise-GRMCENEVAL_EN_DVD.iso",
:iso_md5 => "62675A3B76D21815367F372961B71A56",
:iso_download_timeout => "100000",

:cpu_count => '1',
:memory_size=> '512', 
:disk_size => '10280', :disk_format => 'VDI', :hostiocache => 'off',

:floppy_files => [
  "winnt.sif"
],

:boot_wait => "1", #ten minutes, ten seconds
:boot_cmd_sequence => [''],

:ssh_login_timeout => "10000",
# Actively attempt to winrm (no ssh on base windows) in for 10000 seconds
:ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", 
:ssh_host_port => "59867", :ssh_guest_port => "22",

})

winnt.sif

;SetupMgrTag
[Data]
AutoPartition=1
MsDosInitiated="0"
UnattendedInstall="Yes"

[Unattended]
UnattendMode=FullUnattended
OemSkipEula=Yes
OemPreinstall=No
TargetPath=\WINDOWS

[GuiUnattended]
AdminPassword="vagrant"
EncryptedAdminPassword=NO
AutoLogon=Yes
AutoLogonCount=1
OEMSkipRegional=1
TimeZone=110
OemSkipWelcome=1

[UserData]
FullName="Vagrant"
OrgName="Vagrant"
ComputerName=windowsXP
ProductKey=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

[Display]
BitsPerPel=32
Xresolution=1024
YResolution=768

[TapiLocation]
CountryCode=49

[GuiRunOnce]
Command0="ipconfig /all"

[Identification]
JoinWorkgroup=WORKGROUP

[Networking]
InstallDefaultComponents=Yes

[Branding]
BrandIEUsingUnattended=Yes

[Proxy]
Proxy_Enable=0
Use_Same_Proxy=0

Owner

jedi4ever commented Nov 26, 2012

I'm by no means a windows specialist, but I recall you can include
drivers on the floppy disk too?

On 26/11/12 13:24, srr84 wrote:

I automated the installation of Windows XP SP 3 with veewee. So far so
good. But it only
works for me when I include the winnt.sif together with the SATA
Drivers in my XP Image.

When I try to use the winnt.sif on a virtual floppy but it does no use
it to automate the installation.

Here is what my files look like:

definiion.rb

Veewee::Session.declare({
:os_type_id => 'WindowsXP',
:iso_file => "WinLite.iso",
:iso_src =>
"http://wb.dlservice.microsoft.com/dl/download/release/Win7/3/b/a/3bac7d87-8ad2-4b7a-87b3-def36aee35fa/7600.16385.090713-1255_x86fre_enterprise_en-us_EVAL_Eval_Enterprise-GRMCENEVAL_EN_DVD.iso",
:iso_md5 => "62675A3B76D21815367F372961B71A56",
:iso_download_timeout => "100000",

|:cpu_count => '1',
:memory_size=> '512',
:disk_size => '10280', :disk_format => 'VDI', :hostiocache => 'off',

:floppy_files => [
"winnt.sif"
],

:boot_wait => "1", #ten minutes, ten seconds
:boot_cmd_sequence => [''],

:ssh_login_timeout => "10000",

Actively attempt to winrm (no ssh on base windows) in for 10000 seconds

:ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
:ssh_host_port => "59867", :ssh_guest_port => "22",
|

})

winnt.sif

;SetupMgrTag
[Data]
AutoPartition=1
MsDosInitiated="0"
UnattendedInstall="Yes"

[Unattended]
UnattendMode=FullUnattended
OemSkipEula=Yes
OemPreinstall=No
TargetPath=\WINDOWS

[GuiUnattended]
AdminPassword="vagrant"
EncryptedAdminPassword=NO
AutoLogon=Yes
AutoLogonCount=1
OEMSkipRegional=1
TimeZone=110
OemSkipWelcome=1

[UserData]
FullName="Vagrant"
OrgName="Vagrant"
ComputerName=windowsXP
ProductKey=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

[Display]
BitsPerPel=32
Xresolution=1024
YResolution=768

[TapiLocation]
CountryCode=49

[GuiRunOnce]
Command0="ipconfig /all"

[Identification]
JoinWorkgroup=WORKGROUP

[Networking]
InstallDefaultComponents=Yes

[Branding]
BrandIEUsingUnattended=Yes

[Proxy]
Proxy_Enable=0
Use_Same_Proxy=0


Reply to this email directly or view it on GitHub
#434.

srr84 commented Nov 26, 2012

I know, but that won`t solve my winnt.sif problem. I just mentioned that, to ensure the SATA Driver works for me at the automated installation. Everything works beside winnt.sif on floppy. In the I386 folder included in the image it works.

mbrgm commented Apr 7, 2013

After researching on the topic for a while I managed to complete an unattended Windows XP SP3 Professional (german) installation using Virtual Box the following winnt.sif on a virtual floppy drive (note that you have to insert your own product key, password and so on). You can look up the meaning for the different options here.

;SetupMgrTag
[Data]
    AutoPartition=1
    MsDosInitiated="0"
    UnattendedInstall="Yes"
    AutomaticUpdates=yes

[Unattended]
    UnattendMode=FullUnattended
    OemSkipEula=Yes
    OemPreinstall=No
    TargetPath=\WINDOWS
    Repartition=yes
    UnattendSwitch="yes"
    WaitForReboot="No"

[Display]
    AutoConfirm=1

[GuiUnattended]
    AdminPassword="somePassword"
    EncryptedAdminPassword=NO
    AutoLogon=Yes
    AutoLogonCount=1
    OEMSkipRegional=1
    TimeZone=110
    OemSkipWelcome=1

[UserData]
    ProductKey=<product key>
    FullName="John Doe"
    OrgName=""
    ComputerName=*

[RegionalSettings]
    LanguageGroup=1
    Language=00000407

[Identification]
    JoinWorkgroup=WORKGROUP

[Networking]
    InstallDefaultComponents=Yes

The crucial point was in creating the floppy image which contains the answer file. I first tried to create it using OSX's hdiutil, but the setup did not recognize the answer file. After reading the instructions on http://fatslowkid.blogspot.de/2010/09/installing-windows-xp-unattended-with.html I created the file in Ubuntu 12.10:

$ dd bs=512 count=2880 if=/dev/zero of=~/.VirtualBox/HardDisks/floppy01.img
$ /sbin/mkfs.msdos ~/.VirtualBox/HardDisks/floppy01.
$ mount -o loop .VirtualBox/HardDisks/floppy01.img /mnt
$ cp winnt.sif /mnt

Using this image the installation would finally recognize the file and setup the system without user prompt.

@jedi4ever: Maybe there is a way to have a working floppy image created by veewee with the above hints? I'm no Ruby expert but would love to see a full-fledged solution.

srr84 commented Apr 7, 2013

@mabbl: Thanks for your reply I will give it a try!

troyfc commented Nov 18, 2013

This is the diff I used on linux to get the boot floppy recognised by both windows xp and windows 7.

diff --git a/lib/veewee/provider/core/box/floppy.rb b/lib/veewee/provider/core/box/floppy.rb
index 342ffb7..86ba879 100644
--- a/lib/veewee/provider/core/box/floppy.rb
+++ b/lib/veewee/provider/core/box/floppy.rb
@@ -21,7 +21,13 @@ module Veewee
               env.logger.info "Removing previous floppy file"
               FileUtils.rm(floppy_file)
             end
-            command="java -jar \"#{javacode_dir}/dir2floppy.jar\" \"#{temp_dir}\" \"#{floppy_file}\""
+            #command="java -jar \"#{javacode_dir}/dir2floppy.jar\" \"#{temp_dir}\" \"#{floppy_file}\""
+            #shell_exec("#{command}")
+            command="dd bs=512 count=2880 if=/dev/zero of=\"#{floppy_file}\""
+            shell_exec("#{command}")
+            command="/sbin/mkfs.msdos \"#{floppy_file}\""
+            shell_exec("#{command}")
+            command="/bin/bash -c \"/usr/bin/mcopy -i #{floppy_file} #{temp_dir}/* ::\""
             shell_exec("#{command}")
           end
         end

mpapis added the Windows label Oct 4, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment