[WDS+XP] HowTo: HAL onafhankelijk image bouwen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • defiant
  • Registratie: Juli 2000
  • Laatst online: 08:30

defiant

Moderator General Chat
Topicstarter
Windows Vista werd door Microsoft neergezet als de oplossing voor verschillende HAL types waar je bij Windows XP rekening mee moest houden als je werkte met images. Maar feitelijk kan Windows XP dit ook, want in Longhorn Beta 1 heeft Microsoft een NTLDR meegeleverd die HAL's kan detecteren en veranderen en deze werkt ook onder XP.

Een belemmering daarbij is WDS zelf, aangezien deze ook het HAL type detecteert en incompatible images verbergt, maar ook dat is te omzeilen.

** Waarschuwing/Disclaimer **
Deze methode wordt niet ondersteund door Microsoft, en is geheel op eigen risico en is af te raden in productie omgevingen.

Dat gezegd hebbende, werkt het bijna mij al tijden feilloos bij verschillende type machines.

Benodigde voorkennis:
  • WDS met de bijhorende tools
  • Het maken van XP images icm sysprep
Benodigdheden:
  • Windows Server 2003/2008 met ingerichte WDS.
  • Longhorn beta 1 voor de NTLDR
  • Virtuele omgeving (bijv. VMware) om images te bouwen
  • Windows XP met VLK key.
  • Windows XP service pack 3
Beperkingen:
  • Het werkt alleen op 1 processor merk (intel of amd), het is geloof ook wel dit aan te passen door de intel en de amd driver uit te schakelen en de generieke processor driver te gebruiken, en pas na uitrollen de juiste processor driver te starten. Dit heb ik echter nog niet geprobeerd.
Aanpassen WDS
Het Vista boot.wim image moet worden aangepast om HAL onafhankelijk images te kunnen selecteren in WDS. Paste het volgende in een tekst file:
[LaunchApps]
%SYSTEMDRIVE%\Windows\System32\reg.exe,"add HKLM\SYSTEM\CurrentControlSet\Enum\Root\ACPI_HAL\0000 /v HardwareID /t REG_MULTI_SZ /d e_isa_up /f"
%SYSTEMDRIVE%\Sources\Setup.exe,"/wds /wdsdiscover"

En save deze als: winpeshl.ini en zet deze in de windows\system32 directory van het boot.wim image (door het image te mounten of opnieuw te capturen). Dit ini bestand wordt automatisch uitgevoerd, en zorgt ervoor dat boot.wim het HAL type naar 'Standard PC' zet, dit is van belang omdat WDS anders de images niet ziet.

Longhorn beta 1 NTLDR
Installeer Longhorn beta 1 in VMWare, waarschijnlijk is hij direct al expired en kan je niet inloggen, boot daarom met een bootcd of PE omgeving en kopieer de NTLDR van de installatiepartitie. Als je de NTLDR hebt kan je het image weer weggooien.

Voorbereidingen op het XP referentie image
Download Windows XP service pack 3, en pak deze uit in een directory (met de /x switch). Open de sp3.cab file in de i386 directory, en zet de volgende files in een tijdelijke directory:
halacpi.dll, halapic.dll, halmacpi.dll, halmps.dll, hal.dll
ntkrnlpa.exe, ntoskrnl.exe, ntkrpamp.exe, ntkrnlmp.exe

Hernoem hierna hal.dll naar halstnd.dll en ntoskrnl.exe naar ntkrnlup.exe

Paste daarna het volgende in een tekst file:
[Version]
signature="$Windows NT$"
DriverVer=07/01/2001

[hal]
MPS_MP         = halmps.dll
MPS_UP         = halapic.dll
E_ISA_UP       = halstnd.dll
ACPIPIC_UP     = halacpi.dll
ACPIAPIC_UP    = halaacpi.dll
ACPIAPIC_MP    = halmacpi.dll


[ACPIOptions]
ACPIEnable = 2
ACPIBiosDate = 01,01,1999

Save dit bestand als dtecthal.inf, en bewaar deze.

Anpassen XP referentie image
Bereid je XP SP3 referentie image voor zoals je gewend bent, pas echter de volgende zaken aan:
Verander in de device manager het HAL type naar 'Standard PC'. De reden hiervoor is dat een 'Standard PC' HAL type op elke computer boot, en WDS dit ook na de aanpassing ook altijd herkent. Reboot windows, en controleer in device manager of er geen dubbele HAL types in staan, zo ja, verwijder dan het duplicaat.

