Dienstprogramm zur Interpretation von BCD.ANMELDEN und BOOTSTAT.DAT Binärdateien (W7 Boot hängt)

Die Hauptfrage lautet : "Gibt es ein Dienstprogramm, das diese beiden Binärdateien interpretieren kann:

  1. BCD.LOG -
  2. BOOTSTAT.DAT -

Beide wurden während des Vista/W7-Startvorgangs aktualisiert ?

, ich weiß schon, von EasyBCD und ich habe festgestellt, auf dieser Seite über den BOOTSTAT.DAT-Format, aber ich würde es vorziehen, das Rad nicht neu zu erfinden.

Hintergrundinformationen.

Ich bin in der unbequemen Position, in der meine native Windows 7-Partition lehnt es ab, den Startvorgang abzuschließen (auch im abgesicherten Modus mit Eingabeaufforderung).

Dies geschah, nachdem es erfolgreich von VirtualBox über Raw Device Access gestartet wurde. Tatsächlich funktioniert der VB-Boot durchweg gut. Jedes Mal, wenn ich versuche, nativ zu booten, versucht der Startvorgang, die Konfiguration zu "reparieren". In der Tat von außen, es dreht die Scheiben für Alter und endet somwehere ins Stocken geraten. Bevor ich die PQService-partition zurück zur Werkskonfiguration (es ist sowieso ein neuer Computer), ich möchte mir diese 2 Dateien ansehen, auf die ich problemlos von der Ubuntu-Festplatte aus zugreifen kann.

Abgesehen davon, wenn es andere Dateien gibt, die bei der Diagnose der Wurzel des Problems hilfreich sein könnten, lassen Sie es mich bitte wissen. Nicht winload.exe erzeugt zum Beispiel ein Protokoll (das ist eine sekundäre Frage) ?

Bitte beachten Sie, dass mir klar ist, dass Windows 7 in Bezug auf die gefundene HW-Konfiguration ziemlich empfindlich ist nach der Erstinstallation. Ich möchte jedoch genauer verstehen, über welchen Haken ich gestolpert bin, bevor ich mich entscheide, ob ich aufgeben oder weiter mit nativem/virtuellem Boot experimentieren soll.

Danke für die Hilfe.

Author: Alain Pannetier, 2011-02-15

2 answers

Ich weiß nichts über BOOTSTAT.DAT aber BCD ist ein Registry-Bienenstock, das gleiche Format wie alle anderen. Die BCD.LOG* - Dateien sind die Transaktionsjournale für den Bienenstock zu Wiederherstellungszwecken.

Wenn Sie über einen Windows-Computer verfügen, können Sie den Bienenstock über Regedit mounten: Klicken Sie auf HKEY_LOCAL_MACHINE, gehen Sie zu Datei - >Hive laden und navigieren Sie zur BCD-Datei. Die BCD, die zum Booten von Windows verwendet wurde, ist normalerweise bereits als BCD00000000 gemountet. Es gibt einige Dokumentation über das Format der Windows NT Registry Hive-Dateien.

Für ihr Dual-Boot-Projekt, Hardware-Profile können mit den verschiedenen Konfigurationen für die native und virtuelle Hardware helfen - versuchen Sie, ein Profil für jeden.

 5
Author: Chris Smith,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-08-17 06:28:53

Ich habe ein kleines Python-Dienstprogramm erstellt, um den BOOTSTAT zu analysieren.DAT-Datei unter Windows 10. Es gibt auch Anweisungen zur Verwendung auf dem BOOTSTAT.DAT generiert von Windows 7. Die minimale Version von Python, mit der dieses Skript getestet wurde, ist Python 3.6.

Https://gitlab.com/rhave/bootstat.dat-efi-parser

Die Ausgabe kann entweder JSON oder semi-CSV.

Die Hauptquelle für Dateiformatinformationen des Programms ist die von Chris erwähnte Geoff Chappell-Site Smith zuvor in einer anderen Antwort.

Ausführen unter Windows 10-Dateien

Das Programm kann folgendermaßen ausgeführt werden:

python bootstat.dat-efi-parser.py json BOOTSTAT.DAT

Wobei python der auf Ihrem System installierte Python-Interpreter ist, bootstat.dat-efi-parser.py eine Kopie des Skripts von gitlab ist, json der Ausgabetyp ist (kann auch csv sein) und BOOTSTAT.DAT ist eine Datei, die analysiert werden soll.

Die Ausgabe der obigen Beispielverwendung ähnelt der folgenden:

{
  "version": 4,
  "header_size": 24,
  "file_size": 65536,
  "valid_data_size": 208,
  "unknown_header_dword_0": 24,
  "unknown_header_dword_1": 0,
  "events": [
    {
      "event_name": "Log file initialised",
      "timestamp": 6176,
      "zero_field": 0,
      "source_guid": "2C86EA9DDD5C704EACC1F32B344D4795",
      "size_of_entry": 64,
      "severity_code": 1,
      "entry_version": 2,
      "event_identifier": 1,
      "event_time_struct": "2018-01-01 12:00:00",
      "event_zero_field_0": 0,
      "event_seven": 7,
      "event_one": 1,
      "event_zero_field_1": 0
    },
    {
      "event_name": "Boot application launch",
      "timestamp": 6177,
      "zero_field": 0,
      "source_guid": "2C86EA9DDD5C704EACC1F32B344D4795",
      "size_of_entry": 120,
      "severity_code": 1,
      "entry_version": 2,
      "event_identifier": 17,
      "event_app_guid": "80A054721015854EAC0FE7FB3D444736",
      "event_type_of_start": 0,
      "event_app_pathname": "\\windows\\system32\\winload.efi"
    }
  ]
}

Ausführen unter Windows 7 Dateien

Unter Windows 7 der BOOTSTAT.DAT-Datei hat einen zusätzlichen 2048 Byte Header. Wenn Sie dies von der Datei entfernen, kann das Skript den Rest der Datei analysieren. Unter Linux kann der Befehl dd verwendet werden, um die ersten 2048 Bytes wie folgt abzuschneiden:

dd if=bootstat.dat of=bootstat.dat.cut bs=1 skip=2048

Hier ist bootstat.dat die ursprüngliche Windows 7-Datei und die Datei bootstat.dat.cut die Datei, die als letztes Argument für das Python-Skript angegeben werden sollte. Ein Windows-Äquivalent zu dd oder ein Hexeditor könnte verwendet werden, um das gleiche Schneiden auf Windows.

 3
Author: Rasmus Have,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-11-25 18:56:22