Skip to main content

BW Lehrpool Installation auf dem Client

  1. WICHTIG! Windows muss zuerst installiert werden danach erst BW Lehrpool, für Lehrpool muss Secureboot deaktiviert sein.
  2. Windows mit Admin einloggen
  3. Seit Windows 11 24H2 sind standardmäßig nach der Installation schon folgende 3 Partitionen erstellt: 1. EFI-SystemPartition 2. Wiederherstellungspartition und die Hauptpartition in diesem Fall System C.
  4. Das darauf folgende bezieht sich nur auf System C (die Hauptpartition)

  5. zu dem gibt es 2 varianten jeweils eine für GPT und MBR jenachdem welche muss man die Partitionen auch anders Labeln Bzw eine andere ID vergeben. (Siehe Tabelle)
  6. MBR (hex. ID) GPT (GUID) Partition-Label
    44 87f86132-ff94-4987-b250-444444444444 OpenSLX-ID44
    45 87f86132-ff94-4987-b250-454545454545 OpenSLX-ID45
  7. Wird MBR verwendet, muss die temporäre Partition die Partition-ID 44/45 (hex) besitzen.

  8. Wird GPT verwendet, muss die temporäre Partition entweder

    1. das Label OpenSLX-ID44/OpenSLX-ID45

    2. oder den Partition-Type 87f86132-ff94-4987-b250-444444444444 oder 87f86132-ff94-4987-b250-454545454545 gesetzt haben.

  9. es gibt 2 Methoden Partitionen zu erstellen einmal via dem Tool „Datenträgerverwaltung/Disk Management“ oder via Diskpart. für DiskPart springe zu Punkt 2321
  10. dafür machen wir einen rechtsklick auf System C und wählen Shrink Volume/Volume Verkleinern

  11. embedded-image-GlwuHvHg.png
  12. für die zwei Partitionen die für BW Lehrpool benötigt sind 50gb und 10gb empfohlen, je kleiner die Speichergröße desto weniger freien Arbeitsspeicher hat man, da diese Partitionen überwiegend für das caching genutzt wird um die VM des Servers nicht zu überlasten.

  13. also benötigen wir 60GB für das Verkleinern des 1.Volumens

  14. Das verkleinerte Volumen nennen wir OpenSLX-ID44

  15. Dieses Volumen verkleinern wir dann nochmal um 10GB um die Partition OpenSLX-ID45 zu erstellen

  16. bei MBR und GPT sind leichte unterschiede der IDs

  17. Wird MBR verwendet, muss die temporäre Partition die Partition-ID 44/45 (hex) besitzen.

  18. Wird GPT verwendet, muss die temporäre Partition entweder

    1. das Label OpenSLX-ID44/OpenSLX-ID45

    2. oder den Partition-Type 87f86132-ff94-4987-b250-444444444444 oder 87f86132-ff94-4987-b250-454545454545 gesetzt haben.

  19. In diesem Fall nutzen wir GPT und die Option via Partition-Label. Falls die GUID genutzt wird springe zu Punkt 2321


ÜBERPRÜFUNG nach der Erstellung dieser beiden Partitionen können wir den PC neustarten den boot in Lehrpool machen zur Kontrolle können wir im Anmeldebildschirm die Tastenkombination (Ctrl+Shift+F1) ausführen um sicher zugehen das BWLehrpool auf die Partition zugreifen kann.

  1. image.png
Dort sollte der Punkt "Temporary DirectoryÜberprüfung" angezeigt werden, steht dort die Festplatten Bezeichnung in dem Fall z.B. HDD dann greift BW Lehrpool auf die Platte zu alles richtig gemacht. Sollte dort RAMDISK stehen ist dies falsch und er erkennt die ID nicht.
  1. Ein Fehler könnte auch so aussehen PXL_20260723_111800300_crop.jpg
  2. Falls der Fehler weiterhin besteht nutzen wir das 2te verfahren via GUID (Springe zu Punkt 23)21)

Für die Manuelle Partitionierung mit Diskpart und die Nutzung mit GUID nutzen wir einendiese Powershell Script dieser muss mit dem Administrator ausgeführt werden Win10 und Win11 (24H2 getestet) werden unterstützt. Part.Batcommands.

# ==============================================================================
# Lehrpool-Automatisierung via PowerShell & Diskpart
# ==============================================================================

# 1. Admin-Rechte prüfen und ggf. anfordern
if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
    Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs
    exit
}

Clear-Host
Write-Host "==========================================" -ForegroundColor Cyan
Write-Host "   Lehrpool Automatisches Setup Starts   " -ForegroundColor Cyan
Write-Host "==========================================" -ForegroundColor Cyan
Write-Host ""

