WinPE: originale Laufwerksbuchstaben auslesen und per Batch entsprechend ändern
Hallo, ich grüße Euch!
Mein Problem ist:
Über ein (Batch)Script soll in Windows PE für ein W7-Haupt-System dessen normale LW-HDD-Partitions-Buchstaben automatisch (vorher abgefragt/ausgelesen und dann wieder) hergestellt werden.
Es gibt ja diverse Modder-Szenen, die teils atemberaubende WinPE-Landschaften kreieren und einfach so nebenbei wie selbstverständlich die normal gewohnte LW-Ordnung abliefern, beispielsweise so:
- Systemplatte + nachfolgende Partitionen machen den Anfang: C: D: E: ...
- weitere Hdds folgen darauf: F: G: ...
- Sodann kommt der WinPE-Stick: H:
- und ganz hinten wie üblich (weil zwangsläufig) für das laufende WinPE: X:
Ich kann jetzt natürlich mit meinen einfachen Batchkenntnissen umständlich zu basteln anfangen und mit "IF EXIST..." über diverse Dateien zur LW-Kennung meinen! (weil nur mir bekannten) Buchstaben-Status ermitteln, und dann mit diskpart die Geschichten hin- und herschieben lassen, wobei ich momentan noch nicht mal weiß (ausprobiert habe), ob Batch auch Diskpart frißt.
Erstaunlicherweise weiß auch Google nichts Konkretes dazu, weshalb ich nun hier im Vorzimmer zum lieben Gott nachfrage. Möglicherweise hat ja einer grad zufällig genau solche eine Routine noch von der letzten Weihnachtsbäckerei irgendwo ungenutzt rumliegen, wer weiß?
Wenn ein solches Script genau das komplett macht, was oben beschrieben ist, dann ist es ein feststehendes Programm, das auch keiner weiteren Verbesserungen oder Diskussionen mehr Bedarf, eine kompilierte EXE würde genügen.
Welche Buchstaben-Ordnung genommen wird, könnte verschieden sein (ein Parameter für die EXE : entweder aus der Registry des Hauptsystems die letzte bekannte Anordnung auslesen (vermutlich machen das die Modder so), oder die gleiche Reihnefolge nehmen, in der die HDDs an den SATA-Ports des MB angestöpselt sind, beginnend bei SATA3_0. Und hat eine HDD mehrere Partitionen, kommen diese immer direkt nachfolgend, und dann erst die nächste HDD. Letzter ist immer der Stick, und hinten X:.
Wer hat sowas,
oder kann sowas (FOR...DO...),
oder weiß, wo´s sowas gibt?
Das wäre toll!
Wofür brauche ich das?
Ich will mein eigenes System-Backup mit Robocopy erstellen, so wie ich es früher mit W2K gemacht habe. Das taugt mir mehr als alles Fertige wie Acronis und Konsorten. Aber die absolute Vollautomatik, gell fei: Im Normal-System Doppelklick auf Icon, Kaffee trinken gehen, wieder kommen, und alles ist gemacht samt automatischer Reboot-Schleifen. Backup oder Restore, je nach Menü... 15 Jahre lang hatte ich jetzt diesen Luxus.
Was mir noch Sorge bereitet: Soweit ich Robocopy kenne, macht es nur eine dateibasierte Spiegelung. Für W2K hat das perfekt funktioniert, da waren die systemrelevanten Verzeichnisse noch überschaubar. W7(ff) hingegen hat ja fast in ganz C: seine Metastasen verteilt, und damit nicht genug: eine eigene Bootpartition muß auch noch sein (geht auch ohne, mutu aber zu Fuß machen).
Die Frage ist: Reicht hierfür /MIR /FFT /NDL (wie ich bisher) für ein funktionierendes W7-Backup/Restore aus, angewandt auf System UND Bootpartition, oder hat genau hier Robocopy seine Grenzen? Außerdem (Nachtrag, Schande auf Haupt) bräuchte es auch noch einen Buchstaben für die Bootpartition, z.B. B: ...oder kann das über \\server\share\path erledigt werden? Ich habe damit keine Erfahrung.
Völlig anderer Ansatz: Ist ein zuverläßiges Systembackup/-restore mit WinPE und Robocopy auch OHNE vorherige Ordnung der LW-Buchstaben möglich?. Beispielsweise die beiden Systempartitionen und die Zielpartition per (extra platzierter) Kennungsdateien ermitteln und deren temporäre PE-Buchstaben per Variablen an RC übergeben? Wie hieße dann dieses RC-Skript mit einer solchen Variable?
Egal wie, schick wäre es allemal, in WinPE mit einem Klick (oder über Autostart) die normale LW-Ordnung (zzgl. Besonderheiten) zu haben, was Redmond eigentlich gleich selber abliefern hätte können sollen, nicht erst die ambitionierten Modder. Und ich würd mich auch freuen, immer gleich anfangen zu können, wenn ich mal in PE zu fuß unterwegs bin, und nicht erst kucken zu müssen, "wo ist denn nu diesmal was?" Eigentlich erstaunlich, daß ich darüber nichts in Google gefunden habe, oder?
Viele Grüße, Artemis
Mein Problem ist:
Über ein (Batch)Script soll in Windows PE für ein W7-Haupt-System dessen normale LW-HDD-Partitions-Buchstaben automatisch (vorher abgefragt/ausgelesen und dann wieder) hergestellt werden.
Es gibt ja diverse Modder-Szenen, die teils atemberaubende WinPE-Landschaften kreieren und einfach so nebenbei wie selbstverständlich die normal gewohnte LW-Ordnung abliefern, beispielsweise so:
- Systemplatte + nachfolgende Partitionen machen den Anfang: C: D: E: ...
- weitere Hdds folgen darauf: F: G: ...
- Sodann kommt der WinPE-Stick: H:
- und ganz hinten wie üblich (weil zwangsläufig) für das laufende WinPE: X:
Ich kann jetzt natürlich mit meinen einfachen Batchkenntnissen umständlich zu basteln anfangen und mit "IF EXIST..." über diverse Dateien zur LW-Kennung meinen! (weil nur mir bekannten) Buchstaben-Status ermitteln, und dann mit diskpart die Geschichten hin- und herschieben lassen, wobei ich momentan noch nicht mal weiß (ausprobiert habe), ob Batch auch Diskpart frißt.
Erstaunlicherweise weiß auch Google nichts Konkretes dazu, weshalb ich nun hier im Vorzimmer zum lieben Gott nachfrage. Möglicherweise hat ja einer grad zufällig genau solche eine Routine noch von der letzten Weihnachtsbäckerei irgendwo ungenutzt rumliegen, wer weiß?
Wenn ein solches Script genau das komplett macht, was oben beschrieben ist, dann ist es ein feststehendes Programm, das auch keiner weiteren Verbesserungen oder Diskussionen mehr Bedarf, eine kompilierte EXE würde genügen.
Welche Buchstaben-Ordnung genommen wird, könnte verschieden sein (ein Parameter für die EXE : entweder aus der Registry des Hauptsystems die letzte bekannte Anordnung auslesen (vermutlich machen das die Modder so), oder die gleiche Reihnefolge nehmen, in der die HDDs an den SATA-Ports des MB angestöpselt sind, beginnend bei SATA3_0. Und hat eine HDD mehrere Partitionen, kommen diese immer direkt nachfolgend, und dann erst die nächste HDD. Letzter ist immer der Stick, und hinten X:.
Wer hat sowas,
oder kann sowas (FOR...DO...),
oder weiß, wo´s sowas gibt?
Das wäre toll!
Wofür brauche ich das?
Ich will mein eigenes System-Backup mit Robocopy erstellen, so wie ich es früher mit W2K gemacht habe. Das taugt mir mehr als alles Fertige wie Acronis und Konsorten. Aber die absolute Vollautomatik, gell fei: Im Normal-System Doppelklick auf Icon, Kaffee trinken gehen, wieder kommen, und alles ist gemacht samt automatischer Reboot-Schleifen. Backup oder Restore, je nach Menü... 15 Jahre lang hatte ich jetzt diesen Luxus.
Was mir noch Sorge bereitet: Soweit ich Robocopy kenne, macht es nur eine dateibasierte Spiegelung. Für W2K hat das perfekt funktioniert, da waren die systemrelevanten Verzeichnisse noch überschaubar. W7(ff) hingegen hat ja fast in ganz C: seine Metastasen verteilt, und damit nicht genug: eine eigene Bootpartition muß auch noch sein (geht auch ohne, mutu aber zu Fuß machen).
Die Frage ist: Reicht hierfür /MIR /FFT /NDL (wie ich bisher) für ein funktionierendes W7-Backup/Restore aus, angewandt auf System UND Bootpartition, oder hat genau hier Robocopy seine Grenzen? Außerdem (Nachtrag, Schande auf Haupt) bräuchte es auch noch einen Buchstaben für die Bootpartition, z.B. B: ...oder kann das über \\server\share\path erledigt werden? Ich habe damit keine Erfahrung.
Völlig anderer Ansatz: Ist ein zuverläßiges Systembackup/-restore mit WinPE und Robocopy auch OHNE vorherige Ordnung der LW-Buchstaben möglich?. Beispielsweise die beiden Systempartitionen und die Zielpartition per (extra platzierter) Kennungsdateien ermitteln und deren temporäre PE-Buchstaben per Variablen an RC übergeben? Wie hieße dann dieses RC-Skript mit einer solchen Variable?
Egal wie, schick wäre es allemal, in WinPE mit einem Klick (oder über Autostart) die normale LW-Ordnung (zzgl. Besonderheiten) zu haben, was Redmond eigentlich gleich selber abliefern hätte können sollen, nicht erst die ambitionierten Modder. Und ich würd mich auch freuen, immer gleich anfangen zu können, wenn ich mal in PE zu fuß unterwegs bin, und nicht erst kucken zu müssen, "wo ist denn nu diesmal was?" Eigentlich erstaunlich, daß ich darüber nichts in Google gefunden habe, oder?
Viele Grüße, Artemis
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 305463
Url: https://administrator.de/contentid/305463
Ausgedruckt am: 22.11.2024 um 07:11 Uhr
9 Kommentare
Neuester Kommentar
Moin,
Es ist zwar ein paar Tage her, dass ich WinPE gebootet habe, aber wenn ich mich recht entsinne fängt WinPE an deine Laufwerke von C-X durchzu"nummerieren". Deine gesuchte Bootpartition sollte also C: sein und alles andere Laufwerksbuchstabe+1 also C wird D, D wird E usw.
Ansonsten findest du deine Platten mit Laufwerksbuchstabenzuordnung auch unter "HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices".
Was mich allerdings wundert ist, warum du den ganzen Kram imagen willst. Ist nicht mehr wirklich "State of the Art". Backup der privaten Daten machen und im Zweifel halt wirklich neu installieren schon eher. inzwischen gibt es auch genug Helfer um sowas dann weitestgehend zu automatisieren.
An sich lehnt sich das ganze an Windows an:
http://www.hanselman.com/blog/AptGetForWindowsOneGetAndChocolateyOnWind ...
https://chocolatey.org/
Nun denn, viel Erfolg beim Basteln ;)
Gruß
Chris
Es ist zwar ein paar Tage her, dass ich WinPE gebootet habe, aber wenn ich mich recht entsinne fängt WinPE an deine Laufwerke von C-X durchzu"nummerieren". Deine gesuchte Bootpartition sollte also C: sein und alles andere Laufwerksbuchstabe+1 also C wird D, D wird E usw.
Ansonsten findest du deine Platten mit Laufwerksbuchstabenzuordnung auch unter "HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices".
Was mich allerdings wundert ist, warum du den ganzen Kram imagen willst. Ist nicht mehr wirklich "State of the Art". Backup der privaten Daten machen und im Zweifel halt wirklich neu installieren schon eher. inzwischen gibt es auch genug Helfer um sowas dann weitestgehend zu automatisieren.
An sich lehnt sich das ganze an Windows an:
http://www.hanselman.com/blog/AptGetForWindowsOneGetAndChocolateyOnWind ...
https://chocolatey.org/
Nun denn, viel Erfolg beim Basteln ;)
Gruß
Chris
Braucht man doch garnicht. Ich kann ja per WMI/Powershell/WMIC die Seriennnummer des Datenträgers abfragen und auf mein gewünschten Buchstaben mappen, dann Backup restoren oder erstellen.
gwmi win32_Volume
Und "ja" WMI oder Powershell funktionieren auch unter Windows PE einwandfrei.
Die Boot-Partition braucht man eigentlich gar nicht mitsichern, denn diese lässt sich mit einem simplen bcdboot Befehl komplett mit Inhalt nach einem Restore wiederherstellen!
Dein Vorhaben die Buchstaben genau gleich zu mappen ist also vollkommen unnötig, sorry. Daran ändert auch dein "Roman" nichts.
Gruß skybird.
gwmi win32_Volume
Und "ja" WMI oder Powershell funktionieren auch unter Windows PE einwandfrei.
Die Boot-Partition braucht man eigentlich gar nicht mitsichern, denn diese lässt sich mit einem simplen bcdboot Befehl komplett mit Inhalt nach einem Restore wiederherstellen!
Dein Vorhaben die Buchstaben genau gleich zu mappen ist also vollkommen unnötig, sorry. Daran ändert auch dein "Roman" nichts.
Gruß skybird.
Hallo artemis,
Und manchmal gibt es durchaus andere/bessere Wege ein Ziel zu erreichen, daher solltest du dich nicht direkt gegen andere Vorschläge verschließen.
Beste Grüße!
Zitat von @Artemis:
Die Frage steht ganz oben im ersten Satz, perfekt formuliert.
Warum ich das will, spielt keine Rolle. Möglicherweise weil es mir gefällt.
Die Motivation, sich mit deiner Frage auseinanderzusetzen steigt deutlich, wenn man auch versteht, warum du genau diesen Weg gehen willst/musst. Daher spielt das ganze schon eine Rolle.Die Frage steht ganz oben im ersten Satz, perfekt formuliert.
Warum ich das will, spielt keine Rolle. Möglicherweise weil es mir gefällt.
Und manchmal gibt es durchaus andere/bessere Wege ein Ziel zu erreichen, daher solltest du dich nicht direkt gegen andere Vorschläge verschließen.
Wer kann ein Skript anbieten?
Es gibt bestimmt Leute, die dir etwas Passendes entwickeln... Scheinbar ist es jedoch nicht ganz unproblematisch. Ob dein Auftreten jedoch die Motivation fördert, das in der Freizeit nebenher zu tun wage ich zu bezweifeln.Beste Grüße!
Moin,
Das ist etwas sehr umständlich. Die Laufwerkszuordnung wird über die Registry gemacht. Heißt, der einzige weg, das sauber hinzubekommen wäre Registry importieren, auslesen, IDs vergleichen. Inwiefern diese IDs überhaupt zwischen Windows und WinPE Umgebung übereinstimmen, kann ich dir nicht sagen. Was WinPE dir als "Kraut und Rüben" ist die physische Reinfolge. Also disk0,partition0 = C Disk0,opartition1 = D usw.
Wenn du diese neu Ordnen willst, ist der einfachere und sicherere Weg es über vorhandene Dateistrukturen zu tun, wie das unter anderem hier gezeigt wird:
http://reboot.pro/topic/9708-script-drive-letter-change-in-winpe-30/
Das erfordert allerdings Wissen um die Struktur auf deinen Partitionen, also kannst du das letztlich nur selbst schreiben.
Viel Spaß dabei ;)
Gruß
Chris
Die Frage war/ist nach einem Skript, das in WinPE per Batch alle Laufwerksbuchstaben (zzgl. WinPE-Extras) in gleicher Zuordnung sortiert, wie in der letzt bekannten Formation des normalen Standardsystems.
Das ist etwas sehr umständlich. Die Laufwerkszuordnung wird über die Registry gemacht. Heißt, der einzige weg, das sauber hinzubekommen wäre Registry importieren, auslesen, IDs vergleichen. Inwiefern diese IDs überhaupt zwischen Windows und WinPE Umgebung übereinstimmen, kann ich dir nicht sagen. Was WinPE dir als "Kraut und Rüben" ist die physische Reinfolge. Also disk0,partition0 = C Disk0,opartition1 = D usw.
Wenn du diese neu Ordnen willst, ist der einfachere und sicherere Weg es über vorhandene Dateistrukturen zu tun, wie das unter anderem hier gezeigt wird:
http://reboot.pro/topic/9708-script-drive-letter-change-in-winpe-30/
Das erfordert allerdings Wissen um die Struktur auf deinen Partitionen, also kannst du das letztlich nur selbst schreiben.
Viel Spaß dabei ;)
Gruß
Chris
Ist doch ganz einfach:
Hier liegen die Device-Zuordnungen:
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
Die Einträge die interessieren Beginnen alle mit \DosDevices\
Diese Einträge exportierst du dir, natürlich nur die welches richtige Disks sind. Dann lädst du deine Windows PE-Registry (den SYSTEM Zweig) per Hive-Load und fügst die Einträge dort unter ebenfalls unter MountedDevices ein.
Die ersten 8 Bytes der binären Daten ist die Disk-Signatur, darauf folgt der Offset der Partition. Somit kann Windows die richtige Disk und dazugehörende Partition dem Laufwerksbuchstaben zuweisen.
Hier liegen die Device-Zuordnungen:
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
Die Einträge die interessieren Beginnen alle mit \DosDevices\
Diese Einträge exportierst du dir, natürlich nur die welches richtige Disks sind. Dann lädst du deine Windows PE-Registry (den SYSTEM Zweig) per Hive-Load und fügst die Einträge dort unter ebenfalls unter MountedDevices ein.
Die ersten 8 Bytes der binären Daten ist die Disk-Signatur, darauf folgt der Offset der Partition. Somit kann Windows die richtige Disk und dazugehörende Partition dem Laufwerksbuchstaben zuweisen.