Zet de files die je uit sp3.cab hebt gehaald in de system32 directory van je image.

Plaats de dtecthal.inf file in de inf directory van windows, doe daarna een rechtermuisklik op deze inf file en kies 'Install'.

Kopieer de XP NTLDR in de root naar bijvoorbeeld naar NTLDR.XP, en vervang het orgineel door de Longhorn beta 1 NTLDR.

Het referentie image is nu klaar. Capture deze, en deploy hem naar je sysprep image, voordat je sysprep start, moet je de boot.ini van XP aanpassen door de switch /detecthal toe te voegen, anders functioneer de NTLDR gewoon zoals de XP NTLDR zonder de HAL te detecteren, bijvoorbeeld:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptOut /detecthal

Reboot Windows hierna niet meer anders wordt het 'Standard PC' HAL type weer vervangen, maar start de sysprep procedure zoals je gewend bent. Als sysprep klaar is en windows is afgesloten, capture dan je uitrol image. Deze is nu HAL onafhankelijk, en kan dus worden uitgerold op meerdere type machines.

Na het uitrollen kan je de orginele xp ntldr en boot.ini weer terugzetten (dit valt natuurlijk te automatiseren in de mini-setup procedure). In device manager blijft na het uitrollen soms nog een extra 'Standard PC' zichtbaar, dit is ook automatisch te verwijderen door het programma devcon:
devcon remove *PCI_HAL*

Hetzelfde is trouwens ook mogelijk met andere software, waaronder mysysprep, wat ik persoonlijk omslachtiger vind werken.

"When I am weaker than you I ask you for freedom because that is according to your principles; when I am stronger than you I take away your freedom because that is according to my principles"- Frank Herbert


Acties:
  • 0 Henk 'm!

  • LuckY
  • Registratie: December 2007
  • Niet online
Bookmarked .

Hier ga ik zeker nog gebruik van maken :)

Acties:
  • 0 Henk 'm!

  • redfoxert
  • Registratie: December 2000
  • Niet online
Ziet er goed uit, maandag op mn werk eens mee gaan stoeien :)

Thanks voor de duidelijke write up!

Btw, werkt het alleen met Longhorn beta 1 ?

https://discord.com/invite/tweakers


Acties:
  • 0 Henk 'm!

  • Dutch2007
  • Registratie: September 2005
  • Laatst online: 13-08 14:34
je kan toch ook gewoon in je sysprep zeggen dat het een multi-cpu kernel moet gebruiken?

en op mijn vorige stage was het zo dat we eerst een single kernel gebruikten, en windows deed auto detect en instaleren van een multi-cpu, dit zonder de hal aan te passen e.d.

Acties:
  • 0 Henk 'm!

  • defiant
  • Registratie: Juli 2000
  • Laatst online: 08:30

defiant

Moderator General Chat
Topicstarter
redfoxert schreef op zondag 06 juli 2008 @ 00:37:
Btw, werkt het alleen met Longhorn beta 1 ?
Klopt, latere versies gebruiken de universele vista kernel en zijn dus onbruikbaar.
Dutch2007 schreef op zondag 06 juli 2008 @ 01:42:
je kan toch ook gewoon in je sysprep zeggen dat het een multi-cpu kernel moet gebruiken?
Klopt, alleen is dat geen universele oplossing, zie dit kb artikel van Microsoft. De oplossing in de howto werkt in alle situaties correct.
(hoewel deze oplossing wel steeds minder noodzakelijk wordt gezien de uniformiteit waarin de pc architectuur zich ontwikkelt).

"When I am weaker than you I ask you for freedom because that is according to your principles; when I am stronger than you I take away your freedom because that is according to my principles"- Frank Herbert


Acties:
  • 0 Henk 'm!

  • Taenadar
  • Registratie: Januari 2004
  • Laatst online: 21:25
En de Beta van longhorn beta 1 is die nog ergens te vinden ? Ik heb even gekeken bij MVLS maar daar stond niks meer bij van Longhorn.

Zou namelijk mooi zijn als dit zou werken.

Acties:
  • 0 Henk 'm!

  • beekware
  • Registratie: Mei 2002
  • Laatst online: 06:44

beekware

To Experience The Unexpected..

Zelf een DVDtje gemaakt, Windows XPSP3 NL, Office en hele hoop andere software, sysprep, image (WIM) en via een WinPE CD restoren maar, 15min en klaar is kees :P

