Wie funktioniert Windows Vista / 7/2008 bootmgr hinter den Kulissen?

1039
edgar.holleis

Bisher war es immer möglich, eine Windows-Installation (NT / 2000 / XP / 2003) auf ein neues Boot-Medium zu übertragen, indem:

  • Partitionstabelle und MBR neu erstellen
  • Kopieren der Partitionen mit ntfsclone
  • Kniffliger Teil: Die Festplattengeometrie musste gleich bleiben und die Partition, in der sich ntldr befand, musste mit demselben LBA-Sektor wie zuvor beginnen

Ist das unter Windows (Vista / 7/2008) noch möglich? Würde ein solches Verfahren funktionieren?

  • Kopieren Sie die Partitionstabelle mit der Datenträgersignatur (!) Und dem MBR
  • Passen Sie möglicherweise die Größe der Partitionen an die Festplatte an
  • Ntfsclone "System Reserved Partition" und "Boot Parition".
  • Müssen einer oder beide immer noch auf dem gleichen Sektor auf alter und neuer Festplatte beginnen?

Kannst du erklären, wie bootmgr und bcd wirklich unter der Haube funktionieren, im Gegensatz zu grub oder ntldr? Gibt es eine erste und zweite Stufe? Hat es irgendwo Sperrlisten?

Update: Mein ursprüngliches Problem war hardwarebezogen. Frage umformuliert, um das umfassendere Problem anzusprechen.

4
Eigentlich habe ich getan. Nichts gefunden, warum es nicht funktioniert. vor 9 Jahren 0

1 Antwort auf die Frage

3
Chris S

Bootmgr kennt keine "Laufwerksbuchstaben", das ist etwas, das Windows zu einem späteren Zeitpunkt im Bootvorgang ausführt (und in der Registrierung konfiguriert ist, absolut nichts mit der Konfiguration der physischen Festplatte zu tun hat).

Die Verwendung von Linux zum Klonen eines Systems wird von Microsoft nicht unterstützt. Kurz gesagt, lautet die offizielle Antwort nicht tun . Sie sollten Windows PE verwenden. DISM kann WIM-Image-Dateien erstellen und anwenden. Dies ist das bevorzugte Format von Microsoft (das gleiche, das von Windows Setup verwendet wird).

Das Klonen einer Maschine folgt im Allgemeinen:

  1. Referenzmaschine einrichten. Laufen sysprep.
  2. Starten Sie WinPE. Verwenden Sie dism, um das Laufwerk zu erfassen. So etwas wie diese Batchdatei:

    @ECHO OFF IF %1 == "" GOTO DIE: CHKDSK /X C: CHKDSK /X D: IF NOT ERRORLEVEL 0 GOTO DIE: DISM /Capture-Image /ImageFile:Z:\Path\To\Images\%1.wim /Name:Boot /CaptureDir:C:\ /Compress:fast DISM /Append-Image /ImageFile:Z:\Path\To\Images\%1.wim /Name:Windows /CaptureDir:D:\ :DIE 

    Dies muss möglicherweise geändert werden, wenn Sie ein nicht standardmäßiges Partitionslayout haben.

  3. Starten Sie den Zielcomputer nach WinPE. Verwenden Sie diskpartund dism, um das Bild anzuwenden:

    Standardskript diskpartzum Konfigurieren von Partitionen:

    SEL DISK 0 CLEAN CREATE PART PRI SIZE=350 ACT FORMAT QUICK ASSIGN LETTER=M CREATE PART PRI FORMAT QUICK ASSIGN LETTER=O EXIT 

    Standard- dismBatchdatei zum Schreiben von Bildern:

    @ECHO OFF IF %1 == "" GOTO DIE: DISKPART /s Diskpart-Standard.script IF NOT ERRORLEVEL 0 GOTO DIE: DISM /Apply-Image /ImageFile:%1 /Index:1 /ApplyDir:M:\ DISM /Apply-Image /ImageFile:%1 /Index:2 /ApplyDir:O:\ IF NOT ERRORLEVEL 0 GOTO DIE: BCDEDIT -STORE M:\BOOT\BCD -set device partition=M: BCDEDIT -STORE M:\BOOT\BCD -set device partition=M: BCDEDIT -STORE M:\BOOT\BCD -set device partition=O: BCDEDIT -STORE M:\BOOT\BCD -set osdevice partition=O: :DIE ECHO Script ended... 

Ihr Prozess funktioniert möglicherweise, aber wahrscheinlich fehlen Ihnen die letzten vier bcdeditZeilen des Skripts.

Beachten Sie, dass dies WinRE nicht konfiguriert, aber Sie sollten es nicht brauchen, wenn Sie sowieso WinPE haben.

Vielen Dank für Ihre ausführliche Antwort. Eines Tages werde ich vielleicht sogar die Zeit investieren, um die nativen Microsoft-Tools zu lernen. Sie haben jedoch keine Details zur Funktionsweise von bootmgr angegeben. edgar.holleis vor 9 Jahren 0
Entschuldigung, diese Antwort ist für [SU] eher ein Thema. In [SF] betrachten wir Antworten, die nicht als "die richtige Antwort" gelten, manchmal. Ich lasse das hier als Referenz, aber Sie haben Recht, dass es nicht zur Frage passt. Chris S vor 9 Jahren 0