Partitionierung Windows 7 und unattend.xml

axelklos
Beiträge: 9
Registriert: 14 Dez 2011, 21:35

Re: Partitionierung Windows 7 und unattend.xml

Beitrag von axelklos »

d.oertel hat geschrieben:Hi,

werf mal in c:\tmp ein Blick auf
postinst.log
diskpart.txt
postinst.scripts

Dort siehst Du was tatsächlich passiert ist .....

gruss
d.oertel

in der postinst.log sehe ich folgendes .. sieht fast so aus als ob der die diskpart.txt nicht abarbeitet:.

die diskpart.txt wird doch nachher wieder gelöscht

[23.12.2011 16:13:07,11] Copying X:\opsi\diskpart.txt to c:\tmp
1 file(s) copied.
[23.12.2011 16:13:07,12] Executing: diskpart.exe /S c:\tmp\diskpart.txt

Microsoft DiskPart version 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
On computer: NAMEORG-OTPB4LM

Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 120 GB 0 B

Disk 0 is now the selected disk.

Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 Primary 116 GB 31 KB
Partition 2 Primary 4000 MB 116 GB

Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 D opsi 4.0 cl CDFS DVD-ROM 65 MB Healthy
Volume 1 C WINDOWS NTFS Partition 116 GB Healthy System
Volume 2 X WINPE FAT32 Partition 4000 MB Healthy

Partition 2 is now the selected partition.

DiskPart successfully deleted the selected partition.

Partition 1 is now the selected partition.

DiskPart successfully extended the volume.

Leaving DiskPart...
[23.12.2011 16:13:09,59] Deleting c:\tmp\diskpart.txt
[23.12.2011 16:12:38,24] Executing c:\tmp\postinst.d\99_cleanup.cmd
Godfather
Beiträge: 3
Registriert: 16 Okt 2008, 16:06
Wohnort: Kamp-Lintfort
Kontaktdaten:

Re: Partitionierung Windows 7 und unattend.xml

Beitrag von Godfather »

Hallo zusammen...
ich habe ein ähnlich geartetes Problem. Allerdings mit 2008R2...das ist aber nur nebensächlich.

Ich will einen Windows Server 2008 R2 über Opsi installieren und anpassen. Soweit, so gut. Das ganze System läuft auf nem ESXi 5.0.0.

Dem Server werden zwei Festplatten zugewiesen:

Festplatte 1: 35 Gig
Festplatte 2: 100 Gig

Nun habe ich sowohl mit diskpart.txt, als auch mit der unattend.xml experimentiert, um die zweite Platte zu formatieren. Gedacht habe ich dabei an den Standard, den Windows bzw ich bei einer händischen Installation anlegen:

Disk 1:
100MB: Boot
34900MB: System

Disk 2:
100GB: Daten

Kurioserweise fliegt mir die Installation mit der Unattend.xml schon während des Setups um die Ohren. Hier mal der entsprechende Disk-Bereich (nach einem Technet-Artikel):

Code: Alles auswählen

			<DiskConfiguration>
				<WillShowUI>OnError</WillShowUI>
				<Disk wcm:action="add">
					<DiskID>0</DiskID>
					<WillWipeDisk>false</WillWipeDisk>
					<!--
					<CreatePartitions>
						<CreatePartition wcm:action="add">
							<Order>1</Order>
							<Type>Primary</Type>
							<Size>20000</Size>
						</CreatePartition>
					</CreatePartitions>
					-->
					<ModifyPartitions>
						#@modify_partitions*#
					</ModifyPartitions>
				</Disk>

				<Disk wcm:action="add">
					<DiskID>1</DiskID>
					<WillWipeDisk>true</WillWipeDisk>
					<!--
					<CreatePartitions>
						<CreatePartition wcm:action="add">
							<Order>1</Order>
							<Type>Primary</Type>
							<Extend>true</Extend>
						</CreatePartition>
					</CreatePartitions>
					-->
					<ModifyPartitions>
						<!-- Data partition -->
						<ModifyPartition wcm:action="add">
							<Order>1</Order> 
							<PartitionID>1</PartitionID> 
							<Label>Data</Label> 
							<Letter>D</Letter> 
							<Format>NTFS</Format>
						</ModifyPartition>
					</ModifyPartitions>
				</Disk>
			</DiskConfiguration>

