• Recent
  • Unsolved
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login
  • Recent
  • Unsolved
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login

Driver Issues

Scheduled Pinned Locked Moved Solved
Windows Problems
5
16
3.8k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A
    austinjt01
    last edited by Sep 22, 2017, 5:57 PM

    I have a new Windows 10 VM I have created with a bigger HD so it could install the anniversary update. I have tailored everything to be the same as my old Windows 10 image.

    The capture and download is fine, the only issue is the installation of the correct drivers for the correct model of laptop.

    I have mostly Lenovo thinkpads and some HP models. The copying of the drivers from our server to the computer isn’t a problem, I think that essentially it is installing the OS without any drivers and Microsoft is pulling them from the internet? I’m not sure and would like for any input that could help.

    See below that they are copying over with no issue.

    Is there something I am missing in the unattend.xml file I am using?

    0_1506102994612_810593ad-d240-49cb-a3b2-01c43172eadc-image.png

    1 Reply Last reply Reply Quote 0
    • P
      Psycholiquid Testers
      last edited by Sep 22, 2017, 6:00 PM

      You should probably take and inject the drivers into the OS so it can see them natively.

      Use DISM to do this using i believe offline mode. I had a post around here a long time ago about DISM and injecting drivers.

      X A 2 Replies Last reply Sep 22, 2017, 6:03 PM Reply Quote 0
      • A
        austinjt01
        last edited by Sep 22, 2017, 6:00 PM

        Like this laptop I am on currently doesn’t have the right Display adapter installed:

        0_1506103149432_a10ea9cf-9315-45cf-947b-e32a7fd4b808-image.png

        But if I click replace driver and path over to C:\Drivers\Display it will replace it with no problem.

        0_1506103247886_4230f7ed-2a5f-44b2-957c-4d5315b968b9-image.png

        P 1 Reply Last reply Sep 22, 2017, 6:01 PM Reply Quote 0
        • P
          Psycholiquid Testers @austinjt01
          last edited by Sep 22, 2017, 6:01 PM

          @austinjt01 https://wiki.fogproject.org/wiki/index.php?title=Create_a_windows_7_image_for_many_different_hardware

          Read about injecting drivers there, you don’t have to take the image down to do it, you can do it from inside the OS.

          1 Reply Last reply Reply Quote 0
          • X
            x23piracy @Psycholiquid
            last edited by Sep 22, 2017, 6:03 PM

            @psycholiquid isn’t this done typically for offline images?
            https://technet.microsoft.com/en-us/library/hh825070.aspx

            Means he needs to reinstall the os after that.

            Maybe he’s searching for a way to integrate drivers into a living system?

            Regards X23

            ║▌║█║▌│║▌║▌█

            1 Reply Last reply Reply Quote 0
            • P
              Psycholiquid Testers
              last edited by Sep 22, 2017, 6:05 PM

              Yeah dropping them into a folder isn’t going to work. Windows looks for drivers i the winsxs folder (No you cant drop them there either)

              That is why injection is good, do it before the image that way they are already there. There are ways to use batch files to install the drivers but I think it is a little messy.

              1 Reply Last reply Reply Quote 0
              • P
                Psycholiquid Testers
                last edited by Sep 22, 2017, 6:07 PM

                Doing it while live:

                https://technet.microsoft.com/en-us/library/hh824971.aspx

                1 Reply Last reply Reply Quote 0
                • G
                  george1421 Moderator
                  last edited by george1421 Sep 22, 2017, 1:42 PM Sep 22, 2017, 7:42 PM

                  Its possible to have the fog post install script place the files onto the target computer during image deployment and have windows find them and integrate them during OOBE. That is how we have been “injecting” drivers since the XP days. Truthfully, injecting is not the right word, it more like placing the files in a spot and telling winsetup to look in that spot for drivers.

                  I have a few tutorials out there on how to do this
                  here: https://forums.fogproject.org/topic/8889/fog-post-install-script-for-win-driver-injection

                  and here for more advanced bits: https://forums.fogproject.org/topic/7740/the-magical-mystical-fog-post-download-script

                  For win10 to find the drivers you placed with the post install script you need to add the following section (at the end of the post) to your unattend.xml file: https://forums.fogproject.org/topic/8889/fog-post-install-script-for-win-driver-injection/3 That section tells windows OOBE to look for drivers on the local hard drive. The only caveat is the drivers MUST be on the local hard drive as OOBE is running AND you must sysprep your images.

                  Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                  1 Reply Last reply Reply Quote 0
                  • A
                    austinjt01
                    last edited by Sep 22, 2017, 10:03 PM

                    I found this: www.alexcomputerbubble.com/automate-driver-installation

                    I currently am trying to load the drivers using the command line tool PnPutil with a powershell script

                    I added a folder on my vm (C:\drivers)
                    With the powershell script that should load the machine specific drivers into the driver store

                    And also adding a SetupComplete.cmd file to execute with local system privileges.

                    I think instead grabbing generic drivers from the store it’s trying to install them. But currently it has been sitting at the Windows “Just a moment screen” with the little annoying spinning circle.

                    G 1 Reply Last reply Sep 22, 2017, 10:19 PM Reply Quote 0
                    • G
                      george1421 Moderator @austinjt01
                      last edited by george1421 Sep 22, 2017, 4:20 PM Sep 22, 2017, 10:19 PM

                      @austinjt01 The problem is that the setupcomplete.cmd runs at the end of OOBE some hardware needs drivers in the beginning of the process to run. Now we have had to run dism to “re-inject” the drivers during setupcomplete.cmd for certain hardware. The condition here is that some hardware is hidden behind other hardware (i.e. network controllers behind a usb-c interface). The usb-c interface would be detected but not the network adapter. DISM inject at the end would ensure that all drivers are loaded at the end of the setup process. The previous example may not have been the best, but we have seen hardware hidden behind other hardware that wasn’t discovered initially.

                      The other thing is that your reference image needs to have certain hardware drivers pre-loaded for instances like unique sata controllers that are required for the OS to see the disk for setup.

                      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                      1 Reply Last reply Reply Quote 0
                      • A
                        austinjt01
                        last edited by Sep 25, 2017, 1:52 PM

                        So do you see any problem with using DISM to install the drivers? I tried it on one machine before I left on Friday and checking the results now in the log.txt file everything seems to been accomplished:

                        That is just a few lines from the log file:

                        Installing driver: C:\drivers\Alcor Smart Card Reader Driver - 10 [64] 1.7.45.15(n1eva07w)\x64
                        Installing driver: C:\drivers\Integrated Camera Driver for Realtek - 10 [64] 10.0.15063.11286(n1eca13w_rek)\Driver\Realtek
                        Installing driver: C:\drivers\Integrated Camera Driver for Realtek - 10 [64] 10.0.15063.11286(n1eca13w_rek)\Driver\Realtek
                        Installing driver: C:\drivers\Integrated Camera Driver for Realtek - 10 [64] 10.0.15063.11286(n1eca13w_rek)\Driver\Sunplus
                        Installing driver: C:\drivers\Integrated Camera Driver for Realtek - 10 [64] 10.0.15063.11286(n1eca13w_rek)\Driver\Sunplus
                        Installing driver: C:\drivers\Integrated Camera Driver for Realtek - 10 [64] 10.0.15063.11286(n1eca13w_rek)\Driver\Sunplus
                        Installing driver: C:\drivers\Integrated Camera Driver for Realtek - 10 [64]

                        This process is not perfect, but before going any further I would like to anyone for some input. Thanks!

                        1 Reply Last reply Reply Quote 0
                        • A
                          austinjt01 @Psycholiquid
                          last edited by Sep 25, 2017, 3:42 PM

                          @psycholiquid I tried using DISM, but it seems to hang up the imaging process on a black screen until I reboot. However, once rebooting and the OOBE experience finishes, it appears as though the drivers were installed. Maybe it’s hanging up like that because I’m not dealing with an offline image?

                          P 1 Reply Last reply Sep 27, 2017, 10:13 AM Reply Quote 0
                          • X
                            x23piracy
                            last edited by x23piracy Sep 26, 2017, 1:20 PM Sep 26, 2017, 7:15 PM

                            DPInst could also be a possible Solution where you can Build your custom drivers install pack:
                            https://technet.microsoft.com/en-us/ff544842(v=vs.96)

                            For example, we have HP Probooks 650 with a WLAN enabled/disable Button, you need a Driver so the Button LED will lit different (OMG). Therefore i used dpinst:

                            Bild Text

                            To run dpinst silent use:

                            dpinst.exe /q /se
                            

                            You don’t need to configure something for dpinst, just place a driver with a inf starting with as root into the dpinst.exe folder.

                            You can place more then one driver in the same folder as long as you don’t overwirte any files (maybe also subfolders are supported, i am not sure).

                            Regards X23

                            ║▌║█║▌│║▌║▌█

                            1 Reply Last reply Reply Quote 1
                            • P
                              Psycholiquid Testers @austinjt01
                              last edited by Sep 27, 2017, 10:13 AM

                              @austinjt01 I will try to make a video of how I do it, and place it on Youttube this weekend.

                              1 Reply Last reply Reply Quote 0
                              • S
                                sudburr
                                last edited by sudburr Sep 27, 2017, 9:47 AM Sep 27, 2017, 3:40 PM

                                I’m a big fan of dpinst as well. Injecting for reals, into an OS for 30 different platforms prior to sysprep bloats the registry and can even poison an image in extreme cases.

                                I prefer to not leave Windows to install drivers as it wants, but where I want, when I want; I do this in the unattend.xml.

                                <settings pass="specialize">
                                	<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                                		<ExtendOSPartition>
                                			<Extend>true</Extend>
                                		</ExtendOSPartition>
                                		<RunSynchronous>
                                			<RunSynchronousCommand wcm:action="add">
                                				<Order>1</Order>
                                				<Description>Driver Installation Pass 1 of 3</Description>
                                				<Path>"C:\temp\drivers\dpinst.exe" /path "C:\temp\drivers" /q /se</Path>
                                			</RunSynchronousCommand>
                                			<RunSynchronousCommand wcm:action="add">
                                				<Order>2</Order>
                                				<Description>Driver Installation Pass 2 of 3</Description>
                                				<Path>"C:\temp\drivers\dpinst.exe" /path "C:\temp\drivers" /q /se</Path>
                                			</RunSynchronousCommand>
                                			<RunSynchronousCommand wcm:action="add">
                                				<Order>3</Order>
                                				<Description>Driver Installation Pass 3 of 3</Description>
                                				<Path>"C:\temp\drivers\dpinst.exe" /path "C:\temp\drivers" /q /se</Path>
                                			</RunSynchronousCommand>
                                		</RunSynchronous>
                                	</component>
                                </settings>
                                

                                Where C:\temp\drivers\ contains every driver extracted from every system needed.

                                Alongside dpinst.exe in c:\temp\drivers I also place the dpinst.xml

                                <?xml version="1.0" ?>
                                <dpinst> 
                                	<!-- equivalent to /sa -->
                                	<suppressAddRemovePrograms/>
                                	<!-- The following search and subDirectory elements direct DPInst to search all subdirectories (under the DPInst working directory) to locate driver packages. -->
                                	<search> 
                                		<subDirectory>*</subDirectory> 
                                	</search> 
                                	<!-- The following language element localizes its child elements for the English (Standard) language. The child elements customize the text that appears on the DPInst wizard pages. -->
                                	<language code="0x0409"> 
                                		<dpinstTitle>Device Driver Updater</dpinstTitle> 
                                		<welcomeTitle>Welcome to the Device Installer!</welcomeTitle> 
                                		<welcomeIntro>This wizard will walk you through updating the drivers for your device.</welcomeIntro> 
                                		<installHeaderTitle>Installing the software for your device...</installHeaderTitle> 
                                		<finishTitle>Congratulations! You finished installing your device drivers.</finishTitle> 
                                	</language> 
                                	<!-- equivalent to /sh -->
                                	<scanHardware/>
                                </dpinst>
                                

                                I run dpinst three times deliberately. First to grab primary devices, then to detect and load daughter devices, and then finally for those very few tertiary devices that can only be seen after two other parent devices are loaded.

                                I then leave it to setupcomplete.cmd to reclaim the disk space taken up by staging the drivers in the image.

                                @REM Place this file in C:\Windows\Setup\Scripts
                                @REM SetupComplete.cmd is executed as final step of coming out of Sysprep under SYSTEM account
                                
                                @REM Cleanup
                                del /Q /F c:\windows\system32\sysprep\closer*.xml
                                del /Q /F c:\windows\system32\sysprep\default*.xml
                                del /Q /F c:\windows\panther\unattend.xml
                                rd /s /q C:\temp
                                rd /s /q C:\temp
                                
                                

                                This does not take care of any OEM software which I install through separate automated means.

                                My current driver pack for Windows 10 (64) is fully compatible with 30 different makes/models in our environment.

                                Manufacturer Model Name Model Version

                                Dell Inc. Latitude 3379 <blank>
                                Dell Inc. OptiPlex 790 <blank>
                                Dell Inc. OptiPlex 7010 <blank>
                                Dell Inc. OptiPlex 7020 <blank>
                                Dell Inc. XPS One 2710 <blank>

                                LENOVO 7373BTU ThinkCentre M58

                                LENOVO 3548C1U ThinkCentre M72z
                                LENOVO 3548C8U ThinkCentre M72z

                                LENOVO 10BBS00Y00 ThinkCentre M73z
                                LENOVO 10BBS12Q00 ThinkCentre M73z

                                LENOVO 10EWS0B000 ThinkCentre M800z
                                LENOVO 10NY0010US ThinkCentre M810z

                                LENOVO 20GKS0A700 ThinkPad 13
                                LENOVO 20J2S0MJ00 ThinkPad 13 2nd Gen

                                LENOVO 20FES0VJ00 ThinkPad Yoga 260

                                LENOVO 20JJS2F200 ThinkPad Yoga 370

                                LENOVO 30ASS3NA0 ThinkStation P310

                                LENOVO 30BH002KUS ThinkStation P320

                                Toshiba PORTEGE R830 PT320C-0F502L
                                Toshiba PORTEGE R830 PT320C-01H018
                                Toshiba PORTEGE R830 PT320C-05L02L

                                Toshiba PORTEGE R930 PT330C-00v009
                                Toshiba PORTEGE R930 PT330C-05X039
                                Toshiba PORTEGE R930 PT330C-08S039

                                Toshiba PORTEGE Z930 PT235C-02H049

                                Toshiba PORTEGE R30-A PT341C-00W00T
                                Toshiba PORTEGE R30-A PT343C-0YP08W
                                Toshiba PORTEGE R30-A PT343C-01N01J

                                Toshiba PORTEGE Z30t-A PT24CC-05D02V

                                Toshiba TECRA R700 PT318C-00C001

                                [ Standing in between extinction in the cold and explosive radiating growth ]

                                X 1 Reply Last reply Sep 27, 2017, 4:34 PM Reply Quote 2
                                • X
                                  x23piracy @sudburr
                                  last edited by Sep 27, 2017, 4:34 PM

                                  @sudburr hey thank you for this, you are really more advanced with the dpinst usage.
                                  Appreciate your post a lot 🙂

                                  ║▌║█║▌│║▌║▌█

                                  1 Reply Last reply Reply Quote 0
                                  • 1 / 1
                                  1 / 1
                                  • First post
                                    11/16
                                    Last post

                                  168

                                  Online

                                  12.0k

                                  Users

                                  17.3k

                                  Topics

                                  155.2k

                                  Posts
                                  Copyright © 2012-2024 FOG Project