# 2. Ermittlung der größten Partition auf der Systemfestplatte (C:)
Write-Host "[1/3] Suche Ziel-Festplatte und -Partition..." -ForegroundColor Yellow
$systemDrive = Get-Partition -DriveLetter C
$diskNum = $systemDrive.DiskNumber
$partNum = $systemDrive.PartitionNumber

Write-Host "-> Gefunden: Festplatte $diskNum, Partition $partNum (Laufwerk C:)" -ForegroundColor Green

# 3. Temporäres Diskpart-Skript erstellen
# Verkleinerung um 150.000 MB (ca. 150 GB) -> 50 GB für Lehrpool1 + 100 GB für Lehrpool2
$scriptPath = "$env:TEMP\diskpart_lehrpool.txt"
$diskpartCommands = @"
select disk $diskNum
select partition $partNum
shrink desired=60000
create partition primary size=50000
set id=87f86132-ff94-4987-b250-444444444444
create partition primary size=100000
set id=87f86132-ff94-4987-b250-454545454545
exit
"@

$diskpartCommands | Out-File -FilePath $scriptPath -Encoding ASCII

# 4. Diskpart mit dem Skript ausführen
Write-Host "[2/3] Führe Diskpart-Befehle aus (Partitionierung laeuft)..." -ForegroundColor Yellow
$process = Start-Process diskpart.exe -ArgumentList "/s `"$scriptPath`"" -Wait -NoNewWindow -PassThru

# Cleanup temporäre Datei
Remove-Item $scriptPath -ErrorAction SilentlyContinue

# 5. Rückmeldung & Überprüfung
Write-Host "[3/3] Überprüfe Ergebnis..." -ForegroundColor Yellow

# Prüfen, ob die beiden neuen Partitionen mit den entsprechenden GUIDs vorhanden sind
$allPartitions = Get-Partition -DiskNumber $diskNum
$p50GB = $allPartitions | Where-Object { $_.GptType -eq "{87f86132-ff94-4987-b250-444444444444}" }
$p10GB = $allPartitions | Where-Object { $_.GptType -eq "{87f86132-ff94-4987-b250-828282828282}" }

Write-Host ""
if ($process.ExitCode -eq 0 -and $p50GB -and $p10GB) {
    Write-Host "==========================================" -ForegroundColor Green
    Write-Host "   SUCCESS / ERFOLG!                      " -ForegroundColor Green
    Write-Host "==========================================" -ForegroundColor Green
    Write-Host "Beide Partitionen wurden erfolgreich erstellt:" -ForegroundColor Green
    Write-Host " - Partition 1: 50 GB (ID: 87f86132-ff94-4987-b250-444444444444)" -ForegroundColor White
    Write-Host " - Partition 2: 100 GB (ID: 87f86132-ff94-4987-b250-828282828282)" -ForegroundColor White
    Write-Host ""
    Write-Host "Der USB-Stick kann jetzt abgezogen werden." -ForegroundColor Green
} else {
    Write-Host "==========================================" -ForegroundColor Red
    Write-Host "   FEHLER / FEHLGESCHLAGEN!               " -ForegroundColor Red
    Write-Host "==========================================" -ForegroundColor Red
    Write-Host "Die Partitionen konnten nicht vollständig erstellt werden." -ForegroundColor Red
    Write-Host "Mögliche Ursachen:" -ForegroundColor Red
    Write-Host " - Nicht genügend freier Speicherplatz auf Laufwerk C:" -ForegroundColor Red
    Write-Host " - Die Festplatte ist geschützt oder belegt." -ForegroundColor Red
}

Write-Host "==========================================" -ForegroundColor Cyan
Write-Host ""
Read-Host "Druecke ENTER zum Beenden..."
Wenn der Script erfolgreich war können wir mit diesen Befehlen in Powershell nochmals abfragen ob die GUID richtig gesetzt wurde.
$allPartitions = Get-Partition -DiskNumber $diskNum
$p50GB = $allPartitions | Where-Object { $_.GptType -eq "{87f86132-ff94-4987-b250-444444444444}" }
$p10GB = $allPartitions | Where-Object { $_.GptType -eq "{87f86132-ff94-4987-b250-828282828282}" }
select disk 0 #wählt die Festpkatte aus
list part #Zeigt die Partitionen auf der Festplatte
select part x
delete part override #ermöglicht das löschen der recovery partition
select disk 0
select part 3
shrink desired=150000 # verkleinert die Hauptpartition (angabe immer in MB)
create partition primary size=50000 # erstellt die erste Partition
set id=87f86132-ff94-4987-b250-444444444444 #vergibt id 44
create partition primary size=100000 #erstellt die zweite partition
set id=87f86132-ff94-4987-b250-454545454545 #vergibt id45
exit