Wie man sieht habe ich die Modifikationen für Opsi der ersten Platte dringelassen.

Lasse ich den Bereich raus, ist anschließend scheinbar alles OK (bis auf die fehlende Festplatte)...aber nur scheinbar. Denn anstelle der 2 gewohnten Partitionen sind plötzlich Boot- und Systempartition zu einer verschmolzen.

Also nochmal recherchiert und die Installation erneut gestartet.

Diesmal habe ich per Shift+F10 die Commandlie geöffnet und mir das mal genauer angesehen. Interessanterweise wird eine Partition C angelegt, auf welcher die Boot-Dateien, sowie die OPSI-Datein zu liegen scheinen. Laufwerk D ist die Windows-Partition - ich vermute, das Label "D" in der XML kollidiert hier mit der Installationsroutine, oder mir ist in der xml- Datei ein Fehler unterlaufen.

Also habe ich versucht, die Partitionierung über die diskpart.txt zu machen (wahrscheinlich habe ich hier Fehler gemacht):

Code: Alles auswählen

LIST DISK
LIST VOLUME
SEL DIS 0
LIST PARTITION
SEL DIS 1
CLEAN
LIST PARTITION
CREATE PARTITION PRIMARY
SEL PAR 1
FORMAT FS=NTFS LABEL="Daten" QUICK COMPRESS
ASSIGN LETTER=D
EXIT
Nach der Installation sieht die Partitionierung jedoch ähnlich aus: Eine einzige Partition, die Boot- und Systempartition vereint.

Der Blick ins tmp-Verzeichnis ist ernüchternd: Keine diskpart.txt zu finden.


Nun ist es aber für uns Gang und Gäbe, wichtige Daten von Benutzern auf eine separate Festplatte (in unserem Falle D) zu speichern, nicht auf die Systempartition.

Wie kann ich das bewerkstelligen?

Vielen Dank schonmal im Voraus

Patrick
Godfather
Beiträge: 3
Registriert: 16 Okt 2008, 16:06
Wohnort: Kamp-Lintfort
Kontaktdaten:

Re: Partitionierung Windows 7 und unattend.xml

Beitrag von Godfather »

Nachtrag:

Sehr interessant:

Inzwischen habe ich es geschafft, über die setup.py die zweite Festplatte direkt zu Beginn zu partitionieren.

Leider scheint aber die Installationsroutine statisch an irgendwelche Umstände gebunden zu sein: Wird schon während der Installation Laufwerk D (also zweite Festplatte komplett partitioniert und formatiert) eingerichtet, so werden zwar alle Daten temporär auf die Festplatte kopiert, nach dem nächsten Neustart passieren jedoch kuriose Dinge:

- War noch kein Windows installiert, bricht die Installationsroutine mit der Meldung fehlender Startdateien ab.
- War bereits ein Windows installiert, wird dieses gestartet.

Im zweiten Fall ist es möglich, sich in der Datenträgerverwaltung anzusehen, was geschehen ist:
Bei zwei Festplatten wird die OPSI-Partition nicht auf der ersten Platte erzeugt, sondern auf der zweiten und zwar als zweite Partition.

Warum die diskpart.txt, welche auf dem Server liegt, nicht verwendet wird, ist mir nun auch klar: In der setup.py wird dynamisch eine diskpart.txt erzeugt, welche dann anscheinend verwendet wird.

Eigentlich bin ich kein Freund von unsauberen Lösungen...da aber auch mein Versuch, die Partitionierung über eine von mir 85_repartitiond.cmd genannte Datei unter opsi/postinst.d umzusetzen auch scheiterte, da diese Datei nur sporadisch abgearbeitet wird (nur wenn ich z.B. eine Pause einbaue), bleibt mir nur der Eingriff in die setup.py. Hier füge ich die entsprechenden Zeilen zur Partitionierung ein, und schon klappt es.