Mmm misschien heb je wat aan deze info...

A geeks guide to Windows XP HAL Replacement:
http://www.myitforum.com/articles/15/view.asp?id=8997

HAL Script:
http://www.myitforum.com/inc/arts/11256haldetect.zip

SysPrep Driver Scanner:
http://www.vernalex.com/tools/spdrvscn/index.shtml

[GUIDE] Creating WIM images of Windows XP for system deployment using, Windows PE, Downloadable tutorial
http://www.msfn.org/board/index.php?showtopic=101383

|| Twitter || Instagram || PV Output ||


Acties:
  • 0 Henk 'm!

  • Pablo
  • Registratie: Juni 2008
  • Laatst online: 16-09 13:34

Pablo

Rito pls

hey

Als ik het goed begrijp dan heb jij dit dus aan de praat gekregen
Is het mogelijk dat ik die image van je over zou kunnen nemen ?
en misschien met een paar mogelijke aanpassingen er in ?

[ Voor 89% gewijzigd door elevator op 28-01-2009 20:33 ]

For certain ye have to be lost to find somethin that can't be found.


Acties:
  • 0 Henk 'm!

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

R.plas schreef op woensdag 28 januari 2009 @ 16:35:
Als ik het goed begrijp dan heb jij dit dus aan de praat gekregen
Is het mogelijk dat ik die image van je over zou kunnen nemen ?
De hele reden van die Howto is dat je ze zelf maakt in verband met copyright en licenties.

Geen uitwisseling via het forum dus, controleer je mail ook even.

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


Acties:
  • 0 Henk 'm!

  • Pablo
  • Registratie: Juni 2008
  • Laatst online: 16-09 13:34

Pablo

Rito pls

ok ik snap nu hoe het werk maar ik ben nu eigenlijk nog opzoek naar de longhorn beta =

even een vraagje daar over.

Maakt het nog uit welke BETA want je hebt namelijk beta 1 en beta 2
Ik heb hier een Action Pack CD liggen waar op staat Windows Vista Beta kan ik die ook gebruiken ?

of iemand een link waar ik Longhorn kan downloaden de beta ?

For certain ye have to be lost to find somethin that can't be found.


Acties:
  • 0 Henk 'm!

  • Motrax
  • Registratie: Februari 2004
  • Niet online

Motrax

Profileert

Longhorn is de preproductienaam van Vista. Een beta van Vista gebruiken is een beetje verouderd.

Kan je beter of per direct naar Vista SP1 gaan en uitzoeken of de HAL truuk gaat werken, of bijn Windows XP SP3 blijven. Of als je bikkel bent je gaan verdiepen in Windows 7, daar is een beta nu publiekelijk beschikbaar van.

☻/
/▌
/ \ Analyseert | Modelleert | Valideert | Solliciteert | Generaliseert | Procrastineert | Epibreert |


Acties:
  • 0 Henk 'm!

  • Pablo
  • Registratie: Juni 2008
  • Laatst online: 16-09 13:34

Pablo

Rito pls

ja maar zou die Windows 7 beta NTDLR gaan werken of is het gewoon een kwestie van proberen ?

For certain ye have to be lost to find somethin that can't be found.


Acties:
  • 0 Henk 'm!

  • LuckY
  • Registratie: December 2007
  • Niet online
Niet geschoten is altijd mis :+
Gewoon even testen, Kan je het gelijk hier melden.

Acties:
  • 0 Henk 'm!

  • Pablo
  • Registratie: Juni 2008
  • Laatst online: 16-09 13:34

Pablo

Rito pls

ik laat het vandaag weten

For certain ye have to be lost to find somethin that can't be found.


Acties:
  • 0 Henk 'm!

  • defiant
  • Registratie: Juli 2000
  • Laatst online: 08:30

defiant

Moderator General Chat
Topicstarter
De Windows 7 beta gaat vrijwel zeker niet werken, na de beta 1 van Vista is men afgestapt van de verschillende HAL's van XP/2003 en overgestapt op een universele HAL die niet meer compatibel is met XP en 2003.

Overigens is de truuk die ik beschreef steeds minder noodzakelijk, met de recent architectuur wordt eigenlijk alleen nog maar de uniprocessor hal gebruikt. Het is alleen handig als je nog een park met legacy PC's hebt die je met zo min mogelijk moeite opnieuw wilt kunnen uitrollen met een nieuwe XP image.

