eSATA und SATA im Wechselrahmen - Hotswap unter Windows 7



  • Hi!

    Hab mir eine "Dockingstation" (eSATA) und einen Wechselrahmen für interne 3,5" Festplatten (SATA) zugelegt. Wenn die Festplatte beim Start eingelegt ist wird diese auch erkannt. Wenn ich diese erst später einfüge oder entferne und erneut einfüge, muss ich erst jedes mal bei Systemsteuerung -> Verwaltung -> Computerverwaltung -> Datenträgerverwaltung auf Aktion -> Datenträger neu einlesen klicken, damit die Platte erkannt wird (funzt danach einwandfrei).

    Die Installation des Intel Matrix Storage Dingens will ich tunlichst vermeiden, weil dieser das letzte mal sofort nach dem Einlegen der Festplatte und ohne Nachfrage versucht hat, ein RAID1-Array darüber zu legen und somit sämtliche Daten gelöscht hat. Außerdem funktioniert damit das "Hardware sicher entfernen" nicht mehr.

    Hat jemand eine Idee wie ich Windows dazu bewege die Festplatte sofort zu erkennen oder einen Poll-Interval einstelle bzw. ein Programm/Funktion/WinAPI Call um das neu einlesen anzustoßen (und selbst als Task o. ä. einzutragen)?

    Am SATA-Controller oder am Mainboard liegt es definitiv nicht, weil die Festplatte sofort nach dem einlegen unter Linux (Ubuntu) erkannt wird.

    Mfg, devkid.



  • vielleicht ist dir schon mit einem desktoplink geholfen, der sowas wie
    echo rescan | diskpart
    oder so macht.
    Und die Verknüpfung noch mit dem Tastenkürzel Win+W verzieren (für Wechselplatte) und doch ins Startmenu legen.



  • Nice, danke. 🙂 Kann man noch irgendwie verhindern, dass das cmd Fenster aufpoppt?



  • devkid schrieb:

    Nice, danke. 🙂 Kann man noch irgendwie verhindern, dass das cmd Fenster aufpoppt?

    Kannste. Entweder Du schreibst Dir deine eigene exe, Dialoganwendung, die im OnInitDialog(oderwieauchimmer) alles macht und dabei mußt Du rausfinden, was diskpart eigentlich aufruft, *kotz*.
    Oder einen Geplanten Task in der Systemsteuerung absetzen, der das diskpart macht und ihn mit
    schtasks /run /tn rescanOderWieDerTaskHeisst
    starten. Popt nur ganz ganz kurz.
    Oder da geht es doch bestimmt, einen Prozess wenigstens minimiert zu starten, daß er die paar Sekunden des Erkennens unten rumgammelt, aber wie ShellExecute heißt und was man übergibt, fällt mir partout nicht ein.



  • Es gibt noch etwas. Da ich seit XP als engeschränkter Benutzer arbeite, und früher verdammt viele Sachen Adminrechte brauchten, hatte ich einen GeplantenTask laufen (als Admin), der C:\var\job\ überwachte (Verzeichnisüberwachung geht ohne Polling zu null Prozessorzeit) und auf Erscheinen von Sachen wie C:\var\job\backup.sgn (beliebigen Inhalts) reagierte durch Ausführen des ensprechenden Programms (hier eine bat um DriveSnapshot). Da popt sichwer nichts auf und das C++-Programm hat nur wenige Zeilen und man kann Tod und Teufel damit anstellen. Ich hab den Code verschludert. Wenn Du sowas bauen magst, zum Beispiel einfacherweise

    überwache C:\var\job\
    sobald C:\var\job\*.sgn erscheint
       falls C:\sbin\job\*.cmd existiert
          führe aus C:\sbin\job\*.cmd
          lösche C:\var\job\*.sgn
    

    dann poste den Code bitte. Dann Baue ich das bei mir mal wieder ein.



  • Haste deinen Controller im Bios auch auf AHCI gestellt oder läuft der evtl. im IDE-Mode?


  • Mod

    Stinkesocke schrieb:

    Haste deinen Controller im Bios auch auf AHCI gestellt oder läuft der evtl. im IDE-Mode?

    Das hatte ich auch mal. Zwar nicht mit Windows, aber es hat mich trotzdem eine Weile gedauert um raus zu finden, dass IDE selbst auf allerneuesten Boards die Standardeinstellung ist.

    Wer weiß welche tollen Features moderne Rechner noch haben, die standardmäßig deaktiviert sind, so dass man nie davon erfährt? :xmas2:



  • SeppJ schrieb:

    Das hatte ich auch mal. Zwar nicht mit Windows, aber es hat mich trotzdem eine Weile gedauert um raus zu finden, dass IDE selbst auf allerneuesten Boards die Standardeinstellung ist.

    War bei mir auch so. Allerdings lässt sich XP (standardmäßig, ohne SP2/3) nicht auf AHCI installieren.

    Stinkesocke schrieb:

    Haste deinen Controller im Bios auch auf AHCI gestellt oder läuft der evtl. im IDE-Mode?

    Siehe:

    devkid schrieb:

    Im SATA-Controller oder am Mainboard liegt es definitiv nicht, weil die Festplatte sofort nach dem einlegen unter Linux (Ubuntu) erkannt wird.

    🙂

    @volkard: Danke. Funzt aber auch, wenn ich einfach nur in einem Windows-Programm (also ohne DOS-Box) die .bat mit ShellExecute aufrufe. 🙂 Mit der Tasten-Kombo sollte das genügen.

    :xmas1:


Anmelden zum Antworten