mbr wieder als inaktiv kennzeichnen?

  • Ich schaffe es einfach nicht, grub korrekt auf meine externe Platte zu bekommen. Nun möchte ich die Platte wenigstens wieder in ihren vorherigen Zustand versetzen. Da wurde die Platte vom BIOS beim booten ignoriert. Booten von USB-Platten soll im BIOS aber aktiv bleiben...


    Ein 'dd if=/dev/zero of=/dev/sda bs=446 count=1', also das komplette Überschreiben des Boot Codes mit Nullen, hat leider nichts bewirkt. Der rechner versucht weiterhin diesen MBR zu booten und bleibt damit natürlich hängen

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Moin moin habichthugo,


    könnte sein, dass Du noch ein BootFlag auf der Platte hast

    Code
    Disk /dev/sda: 82.3 GB, 82348277760 bytes
    255 heads, 63 sectors/track, 10011 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1               1          33      265041   82  Linux swap / Solaris
    /dev/sda2              34         161     1028160   83  Linux
    /dev/sda3   *         162        1180     8185117+  83  Linux
    /dev/sda4            1181       10011    70935007+  83  Linux

    das Asterisk auf sda3 hier zum Beispiel.
    fdisk -->> a toggle a bootable flag


    MfG.
    [SIZE=7].................[/SIZE]MFG.

  • Quote

    Original von MFG
    könnte sein, dass Du noch ein BootFlag auf der Platte hast


    Nein.
    Es muss eine Möglichkeit geben, den MBR selbst bzw. den (nicht) vorhandenen Boot Code als nicht bootbar zu markieren...

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Quote

    Original von habichthugo
    Ein 'dd if=/dev/zero of=/dev/sda bs=446 count=1', also das komplette Überschreiben des Boot Codes mit Nullen, hat leider nichts bewirkt.


    Ich weiß, ich wiederhole mich, aber weder bs=446 noch bs=440 (im anderen thread) beschreiben einen kompletten Sektor - vielleicht merkt dein BIOS ja, das da noch was drinsteht? Versuch's mal mit 512 (und falls nix wertvolles auf der Platte ist, notfalls mit mehreren Sektoren).
    [edit] Ein Bootflag gibt's für den MBR nicht, das gibt's nur für Partitionen. Deswegen gibt's da auch keine Markierung o.ä. zu löschen - der MBR ist quasi seine eigene Markierung, entweder vorhanden oder nicht.
    [edit2] Wenn sonst nix hilft, schreib vorübergehend einen anderen MBR auf die Platte (LILO, DOS/Windows,...) und versuchs dann nochmal mit grub (oder gleich grub2).


    Wer alkoholfreies Bier trinkt, wählt auch kompetenzfreie Politiker [frei nach Volker Pispers]

    Edited 2 times, last by NullP ().

  • Quote

    Original von NullP


    Ich weiß, ich wiederhole mich, aber weder bs=446 noch bs=440 (im anderen thread) beschreiben einen kompletten Sektor - vielleicht merkt dein BIOS ja, das da noch was drinsteht? Versuch's mal mit 512 (und falls nix wertvolles auf der Platte ist, notfalls mit mehreren Sektoren).
    [edit] Ein Bootflag gibt's für den MBR nicht, das gibt's nur für Partitionen. Deswegen gibt's da auch keine Markierung o.ä. zu löschen - der MBR ist quasi seine eigene Markierung, entweder vorhanden oder nicht.
    [edit2] Wenn sonst nix hilft, schreib vorübergehend einen anderen MBR auf die Platte (LILO, DOS/Windows,...) und versuchs dann nochmal mit grub (oder gleich grub2).


    Ab dem 446. Byte fängt die Partitionstabelle an, und die darf ich nicht löschen, da auf der Platte schon die Videodaten liegen. Die ersten 440 Byte sind der Bootcode. Da ist noch irgend eine Kennung versteckt, wahrscheinlich ein oder zwei Byte mit einem speziellen Wert. Denn so
    'dd of=/dev/sda bs=440 count=1 if=some.mbr'
    habe ich die Booterei der Platte jetzt wieder weg gekriegt. Wobei die some.mbr von einer anderen, nicht bootbaren Platte abgezogen wurde:
    'dd if=/dev/hdc bs=512 count=1 of=some.mbr'
    Leider habe ich zu diesem Thema exakt nix konkretes ergoogeln können...

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Quote

    Original von habichthugo Da ist noch irgend eine Kennung versteckt, wahrscheinlich ein oder zwei Byte mit einem speziellen Wert.


    Hast recht, das sind die letzten zwei Bytes (also hinter der parttab).


    Wer alkoholfreies Bier trinkt, wählt auch kompetenzfreie Politiker [frei nach Volker Pispers]

  • Quote

    Original von NullP


    Hast recht, das sind die letzten zwei Bytes (also hinter der parttab).


    Nein! Wenn man die zu Null setzt, dann erscheint die Platte jungfräulich, also wird auch die Partitionstabelle ignoriert! Glücklicher Weise habe ich vor diesem Test den gesamten Sektor gesichert. Die gesuchten Byte müssen irgendwo in den ersten 440 Byte des Boot Code liegen, denn deren Austausch brachte den Erfolg...

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Quote

    Original von habichthugo
    Ich schaffe es einfach nicht, grub korrekt auf meine externe Platte zu bekommen. Nun möchte ich die Platte wenigstens wieder in ihren vorherigen Zustand versetzen. Da wurde die Platte vom BIOS beim booten ignoriert. Booten von USB-Platten soll im BIOS aber aktiv bleiben...


    Ein 'dd if=/dev/zero of=/dev/sda bs=446 count=1', also das komplette Überschreiben des Boot Codes mit Nullen, hat leider nichts bewirkt. Der rechner versucht weiterhin diesen MBR zu booten und bleibt damit natürlich hängen


    Was gibt denn

    Code
    fdisk -l /dev/sda


    so aus? Wenn da noch ein "*" irgendwo ist, ist die Platte "bootbar" markiert.

  • Quote

    Original von habichthugo
    Nein! Wenn man die zu Null setzt, dann erscheint die Platte jungfräulich, also wird auch die Partitionstabelle ignoriert! Glücklicher Weise habe ich vor diesem Test den gesamten Sektor gesichert. Die gesuchten Byte müssen irgendwo in den ersten 440 Byte des Boot Code liegen, denn deren Austausch brachte den Erfolg...


    Mysteriös... meine Literatur ist anderer Meinung, aber nur der praktische Erfolg zählt letztendlich.


    Wer alkoholfreies Bier trinkt, wählt auch kompetenzfreie Politiker [frei nach Volker Pispers]

  • Quote

    Original von NullP


    Mysteriös... meine Literatur ist anderer Meinung, aber nur der praktische Erfolg zählt letztendlich.


    Vgl. http://de.wikipedia.org/wiki/Master_Boot_Record


    In jenem Artikel steht alles Wichtige drin.


    CU
    Oliver

  • Quote

    Original von UFO


    Vgl. http://de.wikipedia.org/wiki/Master_Boot_Record


    In jenem Artikel steht alles Wichtige drin.


    Das, um was es hier geht, steht da nicht drin, nämlich wie man den Boot Code des MBR wieder inaktiviert. Über den eigentlichen 'Boot-Loader' (die 440 Byte ab Adresse 0) steht da praktisch nichts, so wie in allen Quellen, die ich dazu ergoogeln konnte...

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Moin moin habichthugo,


    widerleg doch mal bitte turboj und meine Hypothese wegen des BootFlags,
    welches ich in keiner Doku fand wo es gesetzt wird(im MBR OR an den PartionsTable), mittels der Ausgabe von fdisk -l


    MfG.
    [SIZE=7]................[/SIZE]MFG.

  • Quote

    Original von MFG
    widerleg doch mal bitte turboj und meine Hypothese wegen des BootFlags,
    welches ich in keiner Doku fand wo es gesetzt wird(im MBR OR an den PartionsTable), mittels der Ausgabe von fdisk -l


    Keine der Partitionen der Platte ist in der Partitionstabelle als bootbar markiert. Ich kann gerne heute Abend noch mal die Ausgabe von fdisk nachreichen (normaler Weise verwende ich cfdisk).
    Aber Fakt ist, dass sich das Botten bzw. der Versuch des BIOS, dies zu tun, bei mir nur durch Austausch der ersten 440 Byte des MBR durch Daten einer anderen, nicht bootbaren Platte, unterbinden liess. Selbst das Überschreibnen mit Nullen bewirkte dies nicht...

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

    Edited once, last by habichthugo ().

  • Quote

    Original von MFG
    widerleg doch mal bitte turboj und meine Hypothese wegen des BootFlags,
    welches ich in keiner Doku fand wo es gesetzt wird(im MBR OR an den PartionsTable), mittels der Ausgabe von fdisk -l


    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Quote

    Original von master_red
    schau dir deinen extrahierten bootcode doch einfach mal per hexeditor an und schau nach was da so drinsteht


    Bitte sehr:


    Und was sagt uns das jetzt?

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Nichts, aber hätte ja sein können, dass da viel weniger drinsteht und dann hätte sich die ursache vllt geklärt :)


    Ich hab leider gerade keine "frische" platte da um zu schaun was da wirklich ursprünglich drauf war.


    die 0xAA55 sollten jedenfalls dem bios signalisieren, dass ein mbr vorhanden ist. Von einem leeren kann also nicht so wirklich die Rede sein.


    Und wenn man mit hier vergleicht: http://communities.vmware.com/message/294309
    würde ich sagen, das ist ein standard-Winxp MBR, dem zum booten dann halt die weiteren stages fehlen.


    Hier auch noch ne interessante analyse dazu: http://mbr.adamsatoms.com/


    gruß red

  • Quote

    Original von master_red
    die 0xAA55 sollten jedenfalls dem bios signalisieren, dass ein mbr vorhanden ist. Von einem leeren kann also nicht so wirklich die Rede sein.


    Wenn man die letzten zwei Byte (0xAA55) zu Null setzt gilt - wie bereits gesagt - die Platte als jungfräulich, d.h. auch die Partitionstabelle wird ignoriert.
    Die Platte, von der die MBR-Daten stammen, war noch nie bootfähig. Das weiß ich genau, den ich habe das letzte mal zwei identische, neue Platten gekauft und nur auf einer das VDR-System aufgespielt. Die Zweite hatte nur eine große Daten-Partition...

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!