"When I am weaker than you I ask you for freedom because that is according to your principles; when I am stronger than you I take away your freedom because that is according to my principles"- Frank Herbert


Acties:
  • 0 Henk 'm!

  • Pablo
  • Registratie: Juni 2008
  • Laatst online: 16-09 13:34

Pablo

Rito pls

ik ga het gewoon proberen
ik heb nu BETA 1 van longhorn kunnen vinden en die is klaar met downloaden
Dus ik ga het gewoon proberen zoals jij het hebt beschreven

For certain ye have to be lost to find somethin that can't be found.


Acties:
  • 0 Henk 'm!

  • Pablo
  • Registratie: Juni 2008
  • Laatst online: 16-09 13:34

Pablo

Rito pls

ok

ik heb nu de Longhorn NTDLR maar ik snap 1 regel niet

Aanpassen WDS
Het Vista boot.wim image moet worden aangepast om HAL onafhankelijk images te kunnen selecteren in WDS

waar vind ik deze en wat heeft deze vista image er mee te maken ?

For certain ye have to be lost to find somethin that can't be found.


Acties:
  • 0 Henk 'm!

  • Pablo
  • Registratie: Juni 2008
  • Laatst online: 16-09 13:34

Pablo

Rito pls

ok jongens helemaal gelukt via de manier die hierboven heel mooi is uitgelegd

alleen 1 probleem :

als ik nu dus een machine via lan boot en voor Image installeren kies dan staat hij dus niet in mijn lijstje terwijl alle andere images daar wel staan die er voorheen niet stonden
iemand ??? oplossing

greetz

For certain ye have to be lost to find somethin that can't be found.


Acties:
  • 0 Henk 'm!

  • Pablo
  • Registratie: Juni 2008
  • Laatst online: 16-09 13:34

Pablo

Rito pls

niemand ?

For certain ye have to be lost to find somethin that can't be found.


  • Pablo
  • Registratie: Juni 2008
  • Laatst online: 16-09 13:34

Pablo

Rito pls

Ik heb dit process nogmaals uitgevoerd maar kom weer op het zelfde probleem :(
ik wordt er gek van......

For certain ye have to be lost to find somethin that can't be found.


Verwijderd

Zeer bedankt voor deze info! Wij proberen al een tijd lang een "Generieke WDS distributieserver" te maken die een standaard image naar vrijwel elke PC / Laptop uit moet kunnen rollen. Het probleem op veel clients was inderdaad dat het image niet zichtbaar werd. Dit schept weer mogelijkheden :)

Waar ik alleen hééél benieuwd naar ben..., hoe ben je hier ooit achter gekomen?

  • defiant
  • Registratie: Juli 2000
  • Laatst online: 08:30

defiant

Moderator General Chat
Topicstarter
Verwijderd schreef op donderdag 26 februari 2009 @ 09:04:
Waar ik alleen hééél benieuwd naar ben..., hoe ben je hier ooit achter gekomen?
Ik was op zoek naar mogelijkheden om het HAL probleem van XP te tackelen, ik kwam als eerste op deze pagina, deze methode werkte niet echt ideaal, maar hij had wel een manier om WDS images die verborgen zijn vanwege de HAL weer zichtbaar te maken (feitelijk doet hij niks anders dan het HAL type van WDS zelf ook naar ISA te veranderen).
Toen zocht ik verder, en kwam ik op deze post op msfn.org, die de longhorn beta1 ntldr methode uitlegde.

Beide methodes heb ik gecombineerd tot de oplossing in de how-to :)

"When I am weaker than you I ask you for freedom because that is according to your principles; when I am stronger than you I take away your freedom because that is according to my principles"- Frank Herbert


Acties:
  • 0 Henk 'm!

  • Pablo
  • Registratie: Juni 2008
  • Laatst online: 16-09 13:34

Pablo

Rito pls

mammaplank heb jij het helaam aan de praat gekregen ?

For certain ye have to be lost to find somethin that can't be found.


Acties:
  • 0 Henk 'm!

  • Johnny E
  • Registratie: April 2000
  • Laatst online: 22:46

Johnny E

Dôh !!

In combinatie met MDT 2008 sp1 of SCCM gebruik ik altijd het volgende script.
De image wordt op een basis pc gemaakt met oude hardware met de Advanced ACPI computer hal.
In de Postinstall fase wordt dit script gedraait welke de in de image aanwezige sysprep.inf bijwerkt met de juiste hal instellingen voor die PC

VBScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
'//////////////////////////////////////////////////
'//
'// Script File:
'//
'//   ZTIHalDetect.vbs
'//
'//   This script updates sysprep.inf with correct HAL Type
'//   The Reference (master) computer should be built from
'//   an Advanced ACPI computer
'//
'//   Use this script for WIM images (Imagex, OSD, WDS)
'//
'//////////////////////////////////////////////////

Set oWshShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")


' Customize the local sysprep.inf file based on the HAL type

Call UpdateSysprepinf ()

' Done, quit.

WScript.Quit

Sub UpdateSysprepinf ()

   ' Find out the HAL type

    sHalType = oWshShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Enum\Root\ACPI_HAL\0000\HardwareID")

   If sHalType(0) = "acpiapic" Then

    if oWshShell.Environment.item("NUMBER_OF_PROCESSORS") = 1 then

            WriteIni "c:\sysprep\sysprep.inf", "Unattended", "UpdateUPHAL", "ACPIAPIC_UP,C:\Windows\Inf\Hal.inf"
    else
        writeini "c:\sysprep\sysprep.inf", "Unattended", "UpdateHAL", "ACPIAPIC_MP,C:\Windows\Inf\Hal.inf"
    
    end if

   ElseIf sHalType(0) = "acpiapic_up" Then

    WriteIni "c:\sysprep\sysprep.inf", "Unattended", "UpdateUPHAL", "ACPIAPIC_UP,C:\Windows\Inf\Hal.inf"

   ElseIf sHalType(0) = "acpiapic_mp" Then

    writeini "c:\sysprep\sysprep.inf", "Unattended", "UpdateHAL", "ACPIAPIC_MP,C:\Windows\Inf\Hal.inf"

   End if


End Sub

Function ReadIni(file, section, item)

    ReadIni = ""
    file = Trim(file)
    item = Trim(item)
    Set ini = oFSO.OpenTextFile( file, 1, True)

    Do While ini.AtEndOfStream = False
        line = ini.ReadLine
        line = Trim(line)
        If LCase(line) = "[" & LCase(section) & "]" Then
            line = ini.ReadLine
            line = Trim(line)
            Do While Left( line, 1) <> "["
                'If InStr( 1, line, item & "=", 1) = 1 Then
                equalpos = InStr(1, line, "=", 1 )
                If equalpos > 0 Then
                    leftstring = Left(line, equalpos - 1 )
                    leftstring = Trim(leftstring)
                    If LCase(leftstring) = LCase(item) Then
                        ReadIni = Mid( line, equalpos + 1 )
                        ReadIni = Trim(ReadIni)
                        Exit Do
                    End If
                End If

                If ini.AtEndOfStream Then Exit Do
                line = ini.ReadLine
                line = Trim(line)
            Loop
            Exit Do
        End If
    Loop
    ini.Close

End Function

Sub WriteIni( file, section, item, myvalue )

    in_section = False
    section_exists = False
    item_exists = ( ReadIni( file, section, item ) <> "" )
    wrote = False
    file = Trim(file)
    itemtrimmed = Trim(item)
    myvalue = Trim(myvalue)

    temp_ini = oFSO.GetParentFolderName(file) & "\" & oFSO.GetTempName

    Set read_ini = oFSO.OpenTextFile( file, 1, True, TristateFalse )
    Set write_ini = oFSO.CreateTextFile( temp_ini, False)

    While read_ini.AtEndOfStream = False
        line = read_ini.ReadLine
        linetrimmed = Trim(line)
        If wrote = False Then
            If LCase(line) = "[" & LCase(section) & "]" Then
                section_exists = True
                in_section = True
            ElseIf InStr( line, "[" ) = 1 Then
                in_section = False
            End If
        End If

        If in_section Then
            If item_exists = False Then
                write_ini.WriteLine line
                write_ini.WriteLine item & "=" & myvalue
                wrote = True
                in_section = False
            Else
                equalpos = InStr(1, line, "=", 1 )
                If equalpos > 0 Then
                    leftstring = Left(line, equalpos - 1 )
                    leftstring = Trim(leftstring)
                    If LCase(leftstring) = LCase(item) Then
                        write_ini.WriteLine itemtrimmed & "=" & myvalue
                        wrote = True
                        in_section = False
                    End If
                End If
                If Not wrote Then
                    write_ini.WriteLine line
                End If
            End If
        Else
            write_ini.WriteLine line
        End If
    Wend

    If section_exists = False Then ' section doesn't exist
        write_ini.WriteLine
        write_ini.WriteLine "[" & section & "]"
        write_ini.WriteLine itemtrimmed & "=" & myvalue
    End If

    read_ini.Close
    write_ini.Close
        If oFSO.FileExists(file) then
            oFSO.DeleteFile file, True
        End if
        oFSO.CopyFile temp_ini, file, true
    oFSO.DeleteFile temp_ini, True
    
