Skip to main content

BW Lehrpool Installation auf dem Client

  1. WICHTIG! Windows muss zuerst installiert werden danach erst BW Lehrpool
  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. es gibt 2 Methoden Partitionen zu erstellen einmal via dem Tool „Datenträgerverwaltung/Disk Management“ oder via Diskpart. für DiskPart springe zu Punkt 19
  6. dafür machen wir einen rechtsklick auf System C und wählen Shrink Volume/Volume Verkleinern

  7. embedded-image-GlwuHvHg.png
  8. 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.

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

  10. Das verkleinerte Volumen nennen wir OpenSLX-ID44

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

  12. bei MBR und GPT sind leichte unterschiede der IDs

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

  14. 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.

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

  16. Ü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.

  17. image.png
  18. Dort sollte der Punkt "Temporary Directory" 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.
  19. Für die Manuelle Partitionierung mit Diskpart und die Nutzung mit GUID nutzen wir einen Powershell Script dieser muss mit dem Administrator ausgeführt werden Win10 und Win11 (24H2 getestet) werden unterstützt.

  20. # ==============================================================================
    # 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 60.000 MB (ca. 60 GB) -> 50 GB für Lehrpool1 + 10 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=10000
    set id=87f86132-ff94-4987-b250-828282828282
    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: 10 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..."
  21. Wenn der Script erfolgreich war können wir mit diesen Befehlen in Powershell nochmals abfragen ob die GUID richtig gesetzt wurde.
  22. $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}" }