Was hat der Windows-Bootmanager beim Booten der Windows From VHDX-Datei getan? (geht es um Prinzip nicht Schritt konfigurieren)

476
pah8J

Bei der Veröffentlichung von Windows 7 erschien auch eine Funktion des Windows-Start-Managers. Es ist einheimischer Stiefel. Es gibt jedoch einen magischen Punkt, der mich verwirrt.

Wenn der Windows-Start-Manager funktioniert, können wir davon ausgehen, dass er leistungsstark ist. Er liest die VHDX-Datei und extrahiert den NT-Kernel in den Arbeitsspeicher. Wenn jedoch der NT-Kernel in den RAM geladen wurde, wird die Lebensdauer des Bootloaders beendet .

Auch wenn der NT-Kernel mächtig ist, ist er nur ein Kernel. Es braucht eine Menge anderer Komponenten, um damit arbeiten zu können, und ich denke, dass der NT-Kernel keine Fähigkeit hat, VHDX-Dateien zu lesen.

Q1. Ist der Fortschritt des von mir beschriebenen Bootloader-Extrakts ntkernel korrekt?

Q1.1. Ist das Verb "extrahieren" dort geeignet? Oder setzen Sie den Bootloader einfach auf die Festplatte in die Startposition der VHDX-Datei, ohne etwas anderes.

Im Allgemeinen kann der Bootloader nicht nur auf Windows Boot Manager beschränkt sein, sondern auch ein anderes Programm.

Q2. Kann von VDI-, VMDK- oder ISO-Dateien gebootet werden?

Q3. Beruht die Möglichkeit des nativen Bootens von VHDX auf der speziellen Struktur des VHDX-Formats, auf die jedes Programm direkt zugreifen kann, ähnlich wie beim Zugriff auf die Datei auf der realen Festplatte?

Q4. Gibt es eine Ressource, die das Prinzip des Native VHDX-Startvorgangs detailliert erklärt? (Es geht um das Prinzip, Schritt-Tutorial nicht konfigurieren. Es ist das Verhalten beim systemeigenen Booten.)

(Ich bin nur ein Anfänger im Firmware- und Boot-Bereich, möchte Hilfe vom Master erhalten)

0
Warum sollte der Kernel dies nicht unterstützen? Es geht nur darum, einen Fahrer dafür zu haben. Was existiert, weil Sie VHD / VHDX nativ mounten können. Daniel B vor 6 Jahren 0
@DanielB, Danke für diesen guten Punkt, ich bin nur ein Anfänger. Gibt es eine Open-Source-Implementierung dieser Art von Treiber? pah8J vor 6 Jahren 0
@DanielB, Wie viel CPU-Ressourcen kostet dieser Treiber? pah8J vor 6 Jahren 0

1 Antwort auf die Frage

1
  • Erstens unterstützt Windows 7 das Starten von VHDX nicht. Es wird nur VHD unterstützt. VHDX wird ab Windows 8 unterstützt.
  • Zweitens ist es eine bekannte Tatsache, dass ein bootmgrTeil des Windows-Bootloaders seit Windows Vista das Booten von VHD-Dateien, WIM-Dateien (so wird Windows Setup von innen ausgeführt wird sources\boot.wim), RAM-Festplatten, Netzwerk und verschiedenen Festplattencontrollern wie SCSI und unterstützt IDE. Laut Windows Internals, Sechste Ausgabe, Teil 2, Seite 503:

    Bootmgr enthält eine kompakte NTFS-Dateisystembibliothek (Bootmgr unterstützt auch andere Dateisysteme wie FAT, El Torito CDFS und UDFS sowie WIM- und VHD-Dateien). Im Gegensatz zum Bootsektorcode kann der Dateisystemcode von Bootmgr auch Unterverzeichnisse lesen.

    -Russinovich, Mark; Solomon, David A .; Ionescu, Alex (2012). Windows Internals, Sechste Ausgabe, Teil 2 . Redmond, WA: Microsoft Press. p. 503. ISBN 978-0-7356-6587-3.

    All dies sind um Größenordnungen komplizierter als bei VHD. (WIM unterstützt eigentlich die Deduplizierung und Komprimierung von Dateien.) Natürlich wird das Steuerelement irgendwann an Windows und seine eigenen Gerätetreiber übertragen. Der VHD-Treiber ist %SystemRoot%\System32\Drivers\Vdrvroot.sys. Es lädt Vhdmp.sysund Fsdepends.sys.

  • Drittens werden ISO, VDI und VMDK nicht unterstützt.

Weitere Informationen erhalten Sie unter:

Für ein tieferes Lesen sind die Windows Internals-Bücher von Mark Russinovich meine Empfehlungen. Bitte beachten Sie, dass keine dieser Quellen Microsoft-Geschäftsgeheimnisse preisgibt und diese Website diese Quellen auch nicht befürwortet.

Ist dieser Treiber in ntkernel integriert oder wird er gerade von ntkernel von der Festplatte geladen? pah8J vor 6 Jahren 0
@ MartinS.Victory Ich habe die Prosa aktualisiert, um diese Frage zu beantworten vor 6 Jahren 0