End Sub

Specs!


Acties:
  • 0 Henk 'm!

Verwijderd

@Defiant, bedankt voor die extra links, leuke achtergrond info. En helemaal bedankt voor je gecombineerde how-to!

@r.plas: Het is een intern project, dus helaas heb ik er steeds af en toe even tijd voor. Ik had al een WDS met een super-image die vrijwel alle drivers van elk systeem heeft (via driverpacks). Ik kon hem alleen via WDS niet uitrollen omdat de images onzichtbaar bleven. Ik heb er goede hoop in dat ik dat met deze info kan oplossen. Ik laat het je weten als het helemaal is gelukt.

Update: Ik kon nergens een vista beta 1 vinden. Wel de beta 3, maar ik kan bevestigen dat die niet werkt. Die van windows 7 inderdaad ook niet.

[ Voor 12% gewijzigd door Verwijderd op 12-03-2009 15:48 ]


Acties:
  • 0 Henk 'm!

  • Pablo
  • Registratie: Juni 2008
  • Laatst online: 16-09 13:34

Pablo

Rito pls

vreemd....... nadat ik de server een Reboot had gegeven werkt alles zonder problemen
ik kan nu op elke willekeurige reparatie een image uit rollen dus ik heb een aantal images

Intel - XPHOME 32B
Intel - XPPRO 32B/64B
AMD - XPHOME
AMD - XPPRO 32B/64B

en zo ook met vista :)


alleen ik heb nog 1 dilemma.
Sommige verouderde laptops hebben geen Boot van Lan
ik ben nog steeds op zoek naar een oplossing hiervoor

groet Roy

For certain ye have to be lost to find somethin that can't be found.


Acties:
  • 0 Henk 'm!

  • Trommelrem
  • Registratie: Februari 2009
  • Laatst online: 09-11-2021
Toepasselijke schop:
defiant schreef op zaterdag 05 juli 2008 @ 16:52:
  • Het werkt alleen op 1 processor merk (intel of amd), het is geloof ook wel dit aan te passen door de intel en de amd driver uit te schakelen en de generieke processor driver te gebruiken, en pas na uitrollen de juiste processor driver te starten. Dit heb ik echter nog niet geprobeerd.
Dit probleem probeer ik te reproduceren maar dat lukt niet. Ik heb een tijd geleden al een ACPIAPIC_UP image gemaakt en ik heb WDS zodanig aangepast dat deze default de ACPIAPIC_UP images toont. Mini-setup wijzigt namelijk wel een ACPIAPIC_UP naar een ACPIAPIC_MP indien nodig. ACPIPIC_UP wordt echter niet gewijzigd naar ACPIAPIC_?P, maar ACPIPIC_UP is antiek en komt toch bijna niet voor. Een systeem met E_ISA_UP en Windows XP komt helemaal niet voor. Zelfs een Windows 2000 systeem met E_ISA_UP is volgens mij een unicum.

Google geeft als oplossing om het registry van je image offline te benaderen en daar de intelppm service uit te schakelen.

Anyway, mijn (op Intel gebouwd) image boot wel gewoon op de ACPIAPIC_?P systemen met AMD processor. Is het probleem wellicht met een Windowsupdate opgelost? Ik wil liever niet dat het probleem zich alsnog voordoet. Kan ik het probleem alsnog op bepaalde AMD systemen tegenkomen? Wellicht zelfs op systemen met VIA of Cyrix processors als die uberhaupt nog bestaan?

Acties:
  • 0 Henk 'm!

  • Trommelrem
  • Registratie: Februari 2009
  • Laatst online: 09-11-2021
