Ich bin hier noch die Antwort schuldig, wie die Nummer letztendlich gelöst wurde. Zusammengefasst will bzw. musste ich folgendes bei
850 Geräten (
) machen:
1. Bios Einstellungen auf Default zurück
2. Bios Passwort löschen
3. Festplatte löschen
Ich habe mir also einen Arduino micro pro besorgt. Das Teil hat im Gegensatz zu normalen Arduinos keinen Wandlerchip für seriell zu USB, sondern den USB Controller direkt on-die. Damit kann es Tastatur- und Mauseingaben simulieren, dabei sieht der jeweilige PC nur eine Tastatur.
Den Arduino hab ich mit ein paar 4,7kOhm Vorwiderständen und ein paar Tastern auf ein Breadboard gesteckt. Jede Taste löst im Programm einen anderen Loop aus. Damit kann ich also verschiedene Eingaben automatisiert ausführen. Das Rad braucht man natürlich nicht neu erfinden, das haben andere bereits übernommen
Damit steht die Hardware, ich habe mir insgesamt drei Knöpfe (für drei Makros) gebaut, wovon ich letztendlich zwei gebraucht habe.
Hinweis:
Bitte nutzt unbedingt eine Taste, einen Jumper o.Ä. zum Aufrufen der Makros auf dem Arduino. Lässt man das Teil einfach automatisiert beim Anschließen loslegen, dann ergibt sich schnell ein Problem: Beim Anschluss an den normalen PC würde das Teil ebenfalls losspammen, was die nächste Programmierung unmöglich macht. Man sollte also mindestens einen Jumper oder Schalter setzen, der abgefragt wird, bevor die Makros laufen. Ich habe mehrere Taster für den Makroaufruf eingesetzt.
Die Doku von Arduino dazu:
https://docs.arduino.cc/tutorials/micro/keyboard-press
Meine PCs haben den extrem kurzen Tastendruck von keyboard.write() nicht zuverlässig registriert, ich bin daher notgedrungen auf keyboard.press() und .release() ausgewichen. Ein "halten" der Taste für ~300ms mittels eines delay() hat dabei gut funktioniert. Also press Taste1 -> delay -> release Taste1 -> delay -> press Taste2 und so weiter. Anders wurden die Anschläge nicht zuverlässig umgesetzt.
Zum Formatieren habe ich mir DBAN ausgesucht, weil es einen "schnellen" Modus hat den man mit der Eingabe von "quick" + Enter aufrufen kann. Der Rest läuft automatisch durch - perfekt. An dieser Stelle ein Wort der Warnung:
"quick" überschreibt nur einmalig, das gilt nicht unbedingt als sicherste Methode! In meinem Fall waren keine sensiblen Daten auf den Systemen, deshalb war das ausreichend. Bei euch kann das anders aussehen, also bitte einen für euch passenden Modus wählen.
Achtet außerdem darauf, das man SSDs besser via Secure Erase löscht und nicht via DBAN, da SSDs im Gegensatz zu HDDs von der Firmware des Laufwerks nicht zwingend sequenziell beschrieben werden. Ein Tool welches den Secure Erase automatisiert umsetzt habe ich nicht gefunden. Ideen dazu sind hier im Thread weiter oben.
Umgesetzt habe ich es so:
1. PC an Monitor, Strom und arduino anschließen, außerdem DBAN Stick (erstellt mit RUFUS 3.19p) anschließen.
2. PC starten, 1-2s warten
3. Knopf 1 auf Arduino drücken - dies aktiviert das erste Makro
4. Makro 1 läuft und macht folgendes:
während POST F2 spammen um ins Bios zu kommen
bios passwort eingeben
durchs bios navigieren, als erstes Defaults laden, dann USB Sticks als primäres Bootlaufwerk setzen, PW entfernen und zuletzt save & reboot
5. nach dem Bootvorgang startet der PC direkt in dban rein
6. Knopf 2 auf Arduino drücken, Makro 2 gibt "autonuke" ein und DBAN erledigt den Rest
7. Job done, Profit!
Auch hier wieder ein kleiner Hinweis:
Das Award UEFI hat in meinem Fall beim Laden der Defaults alles überschrieben was gesetzt wurde. Heisst entfernt man das PW und lädt dann die Defaults, ist das PW nach dem Reboot wieder drauf! Deshalb habe ich die Reihenfolge umgedreht: Erst Defaults laden, dann "Prefer USB Boot" und "enable USB Boot" einschalten und das PW runterschmeissen. Das ist maximal dämlich, aber vermutlich ein Feature und kein Bug...
Bei der Masse an PCs kann man so gepflegt 10 Stück parallel laufen lassen. DBAN Sticks sind kein Problem und den Arduino kann man einfach umstecken.
Das Einzige was echt etwas nervig war und grob 2 Std. an Zeit gefressen hat war das ermitteln der nötigen Eingaben. Ich habe bei 2-3 PCs durchs Bios navigiert und dabei jeden Tastendruck mitgeschrieben. Paar Testläufe gemacht und es ging erstaunlich gut.
Bei 850 Geräten waren am Ende ~30 dabei wo das Timing der Eingaben nicht gepasst hat und händisch zurückgesetzt werden musste.
EDIT:
Hinweise als Zitate eingefügt, die mir als Stolpersteine aufgefallen sind.