Im folgenden wird beschrieben, wie man mit Hilfe von Linbo die Daten von bestehenden Windows-7- oder Windows-8-Installationen sichern kann und damit die Rechner mit Windows 10 aktivieren kann.
PS. Die Anwendung dieses Verfahrens funktioniert heute 14.02.2021 immer noch! Mit neueren Versionen funktioniert das Verfahren nicht. Bis zur Version vom 14. Juli 2020 – KB4565503 (BS-Build 19041.388) funktionierts.
Auf dem Installationsmedium gibt es im Verzeichnis sources
die ausführbare Datei gatherosstate.exe
. Führt man diese auf einem aktivierten Client (Windows 7 oder Windows 8[.1]) aus, speichert er eine XML-Datei, mit der man später ein frisch installiertes Windows 10 auf dem gleichen Rechner aktivieren kann, in dem man diese Datei in den Ordner C:\ProgramData\Microsoft\Windows\ClipSVC
kopiert (und einmal neu startet).
Diesen Prozess kann man fein mit Linbo nutzen - denn dank Imaging spart man sich die mühsame und mit mehreren Neustarts verbundene Installation und kann die Datei vor dem Systemstart sogar automatisch hineinkopieren. Dank Login-Skripten kann man auch das sammeln der GenuineTicket-Dateien automatisieren.
So kann man mit vertretbar viel Aufwand sein gesamtes Netz kostenlos zu Windows 10 migrieren und verabschiedet sich nebenbei von der Aktivierungsproblematik - zumindest, bis Microsoft sich etwas neues einfallen lässt…
Zunächst kopiert man die Datei gatherosstate.exe
nach /home/samba/netlogon
Dann erstellt man einen Ordner im Schultauschverzeichnis (bei uns /home/share/Schule/.OSSTATE
). Dieser Ordner muss schulweit les- und schreibbar gemacht werden (chown pgmadmin:teachers /home/share/Schule/.OSSTATE && chmod a+rw /home/share/Schule/.OSSTATE
). Dass die Dateien für jedermann zugänglich sind, dürfte kein Problem sein da sie nur auf den Rechnern funktionieren, auf denen sie erstellt wurden (kein „Lizenzdiebstahl“ möglich). Wer Sorge hat, dass die Dateien von Schülern gelöscht werden, kann täglich per Cronjob sichern.
Am Ende der login.bat
erstellt man einen neuen Abschnitt:
set SERVER=10.16.1.1 ... REM sichere aktivierungsdaten für windows 10 c: cd \ md tmp cd tmp copy \\%SERVER%\netlogon\gatherosstate.exe c:\tmp\ gatherosstate.exe copy GenuineTicket.xml "\\%SERVER%\share\Schule\.OSSTATE\GenuineTicket.xml_%computername%" del gatherosstate.exe del GenuineTicket.xml cd \ rd tmp
Dies erzeugt bei jeder Anmeldung die Tickets für jeden Rechner.
Anm.: Hat man alle Tickets gesammelt, dann kann man diesen Abschnitt wieder löschen!
Auf einem der Rechner, auf dem man vorher ein Ticket erstellt hat, installiert man in die von Linbo angelegte Partition ein frisches Windows 10. Nachdem alles soweit eingerichtet ist (Windows ist nicht aktiviert), erstellt man ein Image (erst, wenn die 3-4 nötigen Neustarts von Windows abgeschlossen sind). Bei uns war das Image 5,6 GB groß - und hat innerhalb von wenigen Minuten „neu+start'ed“.
Zunächst muss man sicherstellen, dass linbo auf die XML-Dateien zugreifen kann. Dafür kopiert/verschiebt/verlinkt man das OSSTATE-Verzeichnis:
ln -s /home/share/Schule/.OSSTATE /var/linbo/osstate
Nun erstellt man eine zum unter 2) erstellten Cloop passende Postsyncdatei, z.B. touch /var/linbo/img_win10.cloop.postsync
.
Inhalt der Datei:
# Win10-Activation-Postsync # (benötigt Dateien der Form GenuineTicket.xml_<hostname> im Verzeichnis /var/linbo/osstate) echo "##### POSTSYNC BEGIN #####" server="10.16.1.1" windev="/dev/sda1" host=$(hostname) echo "patche GenuineTicket auf $host ($windev)" umount /mnt mount $windev /mnt rsync $server::linbo/osstate/GenuineTicket.xml_$host /mnt/ProgramData/Microsoft/Windows/ClipSVC/GenuineTicket.xml umount /mnt #rm -rf /osstate echo "##### POSTSYNC END #####"
Wird nun ein Rechner, von dem vorher die GenuineTicket.xml
gesichert wurde, mit dem Windows 10 Image synchronisiert, wird automatisch das richtige Ticket in das korrekte Verzeichnis geschrieben und der Rechner sollte nach einem (Neu?)Start aktiviert sein (und es bleiben).
Auf dem Image-Rechner oder jedem anderen Rechner, von dem ein Ticket vorhanden ist, kopiert man die GenuineTicket.xml_%computername%
ohne die Computernamen-Erweitung in den Ordner C:\ProgramData\Microsoft\Windows\ClipSVC
.
Nach einem Neustart (vielleicht dank Postsync sogar ohne - bisher ungetestet) ist Windows 10 aktiviert.