Hier die Datei 85_repartitiond.cmd

Code: Alles auswählen

rem --- Manage partitions on second Harddisk
echo [%date% %time%] Creating diskpartd.txt in %tmp_dir%
echo LIST DISK > %tmp_dir%\diskpartd.txt
echo LIST VOLUME >> %tmp_dir%\diskpartd.txt
echo SEL VOL 0 >> %tmp_dir%\diskpartd.txt
echo ASSIGN LETTER=E >> %tmp_dir%\diskpartd.txt
echo SEL DIS 0 >> %tmp_dir%\diskpartd.txt
echo LIST PARTITION >> %tmp_dir%\diskpartd.txt
echo SEL DIS 1 >> %tmp_dir%\diskpartd.txt
echo CLEAN >> %tmp_dir%\diskpartd.txt
echo LIST PARTITION >> %tmp_dir%\diskpartd.txt
echo CREATE PARTITION PRIMARY >> %tmp_dir%\diskpartd.txt
echo SEL PAR 1 >> %tmp_dir%\diskpartd.txt
echo FORMAT FS=NTFS LABEL="Daten" QUICK >> %tmp_dir%\diskpartd.txt
echo ASSIGN LETTER=D >> %tmp_dir%\diskpartd.txt
echo EXIT >> %tmp_dir%\diskpartd.txt

cd %tmp_dir%
echo [%date% %time%] Executing: diskpart.exe /S %tmp_dir%\diskpartd.txt
diskpart.exe /S %tmp_dir%\diskpartd.txt

rem Wenn die folgende Pause wieder einkommentiert wird, bleibt zwar die Commando-Box bis zu einem Tastendruck offen, aber die Partitionierung klappt
rem pause 
Hier die Anpassungen in der setup.py

Code: Alles auswählen

print >> f, "SEL VOL 0\r"
print >> f, "ASSIGN LETTER=E\r"
print >> f, "SEL DIS 0\r"
print >> f, "LIST PARTITION\r"
print >> f, "SEL DIS 1\r"
print >> f, "CLEAN\r"
print >> f, "LIST PARTITION\r"
print >> f, "CREATE PARTITION PRIMARY\r"
print >> f, "SEL PAR 1\r"
print >> f, "FORMAT FS=NTFS QUICK\r"
print >> f, "ASSIGN LETTER=D\r"

Kann das jemand bestätigen? Handelt es sich vielleicht um einen Fehler? Oder ist meine Anforderung einer zweiten Festplatte in einem Server so abwägig?
topse
Beiträge: 34
Registriert: 31 Mär 2012, 00:11

Re: Partitionierung Windows 7 und unattend.xml

Beitrag von topse »

Ich kann das bestätigen... OPSI legt seine Images leider auf einer 2. Festplatte an, wenn
  • eine zweite Platte vorhanden ist
  • die zweite Platte leer (also ohne Partitionen) ist
Folge:
  • Beim nächsten Booten wird das alte System wieder gestartet...
setup.py zu patchen habe ich nicht allzu große Lust - aber es scheint nichts anderes übrig zu bleiben?

Gruß,
Tobias
Benutzeravatar
ueluekmen
uib-Team
Beiträge: 1940
Registriert: 28 Mai 2008, 10:53

Re: Partitionierung Windows 7 und unattend.xml

Beitrag von ueluekmen »

Hi,

opsi hatte schon immer Probleme mit zwei Festplatten, dass liegt aber mehr an linux (am kernel um genauer zu sein) als an opsi. Aber ich habe schon ewig nichts mehr davon gehört. Könnt Ihr eure Systeme etwas genauer beschreiben? Welcher Hersteller, Modell, Plattentyp und Anordnung wäre auch hilfreich, also wenn es SATA Platten sind, wovon ich mal ausgehe, wie Sie auf dem Board angeschlossen sind, zb. Ports etc. Vielleicht hat sich in der Zwischenzeit auch bei den Kernel-Entwicklern an der Stelle was getan.


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


Antworten