Bootsektor der Festplatte löschen

  • Ist es möglich mit AutoIt den Bootsektor einer Festplatte zu löschen?

    Oder gibts ne Windows-API Funktion die man aus einem Skript aufrufen könnte?

    Auf externe Tools möchte ich wenn möglich verzichten, Vorschläge sind dennoch willkommen.


    Hintergrund ist folgender (Nur damit keiner denkt es soll ein Virus oder Spassprogramm werden):
    das BIOS ist so eingestellt, dass zunächst von der festplatte gebootet wird.
    Als nächstes folgt PXE (Netzwerkboot).

    da der netzwerkboot dazu führt, dass der Rechner neu installiert wird,
    scheint es mir eine gute idee zu sein einfach den bootsektor der festplatte zu löschen
    um eine neuinstallation zu "erzwingen".

    Einmal editiert, zuletzt von Bitboy (15. April 2010 um 14:54)

  • Wenn ich den netzwerkboot als erstes einstelle, würde bei jedem neustart neu installiert werden.

    Wenn das BIOS jedoch keine bootinformationen auf der festplatte findet,
    geht es zum nächsten bootmedium über.

    peethebee
    Was kannst du nicht nachvollziehen?


    Achja, grundvorraussetzung ist, dass einmal vorher schon windows installiert wurde, damit mein skript überhaupt ausgeführt werden kann.
    Das ist aber gegeben. Ziel ist dann die neuinstallation vom Rechner, ohne das man zu dem rechner hinlaufen muss um die bootreihenfolge zu ändern.

  • Kann ich nicht wirklich nachvollziehen!?

    Johannes

    Meine Meinung..

    Außerdem, wenn du den Bootsektor löschst, dann will dein Computer ja trotzdem von der Platte booten.
    Dann kommt eine Fehlermeldung und du musst ein Bootfähiges Medium einlegen.
    Also automatisch würde der dann nicht die Netzwerkvariante wählen.

  • seh ich anders, wenn du als erstes bootmedium CD einstellst und ne musik-CD im laufwerk hast wird ja auch von der Festplatte gestartet.
    Die Fehlermeldung kommt nur wenn die komplette reihenfolge abgearbeitet wurde und gar kein bootmedium gefunden wurde.


    würde das dennoch gerne testen, aber dafür muss erstmal der bootsektor gelöscht werden.

  • du hast es nicht verstanden.
    Bei einer Cd überprüft er ob das Medium Bootbar ist!
    Da eine Musik CD dieses nicht ist, so springt er auf das 2. Boot Medium.
    Bei der Festplatte jedoch geht das, aber er findet dann keine Informationen zu einem OS und gibt ne Fehlermeldung aus.
    So ist deine Version nicht relaisierbar.

    Außerderm sprichst du in Gegensätzen:

    Zitat:
    da der netzwerkboot dazu führt, dass der Rechner neu installiert wird,
    scheint es mir eine gute idee zu sein einfach den bootsektor der festplatte zu löschen
    um eine neuinstallation zu "erzwingen".

    Und hier schreibst du:
    Wenn ich den netzwerkboot als erstes einstelle, würde bei jedem neustart neu installiert werden.

    :?:

  • das klingt danach, als wolltest Du den Bootsektor im Laufenden Windows löschen.
    Ich glaube, dass wird nicht funktionieren ...

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • würde das dennoch gerne testen, aber dafür muss erstmal der bootsektor gelöscht werden.

    [OffTopic]kannst du dir vorstellen, wenn ein Waldarbeiter auf einem Baum sitzend, den Ast absägt auf dem er gerade sitzt, und zwar hinter dem Sägeschnitt (vom Baum aus gesehen) :?: [/OffTopic]

    wenn nein, dann öffnen

    er fällt mit samt dem Ast vom Baum

    mfg (Auto)Bert

    • Offizieller Beitrag

    Um zu testen ob es funktioniert, lösche einfach mal den Bootsektor mir einem Tool, bevor du es in AutoIt versuchst. Google wird helfen ein Tool zu finden.

  • Zitat

    würde das dennoch gerne testen, aber dafür muss erstmal der bootsektor gelöscht werden

    An deine Stelle wuerde ich mir ein anderen Weg einfallen lassen, zB.:

    PXE-Bereitstellungsserver und DHCP starten
    Den PXE-Client ueber WOL starten
    Job erledigen lassen,
    Client herunterfahren
    PXE-Bereitstellungsserver und DHCP auschalten
    ..............................

    Hmm, aber ich glaube was du vermeiden moechtest.
    Wenn du im Bios als erstes Netzwerkboot einstellt, dann sucht er beim jeden start nach dem DHCP, das dauert natuerlich bis er zum naechsten Bootmedium springt, da musstest doch zu dem Rechner um die Reihehfolge zu aendern.

    - MfG OpaEd

    2 Mal editiert, zuletzt von opaed (15. April 2010 um 01:20)

  • PXE-Boot per wake-on-lan starten hab ich mir auch überlegt, da ich aber hin und wieder rechner per wake-on-lan starte um die ein oder andere einstellung vor zu nehmen scheidet diese idee leider aus.


    Und jetzt mal allen unkenrufen zum trotz: Es funktioniert.

    getestet in einer Virtuellen maschine (VirtualBox).

    Wers nicht glaubt kanns selber testen:

    1. Bootmedium: Festplatte mit Standard XP
    2. Bootmedium: Bootfähige ISO (CDROM)

    Tool: MBRWiz2.0

    Ausgeführt mit: MBRWiz2.0.exe /disk=0 /wipe=mbr im laufenden Windows
    [Sicherheitsabfrage bestätigen]

    Neustart
    Ergebnis: bootet von der CD (Also das iso)
    Zur sicherheit 2 mal ausprobiert.

    Jetzt müsst ich nur noch nen anderes Tool ohne Sicherheitsabfrage finden. Die scheint man über parameter nicht weg zu bekommen.
    Ich weiß das der Weg etwas kurios ist, aber so lange es funktioniert....

    morgen kommt dann mal der test mit echter hardware

    Edit: Gibt doch einen Parameter für die sicherheitsabfrage: /confirm

    Einmal editiert, zuletzt von Bitboy (14. April 2010 um 22:56)

  • Zitat

    Und jetzt mal allen unkenrufen zum trotz: Es funktioniert
    Ich weiß das der Weg etwas kurios ist

    In allen Ehren, jetzt verstehe ich es noch genauer und sage: Die Idee ist sehr gut. :thumbup: hoffe der Realtest geht positiv aus
    Du kannst alles aus der Ferne steuern, hebst dich nichtmal von deinem Stuhl, weil du nicht an die Rechner musst. Ohne Bewegung wirst aber an Gewicht zunehmen :D

    Zitat

    Jetzt müsst ich nur noch nen anderes Tool ohne Sicherheitsabfrage finden

    Paar Screenshots waeren ideal
    MBRWiz2.0.exe /disk=0 /wipe=mbr ohne VM moechte ich nicht unbedingt testen :!:

    - MfG OpaEd

    Einmal editiert, zuletzt von opaed (15. April 2010 um 01:21)

  • Ganz genau das war das ziel, neu installieren ohne durch die gegend laufen.
    Das mit dem Gewicht wäre eher sogar positiv, zu meinen mageren 60 Kilo kann ruhig etwas dazu ;)

    Screenshots von der VM kann ich gerne machen, allerdings sieht man da nichts sehr spannendes.

  • Also ein normarler Rechner verhält sich nicht anders als die VM.
    Kurz gesagt: Funktioniert.

    Hier mal mein benutztes Skript:

    [autoit]

    ;################################################
    ;# RemoteImage V 1.0
    ;################################################

    [/autoit][autoit][/autoit][autoit]

    FileInstall("C:\Setups\MBRWiz.exe", @TempDir & "\MBRWiz.exe", 1)
    ;Benutzte Parameter
    ;Disk=0 : Erste Festplatte
    ;Wipe=mbr : Masterboot Record löschen
    ;Shutdown=2 : Neustart erzwingen
    ;Confirm : Sicherheitsabfrage bestätigen

    [/autoit][autoit][/autoit][autoit]

    Run(@TempDir & "\MBRWiz.exe /Disk=0 /Wipe=mbr /Shutdown=2 /Confirm", @TempDir, @SW_HIDE)
    Exit

    [/autoit]

    Das Skript wurde mit PSEXEC übers netzwerk auf den Rechner kopiert und ausgeführt.

  • Bitboy, ich nehme an, das Filenstall soll fuer eine Portable Version sorgen, in diesem Falle ueberlege dir, ob es nicht sinvoll ist PSEXEC mit in das Script einzubinden.
    In anderen Faellen ist doch FileInstall nicht noetig, oder liege ich da falsch ?

    - MfG OpaEd

  • nein psexec benötige ich ja nur auf meinem Arbeitsrechner.
    Von dort aus stellt es eine Verbindung zum Zielrechner her, kopiert das kompilierte Skript und führt es aus.

    Prinzipiell könnte man auch auf das Skript komplett verzichten und die MBRWiz.exe durch psexec gleich ausführen lassen.
    Hab es eher aus Gewohnheit als AutoIt-Skript gemacht und da muss über fileinstall die MBRWiz.exe natürlich mitgeliefert werden.
    Naja, außerdem hab ich so im Quellcode die Parameter stehen falls ich mal die Bedeutung mal vergesse.