Ik heb een aantal toevoegingen en een vraag voor het maken van een onafhankelijk image:
Installeer Longhorn beta 1 in VMWare, waarschijnlijk is hij direct al expired en kan je niet inloggen, boot daarom met een bootcd of PE omgeving en kopieer de NTLDR van de installatiepartitie. Als je de NTLDR hebt kan je het image weer weggooien.
NTLDR staat in image 1 onder de folder BOOT van de INSTALL.WIM. Installeren van Longhorn beta 1 onder VMware is derhalve niet nodig, je kunt het ook gewoon extracten.
Plaats de dtecthal.inf file in de inf directory van windows, doe daarna een rechtermuisklik op deze inf file en kies 'Install'.
Rechtermuisknop en install is niet nodig. Doe je dat wel, dan gebeurt er toch niets. NTLDR zoekt automatisch in de \inf folder naar dtecthal.inf en gebruikt het bestand alleen maar om de juiste files voor de gedetecteerde HAL te zoeken.

Het vervangen van de huidige HAL door de Standard-PC HAL is niet nodig tenzij je gebruik maakt van WDS (zie verderop) want NTLDR kiest de juiste HAL al voordat HKLM\System\Enum wordt geladen. Een image gemaakt met acpiapic_mp zal gewoon op een e_isa_up opstarten met /detecthal. Wel is het essentieel om de huidige HAL te verwijderen uit uit HKLM\System\Enum zodat Windows (of mini-setup) de HAL waarmee is geboot ook daadwerkelijk installeert. Als je de HAL wel zou laten staan (ook als je Standard-PC hebt geinstalleerd zoals in de eerste post) dan zal mini-setup de huidige HAL geinstalleerd laten.

De HAL verwijderen om installatie van de juiste HAL te forceren kan als volgt:
• Voer Sysprep uit en laat het systeem afsluiten.
• Start het systeem vanuit Windows PE (kan ook via bijvoorbeeld de command prompt van de Windows 7 Recovery Console).
• Start regedit en laad C:\Windows\system32\config\SYSTEM (of een andere drive waar Windows XP op staat) en noem de hive (bijvoorbeeld) SYSXP
• Verwijder de hele HKLM\SYSXP\ControlSet001\Enum hive behalve:
HKLM\SYSXP\ControlSet001\Enum\Root\LEGACY*
HKLM\SYSXP\ControlSet001\Enum\Root\Root\MEDIA
HKLM\SYSXP\ControlSet001\Enum\Root\Root\MS_
HKLM\SYSXP\ControlSet001\Enum\Root\Root\RDP
• Eventueel kun je ControlSet002 / 003 ook verwijderen om het netjes te maken, vergeet dan niet om HKLM\SYSXP\Select\LastKnownGood de waarde 1 te geven.
• WDS detecteert het HAL-type in een image aan de hand van de volgende key:
HKLM\SYSXP\ControlSet001\Control\Class\{4D36E966-E325-11CE-BFC1-08002BE10318}\0000
Verwijder deze key dus niet als je besluit om het register helemaal te ontdoen van alle sporen van de broncomputer maar je wilt het image wel deployen middels WDS.
defiant schreef op zaterdag 05 juli 2008 @ 16:52:

Beperkingen:
  • Het werkt alleen op 1 processor merk (intel of amd), het is geloof ook wel dit aan te passen door de intel en de amd driver uit te schakelen en de generieke processor driver te gebruiken, en pas na uitrollen de juiste processor driver te starten. Dit heb ik echter nog niet geprobeerd.
Verwijderen van de driver werkt dus ook: HKLM\SYSTEM\ControlSet001\Services\intelppm
PnP maakt de driver automatisch weer aan indien nodig.

En dan nog mijn vraag:

Werkt E_ISA_UP uberhaupt wel op een Vista / NT 6.x boot image? Volgens mij is het HAL-probleem in Vista niet door Microsoft opgelost, maar door de fabrikanten van hardware omdat alle hardware minimaal ACPIPIC_UP compatible zijn.

In dat geval zou het beter zijn om ACPIAPIC_UP te forceren in een 32-bit Windows 7 boot image (omdat Windows 7 ook ACPIAPIC_UP images toont in een ACPIAPIC_MP configuratie) en dus zou het beter zijn om een ACPIAPIC_UP basis image te bouwen.

Bovendien zou het forceren van ACPIAPIC_UP het ook mogelijk maken om NT 5.x x64 images te deployen, daar NT 5.x x64 geen E_ISA_UP of ACPIPIC_UP kent.

[ Voor 10% gewijzigd door Trommelrem op 26-11-2010 17:58 ]

Pagina: 1