Jump to content

dexter.inside

Member
  • Posts

    331
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    Romania

Everything posted by dexter.inside

  1. Yes, by the looks of it, it is possible... you can either: 1) add it as text-mode driver in the initial nLite image, and check if it gets in the [sysprepMassStorage], or: 2) add it yourself as PnP driver, by adding the PCI\VEN_xxxx&DEV_yyyy entries in uata_xp.inf at the end of the sysprep -bmsd generated list, so that it will act as a failsafe when none of the previous entries listed there worked. Of course, after completing the 4 parts in this tutorial, those who build the final ISO must test it on various non-supported mass storage drivers to see if it actually works. The normal behavior would be for the mini-setup to start, auto-install this driver, complete setup and then prompt you to update the driver. In case it doesn't work, you'd get a BSoD anyways. You can also test by using it in Windows PE, if it loads there it will also load in the mini-setup. Good finding btw, if this works out we've got ourselves some failsafe to this method.
  2. Part 3: Windows Imaging In Part 3 of this tutorial, I will show you how the WIM technology can be used on pre-NT 6.0 Windows builds and how it relates with what you've done so far. The reseal technique described in Part 2 has these main advantages, bringing portability features created by sysprep: 1. you can change the motherboard and the installed windows will detect and install it (on normal windows this will cause a BSoD). 2. you can clone the entire partition on another computer and boot from it, effectively allowing you to replicate your windows & programs on an unlimited number of computers. 3. you can clone your physical partition directly onto ESX Server/VMFS or VMware Workstation vmdk disks and it will go virtual without any P2V software converters. 4. you can clone it on a usb drive and boot from it (I haven't tested this feature yet). 5. you can Ghost it and restore it on any computer without any additional steps involved. If you don't want the extra non-PnP drivers loading at boot, you can run "sysprep.exe -clean" to remove them. You won't be able to do the stuff enumerated above anymore. The imaging technology that was specifically developed for Windows Vista can now bring these servicing features conceived for future Microsoft products in older and more reliable windows builds. 6. perform offline windows rollups and servicing (registry data and windows components) from Windows PE. 7. deploy any pre-configured workstation or server. 8. preinstall any number of applications without having to make unattended packages, no matter how complex or big they are (like Visual Studio, or Office) 9. make a backup of your genuine activated OS and restore it exactly the way it was. Sounds good? I'm amazed myself from the extent of the stuff I've discovered by putting all this together. 3.1. Microsoft WIM Formats
  3. 2.5.12. Mass Storage In order for sysprep to work properly, you will need a mass storage section. If you do not add at least this, your image will work only on the same computer, in this case only in VMware, and on different computers will produce a STOP 0x0000007B INACCESSIBLE_BOOT_DEVICE BSoD. This problem exists because Windows can only load if the boot loader is able to read the files from the extended portion of the disk. So, if it doesn't have the necessary drivers it will fail. The way around is to have sysprep load all the standard drivers for mass storage, so it will have the ability to read from most computer configurations. - add a [sysprepMassStorage] section at the end of the sysprep.inf file and save it. If you don't, sysprep won't enumerate mass storage devices. - open a command prompt and run sysprep -bmsd from the C:\sysprep folder. Sysprep will extract all mass storage devices from Windows and place them in the [sysprepMassStorage] section that you created. When you run the -bsmd command, sysprep should pop up a hourglass like in Picture 55. During the time you see it, it is actively generating the mass storage device list and inserting it into the sysprep.inf file. Picture 55 - Build Mass Storage Section Here's a sample of what my result was: pci\ven_0e11&dev_ae33=c:\windows\inf\mshdc.inf pci\ven_1042&dev_1000=c:\windows\inf\mshdc.inf pci\ven_1039&dev_0601=c:\windows\inf\mshdc.inf pci\ven_1039&dev_5513=c:\windows\inf\mshdc.inf pci\ven_10ad&dev_0001=c:\windows\inf\mshdc.inf pci\ven_10ad&dev_0150=c:\windows\inf\mshdc.inf pci\ven_1106&dev_0571=c:\windows\inf\mshdc.inf pcmcia\ibm-microdrive-7f50=c:\windows\inf\mshdc.inf pcmcia\ibm-microdrive-aa55=c:\windows\inf\mshdc.inf pcmcia\cl_ata_flash_card_lexar__-hurric_-172f=c:\windows\inf\mshdc.inf pcmcia\cl_ata_flash_card_lexar__-tidalwv-0e97=c:\windows\inf\mshdc.inf pcmcia\____cl_ata_flash_card_lexar__-hurric_-dc37=c:\windows\inf\mshdc.inf pcmcia\cl_ata_flash_card_lexar__-tornado-29ec=c:\windows\inf\mshdc.inf pcmcia\cl_ata_flash_card_lexar__-tidalwv-fd21=c:\windows\inf\mshdc.inf pcmcia\lexarmedia_ata_flash_card-hur_hp_-0623=c:\windows\inf\mshdc.inf pcmcia\sony-memorystick(__4m)-e637=c:\windows\inf\mshdc.inf pcmcia\sony-memorystick(__8m)-9eb3=c:\windows\inf\mshdc.inf pcmcia\sony-memorystick(_16m)-d04d=c:\windows\inf\mshdc.inf pcmcia\sony-memorystick(_32m)-1766=c:\windows\inf\mshdc.inf pcmcia\sony-memorystick(_64m)-8c2c=c:\windows\inf\mshdc.inf pci\ven_1055&dev_9130=c:\windows\inf\mshdc.inf pcmcia\micron-mtcf____-392d=c:\windows\inf\mshdc.inf pci\ven_1179&dev_0105=c:\windows\inf\mshdc.inf pci\ven_1166&dev_0211=c:\windows\inf\mshdc.inf pci\ven_1166&dev_0212&subsys_02121166=c:\windows\inf\mshdc.inf pci\ven_10de&dev_00e3=c:\windows\inf\mshdc.inf pci\ven_10de&dev_00ee=c:\windows\inf\mshdc.inf pci\ven_10de&dev_00e5=c:\windows\inf\mshdc.inf As you can see, there are a lot of entries in the section (about 690 in Windows XP). These are plug and play identifiers for mass storage drivers and their location. If it didn't insert any, your device path is invalid and you forgot to add the \WINDOWS\Inf path to the Sysprep Driver Scanner. Check it in HKLM\Software\Microsoft\Windows\CurrentVersion\DevicePath. Note that sysprep takes ~1 second to add each entry. 2.5.13. Running Sysprep Picture 56 - Warning - Grace Period - if this option is unchecked, a evaluation version of Windows will not reuse the 30-60 day ReArm counter. - Mini-setup - Sysprep will use mini-setup instead of text-mode setup. Picture 57 - Sysprep Options - Security Identifiers - a SID is a unique computer code that identifies it on the network. - Detect non-PnP - also scans for non-PnP drivers, like ISA cards. Increases setup time up to 10 minutes and is no longer needed on most computers built after 2000. Picture 58 - Start - Factory - a more advanced method of creating custom setups. Big OEMs like Dell usually use it. - Reseal - the method I am describing in this guide. After the SID warning it's OK to reseal if you've gotten your Windows just the way you like it already. Picture 59 - Working This can be a lengthy process, especially if you have thousands of drivers like I do. Sysprep analyzes each of the driver I added in the \WINDOWS\Driver Cache, then all files on the partition, all INFs and log every changes it makes. When it's done, I've chosen to shut down the virtual machine. In Part 3, you will learn how to image the partition you've sysprepped here, and in Part 4 how to make a setup routine to deploy and install it from that image to any computer.
  4. Yes, after I get enough user feedback so that I can write what everyone wants most.
  5. This is a string stored in registry to uniquely identify your OEM build. Picture 48 - Identification String Here's how my sysprep folder looks like. Picture 49 - Sysprep data Finally, save your new sysprep.inf file there. Picture 50 - SYSPREP.INF 2.5.10. Other unattended instructions. I have added some extra instructions in SYSPREP.INF: ;SetupMgrTag [Unattended] InstallFilesPath="C:\WINDOWS\Driver Cache\i386" OemSkipEula=Yes DriverSigningPolicy=Ignore UpdateInstalledDrivers=Yes [GuiUnattended] EncryptedAdminPassword=NO AutoLogon=Yes AutoLogonCount=0 OEMSkipRegional=1 OEMDuplicatorstring="Windows Home Server" [UserData] ProductKey=?????-?????-?????-?????-????? FullName="Windows User" OrgName="" ComputerName=* [Display] BitsPerPel=32 Xresolution=800 YResolution=600 [LicenseFilePrintData] AutoMode=PerServer AutoUsers=100 [SetupMgr] DistFolder="C:\WINDOWS\Driver Cache\i386" DistShare=windist [GuiRunOnce] Command0="cmd /c "rd %SystemDrive%\$WINDOWS.~BT /s /q"" Command1="cmd /c "rd %SystemDrive%\$WINDOWS.~LS /s /q"" [Identification] JoinWorkgroup=WORKGROUP [Networking] InstallDefaultComponents=Yes - OemSkipEula=Yes - Skips EULA - DriverSigningPolicy=Ignore - Don't prompt when installing drivers - UpdateInstalledDrivers=Yes - Reinstall all present drivers when mini-setup starts. Very important. In order to successfully make this setup work on any system configuration, you will have to use UpdateInstalledDrivers=Yes, which will clean the entire Device Manager, except non-PnP and HAL. This will ensure that all VMware drivers are removed and your setup will install the proper drivers for the system it is being executed on. 2.5.11. Sysprep Driver Scanner You will need the Sysprep Driver Scanner to link the drivers you copied to the setup routine. Important -don't store drivers in the sysprep folder. It will be deleted when mini-setup starts. Picture 51 - Sysprep Driver Scanner You must also add C:\WINDOWS\Inf for this to work, otherwise default drivers won't be detected. Picture 52 - Add Default Drivers Paths are saved in registry. Picture 53 - Saved Picture 54 - Done
  6. Picture 38 - Time Zone Picture 39 - Product Key You can change here the initial restriction of 10 user licenses included in Windows Home Server. Picture 40 - Licensing Mode Picture 41 - Computer Name Picture 42 - Administrator Password Picture 43 - Networking Picture 44 - Workgroup or Domain Picture 45 - Telephony Picture 46 - Regional Settings I have added here settings that will clean setup temporary files, created by the setup routine described in Part 3 and 4. Picture 47 - Run Once
  7. if you want to backup a Vista that was previously activated, do the following: - sysprep with the -activated option - capture the partition with ImageX - overwrite the new WIM over your \SOURCES\INSTALL.WIM on the vLited DVD. You can also use Norton Ghost 12 to save a image of your system.
  8. My Desktops Server Enterprise Home Server Vista
  9. I'd say that nLite / vLite enter the incidence of the same EULA covering the Windows AIK, which is free to use. So if they create a legal precedence for such apps, developers and beta testers everywhere would be breaking the law so no more Microsoft Connect, no more Microsoft Research and a lot of highly qualified personnel would go unemployed. So consider the legal ramifications before asking such questions even if you go to court (I did that 3 times, and not because of Microsoft) charges would most likely be dropped. Unless they charge you for industrial espionage, that is.
  10. have you created a 64-bit capable virtual machine? If EM64T opcodes are not accessible in your VM it's quite normal.
  11. 2.5.8. Drivers Similar to Part 1, my drivers are stored in Business Desktop Deployment. You can find them in \Distribution\Out-of-Box Drivers Picture 29 - Driver Repository Use the VMware shared folders feature to copy them to the virtual machine. I use \WINDOWS\Driver Cache, it's a very suitable target for this operation. Original drivers (driver.cab) is cached in \WINDOWS\Driver Cache\I386. Picture 30 - Copying Drivers It's good to use NTFS compression to save space on the destination machine. The setup method described in Part 4 of this tutorial also saves NTFS streams and security. In my case, this saved over 600 Mb of space. 2.5.9. Setup Manager Unpack DEPLOY.CAB from \SUPPORT on your original disc to C:\sysprep. Home Server uses the same one as Windows Server 2003 SP1. Setup Manager will configure the needed settings for mini-setup. Run C:\sysprep\setupmgr.exe. Picture 31 - Welcome Picture 32 - Create New You will need a sysprep.inf file. Picture 33 - Sysprep Setup Home Server is compatible with Windows Server 2003 Enterprise. Instead of Terminal Server it is based on Small Business Server. Picture 34 - Windows Version In my case, I am not fully automating the answers. Picture 35 - Not Automated Picture 36 - Name & Organization These display settings will be used during setup. Picture 37 - Display Settings
  12. 2.5.6. Codename Quattro and Freestyle - Extra Stuff Picture 23 - Home Server Console The setup for WHS is quite poorly designed, as you've probably found out by now. The latest CTP is even worse than Beta 2 from the setup's point of view. They should have sticked to 2-CD media, like Codename Freestyle (Media Center 2005). The WHSOC.INF is mostly a dummy: [version] signature="$Windows NT$" ClassGUID={00000000-0000-0000-0000-000000000000} LayoutFile=layout.inf Provider=%Msft% DriverVer=10/01/2002,5.2.3790.3959 [Optional Components] WhServer [WhServer] OptionDesc = %COMP_OPTIONDESC_WHS% Tip = %COMP_OPTIONDESC_WHS_TIP% IconIndex = 0 CopyFiles = WHS_Bin AddReg = WHS_Reg [WHS_Reg] HKLM, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\CustomBrand\{F20B21BE-5E3D-11d2-8789-68CB20524153}", "DontPaintText", 0x10001, 0x00000001 HKLM, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\CustomBrand\{F20B21BF-5E3D-11d2-8789-68CB20524153}", "DontPaintText", 0x10001, 0x00000001 HKLM, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\CustomBrand\{F20B21C0-5E3D-11d2-8789-68CB20524153}", "DontPaintText", 0x10001, 0x00000001 HKLM, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\CustomBrand\{F20B21C1-5E3D-11d2-8789-68CB20524153}", "DontPaintText", 0x10001, 0x00000001 HKLM, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\CustomBrand\{F20B21BE-5E3D-11d2-8789-68CB20524153}", , , "whsbrand.dll, -1004" HKLM, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\CustomBrand\{F20B21BF-5E3D-11d2-8789-68CB20524153}", , , "whsbrand.dll, -1001" HKLM, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\CustomBrand\{F20B21C0-5E3D-11d2-8789-68CB20524153}", , , "whsbrand.dll, -1003" HKLM, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\CustomBrand\{F20B21C1-5E3D-11d2-8789-68CB20524153}", , , "whsbrand.dll, -1002" HKU, ".Default\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Setup\Welcome", "srvwiz", 0x10001, 0x00000000 HKCU, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Setup\Welcome", "srvwiz", 0x10001, 0x00000000 [DestinationDirs] WHS_Bin = 11 [SourceDisksNames] 1="NT Setup",,0 [SourceDisksFiles] [WHS_Bin] [Strings] COMP_OPTIONDESC_WHS = "Microsoft Codename Quattro" COMP_OPTIONDESC_WHS_TIP = "Provides the ability to convert this server to a Microsoft Windows Home Server." Msft = "Microsoft" The actual installer logic relies on adding tons of hotfixes and packages after the core of Small Business Server is installed. Even more, the default shares in Home Server Console are hard-coded somewhere in the setup routine. Picture 24 - Lots of stuff Quite messy, isn't it? And only half of them are actually in that picture. Imagine making unattended packages for nLite for each one of those and getting it right. In order to get best compatibility with Windows XP apps (mostly games that won't normally launch on the server platform), I will add some data from a Media Center machine in the registry: HKLM\SYSTEM\Setup Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\Setup] "SetupType"=dword:00000000 "SystemSetupInProgress"=dword:00000000 "CmdLine"="" "SystemPrefix"=hex:c9,1b,00,00,00,00,46,52 "SystemPartition"="\\Device\\HarddiskVolume1" "OsLoaderPath"="\\" [HKEY_LOCAL_MACHINE\SYSTEM\Setup\AllowStart] [HKEY_LOCAL_MACHINE\SYSTEM\Setup\AllowStart\AFD] [HKEY_LOCAL_MACHINE\SYSTEM\Setup\AllowStart\DcomLaunch] [HKEY_LOCAL_MACHINE\SYSTEM\Setup\AllowStart\EventLog] [HKEY_LOCAL_MACHINE\SYSTEM\Setup\AllowStart\PlugPlay] [HKEY_LOCAL_MACHINE\SYSTEM\Setup\AllowStart\ProtectedStorage] [HKEY_LOCAL_MACHINE\SYSTEM\Setup\AllowStart\Rpcss] [HKEY_LOCAL_MACHINE\SYSTEM\Setup\AllowStart\SamSs] [HKEY_LOCAL_MACHINE\SYSTEM\Setup\AllowStart\WS2IFSL] [HKEY_LOCAL_MACHINE\SYSTEM\Setup\AnswerFileMap] "ms_tcpip"="{4AF21B38-6480-4EAA-A30E-6AE72BB54601}" "ms_ndisuio"="{65FAD695-216F-4020-9E44-E4B7C2F7771C}" "ms_webclient"="{4C7D293F-5229-43B3-B9BE-AA5B1B163A4B}" "ms_msclient"="{33969587-9062-41C2-B786-7DC52F2809B9}" "ms_alg"="{2A904767-0E46-49A1-A6D6-67377B7C19D7}" "ms_gpc"="{7964DC1B-487F-45AB-A8F3-0CB80AABE3BB}" "ms_server"="{4DB33CA5-809F-4827-A226-BAD7FAFFC5F8}" "ms_rascli"="{5C89021C-E8FA-451D-8808-13EDF894F885}" "ms_rassrv"="{218A9586-BF63-48BA-B606-E66E423267F3}" "ms_wzcsvc"="{D1CA14AE-D2B8-48F1-8C5E-5ADD076EA742}" [HKEY_LOCAL_MACHINE\SYSTEM\Setup\Pid] "Pid"="76487000" And the corresponding WPA entry: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\WPA\MediaCenter] "Installed"=dword:00000001 You can find here a very good guide of installing Media Center 2005 on Server 2003 that you can use to do this. I don't want Media Center in this case, but just to fake it as being installed. The mediactr.cat, medctroc.inf and ehOCGen.dll should be enough for that purpose. \Windows\eHome\custsat.dll \Windows\Inf\medctroc.inf \Windows\Inf\plusoc.inf \Windows\Inf\sonic.inf \Windows\System32\CatRoot \Windows\System32\EHOCGEN.DLL \Windows\System32\encdec.dll \Windows\System32\MEDCTROC.DLL \Windows\System32\Mpeg2Data.ax \Windows\System32\msvidctl.dll \Windows\System32\PLUSOC.DLL \Windows\System32\quartz.dll \Windows\System32\sbe.dll \Windows\System32\sbeio.dll \Windows\System32\vbicodec.ax \Windows\System32\wstpager.ax \Windows\System32\wstrenderer.ax \Windows\System32\wstrendr.ax \Windows\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\MEDIACTR.CAT \Windows\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\PLUS.CAT \Windows\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\SONIC.CAT Codename Freestyle finally gets enabled by rundll32 syssetup,SetupInfObjectInstallAction Freestyle 128 medctroc.inf. You will need your Media Center CD to provide the needed files. 2.5.7. Extra apps In order not to break the WGA detection process in WMP11, only at this point it's safe to install it, because Quattro provides Universal Plug and Play and SSDP Discovery and Freestyle has added the required WPA registry keys for MCE v3.0 To install it, add these using XP compatibility: - User-Mode Driver Framework Feature Pack 1.0 - Hotfix for Windows XP (KB926239) - Windows Media Format 11 Runtime - Windows Media Player 11 Picture 25 - WMP11 on Home Server At this point, install whatever apps you will need to be installed by default with Windows. Apps installed at this point are considered "preinstalled". For example, System Mechanic 7 Picture 26 - System Mechanic 7 which is also a good opportunity to correct erroneous data in the registry. Picture 27 - Performing Tasks Picture 28 - Tasks Complete
  13. Yep, that's about it. And the user uses either the longhorn setup UI or yours to do required operations just like in Vista setup, instead of a unattended diskpart that formats the entire disk.
  14. There are 3 ways: 1) the easy way, reuse a setup routine from Longhorn builds 4xxx (those that do not use WINLOAD), as I will document in Part 4. 2) the not so easy way, with Business Desktop Deployment 3) the hard way, which I am considering for some time, construct a new .NET setup application on top of the dlls that Microsoft provided in Codename Eiger SDK (First Boot Agent) and in Windows PE 1.6 OPK Beta 1 (build 4033). I am thinking of doing a wrapper UI over these to create a simple to use SDK of my own.
  15. actually if you have a OEM reseller license this procedure is quite legal. OEM Partners have been doing similar stuff for years. As for personal use, it's somewhere in the gray area of the EULA.
  16. 2.5.4. How sysprep.inf made winnt.sif obsolete As you all should know my now, SIFs have become obsolete on the new NT 6 kernel. I'd say that the most advanced feature in Vista is the setup and the imaging technology, both secrets well guarded between 2003 and 2006. The text-mode setup is now gone, and with it a lot of legacy impediments. You've all had your fair share of head ache from it by now - some registry tweaks work, other don't or just behave unpredictable. You want to remove a file from the setup, and to do so you have to use all sorts of ugly hacks. You want to have your favourite app installed silently, you have to make a package yourself. You finally get all working to reach yet another stupid error and so forced to throw away another disc. Well, those days are nearly gone. Sysprep has become very important for Vista, since early 2004. As the Microsoft.NET technology gets closer to maturity (10 years), older methods of doing stuff become very unsuitable. Of course, Vista got all the goodies during the its beta, and XP Service Pack 3 was left out cold. So, I decided to skip ahead and retrace the steps that were made to create the Longhorn 4xxx builds, which are very similar to today's products like Windows Home Server, for example. The results were quite surprising, and that you'll see for yourself if you decide to actually try to do what I describe in this tutorial. Back in 2003, a lot of .NET supra-structure was added to the initial XP codebase, rolled up to NT 6.0.4008, the last milestone based on the text-mode setup. The multilingual separation (those MUI files) had nearly doubled the time of the text-mode setup, and most of the beta team was probably fed up with throwing away tons of DVDs due to faulty I/O. So, they took the logical step of refurbishing sysprep to do the dirty work for them. Instead of rebuilding the entire XP/2003 setup folder structure and coresponding SIFs+INFs each time they incremented the kernel / file version, they decided to do that only once and then use sysprep to clone that installed Longhorn prototype from the developer's machine to the entire beta network. This reduced install time from ~90 minutes to arround 15. A new setup based on Visual C++ Redist and .NET was made, and a new imaging format was tailored to suit this process. Thus, WIMs were used to store the sysprepped image and a setup was written to mount that WIM and read from it instead of regular install media. Avalon, later known as Windows Presentation Foundation, was the first to benefit, as it was nearly as complex as the entire Media Center, that took several months to integrate in XP. Adding it to the WINNT.SIF would have been out of the question. The same reason why Media Center never got integrated tightly in the XP codebase. Then another problem came up. Sysprep had a limitation, it couldn't change the existing HAL. As you may have found out, changing motherboards would usually result in a BSoD on any normal Windows installation. So they came with a quick hack, "ACPI Pick-Up", for the new setup routine. The new setup logic became like this: Windows PE started, setup.exe was loaded, it chose the proper HAL and ntoskrnl startup parameters, allowed the user to partition / format and choose the destination, unpacked the WIM to that destination, and apply the HAL pick-up trick. Later on, when the 4xxx series were scrapped in favor of the NT 5.2 codebase, they invented WINLOAD and BOOTMGR, the neat way of doing this, and sysprep became able to transparently generalize hardware (as the drivers were no longer packed in CABs). Due to "popular" demand, that Beta 2 project was rushed in what you now know as Vista RTM, and research went again into silence inside the Windows Server 2008 project. (Codename Longhorn Server). Ironically, the Microsoft WAIK is capable of doing largely the same thing with Windows XP/2003, but Microsoft never bothered to update the ancient setup routines with the new stuff. Quite normal, that would cost money for "no good reason". So we are left to do that ourselves. With SIFs becoming obsolete, tweaking NT 5.x based OSes will become much more pleasurable in the near future. Main reason: the registry is no longer being constructed during setup, because it is already present in the image. Sysprep only does minor adjustments to it to start the mini-setup. If you are curious how that works, try this on Vista: sysprep -generalize -activated. At this point, the technique that I am describing here is the only reasonable way of making new nLited versions of Home Server or Windows Server 2003 Media Center Edition. Sysprep is a great complement to what nLite can do, and the reasons will become quite obvious in Part 3 of this tutorial. 2.5.5. SETUPMGR.EXE - Microsoft's Idea of Unattended The sysprep.inf file contains the unattended logic of sysprep, specifically the instructions that it will use during the mini-setup process. The sysprep.inf file is broken up into several sections following the layout of an INI file. However, this file is called sysprep.inf and not sysprep.ini. Please be very certain that you have it named properly or it will not work. The sysprep.inf file is not really required but if it isn't included then the user will be prompted for answers to questions on the execution of the mini-setup on the first boot following running sysprep. In most situations this is not desired especially since the default configuration will not duplicate well across computers. In other words you can't automate sysprep unless you provide a valid sysprep.inf. Unlike Vista, where sysprep is specifically built to work without a custom made sysprep.inf. The good news about the sysprep.inf it that you don't have to edit the entire thing yourself. Microsoft wrote a program called the Microsoft Setup Manager Wizard (setupmgr.exe). The purpose of this program is to create sysprep.inf answer files from a GUI. It doesn't have all of the options that you will most likely need, but it does give you a way to create a skeleton answer file that you can then edit and fill the rest of the information into. I highly suggest that you use the Setup Manager Wizard first and play around with it and then check the sysprep.inf file to see how changing different options alters the sysprep.inf file. And then once you have you have a template answer file then you modify it to your needs. I will continue by showing how I do this on the Home Server. If you haven't run nLite yet and/or haven't installed it on your lab machine, I suggest you do so now, as you must do the following operations on it.
  17. 2.5. Sysprep 2.5.1. History 2.5.2. Process Overview SysPrep is designed to be run manually before imaging a computer and automatically after a computer has been imaged. Most of advanced system management tools today rely heavily on it to do their dirty work, but also most of them cost hundreds of dollars. Some of you may be familiar with software like Symantec Backup Exec, that are used precisely for this purpose. Reconstructing a carefully-built domain controller can take weeks and lots of money. Reconstructing it from a sysprepped image only takes the time required to copy the files from the backup. And there's more good news - there's a new method that benefits the most from sysprep. it's called V2P. VMware's P2V (physical-to-virtual) was a revolutionary tool that allowed you to migrate existing OSes in virtual machines. Useful for corporate purposes but not to the end-user. Now, due to some less-documented Vista technology, it is possible to do the opposite, virtual-to-physical migration. Unuseful for corporate purposes but very useful for people that read this forum, as it allows you to repackage a carefully-designed OS from a virtual machine, and install it on any kind of physical hardware. Neat, huh? Part 3 covers this technique I've been working on for some months now in great detail. So, here's the global picture on how to do that yourself, presented here in Part 2 of this tutorial: 1. nLite the official setup disc. 2. Install Windows with the desired ACPI HAL (either 32-bit or 64-bit) 3. Apply other operating system patches 4. Configure the administrator account to your needs 5. Create a template user account 6. Install programs under the template user account 7. Configure all programs and settings under the template account (also works with Administrator) 8. Restart the computer. If you don't restart then step 9 may be unsuccessful because files may be locked. 9. Log in as the main administrator account. 10. Copy the settings of the template account into the "Default User" account 11. Remove the template account 12. Apply finishing touches 13. Create a directory for SysPrep (typically this is c:\sysprep) 14. Copy in the required files for SysPrep 15. Create a drivers directory for SysPrep (typically this is c:\drivers) 16. Create a SysPrep script (sysprep.inf) in the SysPrep directory 17. Add a generic mass storage section to the sysprep.inf 18. Add additional mass storage drivers 19. Execute SysPrep 20. Image the computer 21. Duplicate the image onto other computers If you performed the steps above properly then you would have a working image that you can duplicate onto any computers that conform to the settings you provided in the sysprep configuration file (sysprep.inf). This guide covers only the -reseal capabilities of sysprep. Once you apply sysprep to an installation of Windows it should be set to shut down. You have to be careful though because the next time Windows starts up it will execute sysprep. At this point sysprep will run the computer through a mini-setup that will detect any new hardware, redetect network settings, set the timezone and a few other things. After you have executed sysprep you need to image the computer so make sure you don't start the computer accidentally as that will invalidate your sysprep and you will need to do it again. VMware solves most of the problems that can occur along this procedure. Thus, it is best that you take a snapshot of the virtual machiner before you execute sysprep manually. SysPpep makes several changes to the operating system that could build up over time and create problems down the line if you continually update the same image. This issue is generally related to older versions of windows, like Windows 2000. Once you make a good image, you will most likely need to add programs or need to apply security patches later on. So, if you make an image, sysprep it, store it, then need to update it then you will need to run sysprep on it again. 2.5.3. The Hardware Abstraction Layer (HAL) The hardware abstraction layer (HAL) is a kernel level driver that provides an interface between the operating system and the system architecture. There are several HALs that Windows can use and they impact available features and performance depending on which systems they are used on. The Advanced Configuration and Power Interface (ACPI) PC is the most compatible, so it's by far the best choice for 32-bit systems. It should be noted that multiprocessor computers can also use this HAL, however they will only make use of a single processor. This HAL can also be used with hyperthreading without any problem. Similarly, the ACPI Multiprocessor PC is a HAL designed for multiprocessor computers. It is the main advantage of Windows XP/2003 64-bit editions, as memory operations receive a 10-15% performance boost and it fully implements hyperthreading. To make your image as compatible as possible you should use the "Advanced Configuration and Power Interface (ACPI) PC" HAL. You can specify this in the Windows setup by using the F5 key during the part where you can use F6 to choose mass storage device drivers, or you can view and change your HAL from within Device Manager by changing the "computer" driver.
  18. Microsoft has no plans of solving this issue, that's what I got from the Server feedback. Until WinFS there will be no official way to do such a thing. The good part is that I think it can be done if you rename those folder in the initial image and also change (all) the registry settings to point to them. Happy hunting!
  19. Why do you say it does not have a GUI ? it's just cmd.exe running as shell instead of explorer.exe, everything else works normally. If you were to copy explorer and needed dlls from Enterprise to Enterprise Core it should work with no trouble. Microsoft is aiming to a more componentized Server platform (like XP Embedded construction logic), so Server Core is made by adding the server components on top of Windows PE 2.0 and nothing else. Memory usage is somewhere between 130 and 170 Mb. It is very well manageable using WMI from a MMC console started from a different network computer. Essentially, it is the 6001 kernel (95% identical to Vista) and the drivers on top of it. That also includes DirectX 10. So I'd say it's the perfect gaming machine. With litestep instead of cmd as shell it should do the job. I've been doing beta testing to Core products for almost a year now and I am very happy of their functionality. vLite already can remove most of the extra stuff from it. So go ahead and see what you can get to run on it, sysprep it with -generalize -activated and reconstruct the WIM. Note: one of the great features of the Vista setup is that you can also vLite it after running sysprep. So you also could install the server components you need first, sysprep and then use vLite. This way even if the component installer is broken you still get a running server.
  20. In case you don't know, the "Core" - labeled builds of Codename Longhorn Server are DX10-capable and can be reduced to a ~ 400 Mb disc. If you are comfortable with installing a new shell over the command prompt, it's a pretty tempting option.
  21. Note to those wanting to slim up Home Server - use nLite. I have started to document that procedure in part 2 of my guide at http://www.msfn.org/board/index.php?showto...95271&st=20
  22. 2.4.5. Windows Services specific for Home Server Most of there rely on the IPSEC Service, so don't disable it. Home Server also adds UPnP and SSDP Discovery, specific for Windows XP (These not being present on the server system have prevented Microsoft in releasing Windows Media Player 11 on Server 2003). - FileChecker Service Check the files in the share folder for Codename Quattro. Result is in \Documents and Settings\All Users\Application Data\Microsoft\Windows Home Server\logs\FileChecker. - SBCore Service Provides server core services. - Windows Home Server Computer Backup Enables back up of computers to this home server. If this service is stopped, computers will not be able to back up to this home server. If this is not working, network status appears "critical" in the console. - Windows Home Server Drive Letter Service Maintains drive letters for folders managed by Windows Home Server Storage Manager. - Windows Home Server Storage Manager Manages storage allocation for your server. - Windows Home Server Transport Channel Provides Home Server transport channel to the clients as well as some background tasks. This is also a great expansion of functionality for IPSEC. 2.4.6. Preinstalling Applications The purpose of this operation is to create a windows distribution that contains all the programs you need. Feel free to install whatever apps you will need before beginning sysprep. If you have manually installed Home Server, do not add the windows drive to the Storage. Use the shared folders, in the guest OS they are in \\.host\Shared Folders.
  23. Original Equipment Manufacturers produce these OEM editions of Windows to serve their particular needs in the corporate environment. For example, I, as OEM partner, can customize the desktop, include drivers and apps, and make the disc, that I supply my employees. (which is covered by the specific Microsoft licenses for OEM developers and resellers). If you buy a OEM disc instead of getting through your employers' corporate system / having it preinstalled already on the new computer, this is the risk you get: you can't have any insurance that the serial key hasn't been already used to it's last activation. The entire idea of OEM editions of Windows is to serve this specific purpose, in productive environments when one person preinstalls one windows on hundreds of computers. Windows Product Activation is specifically designed for such purposes. Now, in your case, it's clear that you need a normal Windows XP license, allowing only one activation of that serial key. In such a case, you actually own the serial key, as compared to OEM serial key, that is owned by the OEM Partner that produced it (a business) and only leases it to customers.
  24. 2.4.3. Manual WHS Installation From the second image you've created, install Windows in your new virtual machine. Create a 10 Gb C:\ partition for this install. You'd get this as a typical first boot: Picture 14 - First Boot Now it's a good opportunity to install VMware Tools, activate windows and make other minor adjustments to the base install. VMware snapshots will easy allow you to roll back to this point if you get something wrong along the way. Picture 15 - Windows Activation Picture 16 - Take Snapshot Picture 17 - Background Snapshot Picture 18 - Status 2.4.4. Installing WHS components Point your virtual CD-ROM to the location of the first DVD you made. Picture 19 - Virtual CD-ROM First use Microsoft Update to get the latest stuff, then install the redist components, from \REDISTR. Picture 20 - Microsoft .NET 2.0 As for components specific to WHS, they are in the \WHS folder: 1) These are the Home Server hotfixes. Most likely you can add them in nLite to the base install. - Home Server Activation Component, UMAS.EXE - Home Server Certificate Enrollment, UMCENROLL.EXE - Home Server Certificate Enrollment (Public Service), UMCENROLLID.EXE - Home Server Certificate Enrollment (Setup Module), UMCENROLLSETUP.EXE - Home Server Transport Service, UMCONNECTOR.EXE - Home Server Console, UMCONSOLE.EXE - Home Server Dynamic DNS Service, UMDDNS.EXE - Home Server Drive Extender, UMDE.EXE - Home Server Diagnostics, UMDIAG.EXE - Home Server Event Parser, UMMSGLOG.EXE - Home Server Notification Service, UMNOTIFY.EXE - Home Server OOBE Setup Module, UMOOBE.EXE - Home Server Backup Service, UMBACKUP.EXE - Home Server Port Forwarding Service, UMPF.EXE - Home Server Software Development Kit, UMPSDK.EXE - Home Server Storage Service, UMQSM.EXE - Home Server Remote Access (Base), UMRABASE.EXE - Home Server Remote Access (Public), UMRAHOME.EXE - Home Server Remote Access (RWW), UMRAREMOTE.EXE - Home Server UPnP and Media Connect, UMUPNP.EXE - Home Server Preserver, UMWHSARCH.EXE Restart to enable the installed services. 2) Home Server components: - Windows Server System UPnP Stack, UPNP.MSI. Installs Universal Plug and Play. - Backup Server, BACKUPSERVERINSTALL.MSI. The backup engine for Home Server. - Drive Extender, DE.MSI. Also installs a driver for this function. - Home Server Dynamic DNS Service, DDNS.MSI. - Home Server Diagnostics, DIAGNOSTICS.MSI. - File Checker Service, FILECHECKSERVICE.MSI. - Home Server Health, HEALTH.MSI. - Home Sever Password Filter, PASSWORDFILTER.MSI. - Server System Port Forwarding Service, PORTFORWARDING.MSI. - Home Server Remote Access, REMOTEACCESS.MSI. - Home Server Console, HOMESERVERCONSOLE.MSI. - Home Server Preserver, WHSARCH.MSI. - Home Server Event Parser, WHSMSGLOG.MSI. - Home Server OOBE, WHSOOBE.MSI. Feel free to skip unwanted functionality. 3) Windows Home Server console will start with some errors about built-in music, videos and photos not found. Ignore them. Picture 21 - Home Server Console At this point it's best to turn off and remove the previous snapshot if you got everything right, in order to save disk space and performance. VMware will perform needed cleanup on the disk, thus commiting all changes you made to the initial virtual disk (snapshots use a different place to store files that you add, and dynamically maintains the filesystem presented to the running OS updates). Picture 22 - Snapshot Manager
  25. I'd say the most probable cause would be random memory corruption.


×
×
  • Create New...