Das sichere Entfernen des externen USB-Laufwerks schlägt aufgrund von $ extend fehl


26

Wenn ich eine externe USB 3.0-Festplatte an meine USB 3.0-Anschlüsse anschließe, kann ich sie niemals sicher entfernen.

Irgendwie hält Windows die Journaldateien immer offen: Bildbeschreibung hier eingeben "Immer", da ich in dieser Zeit nur das Laufwerk angeschlossen, eine 10-GB-VM kopiert und danach die Verbindung trennen wollte (etwa 15 Minuten nach dem Kopieren, also wurde alles kopiert).

Wie Sie sehen, gibt es kein anderes Programm als System , das ein Handle auf der Festplatte hat . Ich habe versucht neu zu starten explorer.exesowie RemoveDrive.exevon Uwe Sieber . Kein Glück, die Sperren auf der Festplatte bleiben immer bestehen.

Meine einzige Lösung besteht darin, einfach den Netzstecker zu ziehen (obwohl ich Angst habe, die Daten zu beschädigen?) Oder den Computer neu zu starten (hilft immer, nicht wahr?).

Hat es vielleicht etwas damit zu tun, dass ich nur eine SSD-Festplatte habe und die externe Festplatte ein normales Laufwerk ist? Hat dies möglicherweise etwas mit den USB 3.0-Treibern (NEC Electronics USB Hub) zu tun? Ich habe dieses Problem nie, wenn ich die regulären USB 2.0-Anschlüsse verwende.

Irgendwelche Ideen, wie Sie die Festplatte ordnungsgemäß aushängen können?


Wenn eine dieser Antworten die Lösung war, können Sie sie positiv bewerten oder als Antwort markieren.
User88311

Antworten:


25

Ich bin auf der Suche nach einer möglichen Erklärung oder einfacheren (gelesen: automatisiert / skriptgesteuert) Möglichkeit, diese "Sperre" für die MFT / TxF / NTFS-Metadaten aufzuheben. Ich dachte, ich würde das da rausschmeißen, da ich eine Lösung habe, die in unzähligen Situationen für mich funktioniert hat. Ich habe es verwendet, um alle Arten von USB- und eSATA-Laufwerken zu entfernen, die so hängen bleiben. Das Problem scheinen in erster Linie austauschbare Laufwerke zu sein, die als feste Laufwerke bereitgestellt werden, z. B. in einem eSATA-Dock oder einem USB-Gehäuse. USB-Sticks scheinen dieses Problem für mich im Allgemeinen nicht aufzuweisen.

Ein Hinweis zu dieser letzten Unterscheidung: Der Sandisk Extreme USB 3.0, ein seltsames Tier, das aus einem SSD-Controller im Gehäuse eines USB-Sticks besteht, wird auch als festes Laufwerk angezeigt, obwohl es anscheinend kein Problem gibt, kurzerhand und ohne zu ziehen Wenn eine sichere Entfernung durchgeführt wird, wird die Schreibzwischenspeicherung aufgrund der Geschwindigkeit und möglicherweise auch aufgrund anderer Faktoren zumindest deaktiviert, da dieses Problem scheinbar nie auftritt und die sofortige Entfernbarkeit beibehalten wird. Dies ist nicht unbedingt ein perfektes Beispiel, da ich meine Tests nicht gründlich durchgearbeitet habe (dies ist nur eine Anekdote), aber es kann ein wenig Licht in diese Angelegenheit bringen, da es sich um eine "feste" Angelegenheit handelt, die jedoch offensichtlich nicht anfällig für dieses Problem ist. Nur zum Nachdenken anregen.

<- Die Lösung ->

Wie auch immer, einfach ausgedrückt, müssen Sie das Laufwerk offline schalten. Sie können dies auf zwei Arten tun. Hinweis: Es gibt etwas kürzere Möglichkeiten, dies zu tun, aber hier sind die lächerlich gründlichen Schritte, da ich mein Publikum nicht kenne. Die GUI-Methode ist mit Abstand die schnellste, da diskpart.exe keine Schalter oder Inline-Befehle / Argumente akzeptiert.

  1. GUI: Ausführen -> "diskmgmt.msc" -> Finden Sie Ihr Laufwerk in der Liste der physischen Laufwerke (unterer Bereich) -> Klicken Sie mit der rechten Maustaste auf das Laufwerk (ganz links), nicht auf die Partition -> Klicken Sie auf "Offline"

Oder:

  1. CLI: Ausführen -> "cmd.exe" -> Typ "diskpart" -> Typ "list disk", suchen Sie Ihre Festplatte # -> Typ "select disk x", wobei x die # Ihrer Festplatte vom letzten Schritt ist -> Typ msgstr "Offline - Platte". Jetzt können Sie die Eingabeaufforderung beenden oder einfach "exit" bei diskpart eingeben und die Eingabeaufforderung schließen.

Anmerkungen:

  • Alles, was wichtig ist, sollte sein, das Volume offline zu schalten, da dies die NTFS-Blockierung auf dem Laufwerk aufhebt, aber das Entfernen der Festplatte ist einfacher und gründlicher.

  • Die Datenträgernummern sind zwischen diskpart.exe und diskmgmt.msc immer identisch, da sie die Informationen von derselben Stelle abrufen, nur für den Fall, dass Sie neugierig / besorgt / vorsichtig sind.


1
Rook, das sieht gut aus. Ich kann es kaum erwarten, es zu versuchen. Und ja, das passiert bei mir immer mit festen Laufwerken - normalerweise externen Laufwerken, auf denen VMs gehostet werden. Eine Frage bleibt: Nachdem das externe Laufwerk offline geschaltet wurde, was dann? Einfach den Stecker ziehen? Sicher entfernen?
Dennis G

Das hat bei mir funktioniert.
Hattenn

Das sieht nützlich aus, danke. Die Antwort von @elieux ist am einfachsten, wenn es nur der Task-Manager ist, der das Problem verursacht.
Reg Edit

Ich habe nur ein paar alte Fragen noch einmal durchgesehen und den von Ihnen notierten Link zu Uwe Sieber removedrive.exe überprüft. Ich habe das Gefühl, dass dies über denselben Mechanismus funktioniert (das Verlassen und das Absteigen sind in Bezug auf ihre praktischen Auswirkungen ziemlich nahe beieinander, ersterer Dies gilt für ein physisches Laufwerk (emuliert oder nicht, wie ein iSCSI-Volume) und das letztere für eine bereitgestellte Partition / ein bereitgestelltes Volume (z. B. C :, X: usw.) hat die Option "-e" verwendet. Gemäß den Anweisungen in "" removedrive.exe: "" [-e] Versuchen Sie abzusteigen und auszuwerfen, wenn das Entfernen fehlschlägt. ""
Rook,

Schließlich scheint
Rook

10

Heute ist es mir eingefallen, in das Ereignisprotokoll zu schauen. Ich habe dies gleich nach dem Entfernungsversuch festgestellt:

Protokoll: System, Quelle: Kernel-PnP, Ereignis-ID: 225, Ebene: Warnung

Die Anwendung \ Device \ HarddiskVolume2 \ Windows \ System32 \ Taskmgr.exe mit der Prozess-ID 6436 hat das Entfernen oder Auswerfen des Geräts [...] gestoppt.

Also habe ich Task Manager geschlossen und Safe Remove funktioniert.


Ausgezeichnet! Dies löste das Problem für mich. Warum konnte Microsoft diese Informationen nicht in das Dialogfeld einfügen, in dem angegeben ist, dass "ein Programm" das Laufwerk noch verwendet?
Reg Edit

Großartig, das hat das Problem auch für mich gelöst. Windows 10. Gefunden, dass ich Taskmgr in Autostart hatte. Warum sperrt Taskmgr USB-Laufwerke?
weberjn

Obwohl das Abschalten (siehe @ rooks Antwort) und Fsutil-Zeug in der Vergangenheit für mich funktioniert hat, hat es heute nicht funktioniert. ProcessExplorer dachte, es sei nur "System", das die Sperrung durchführt. In jedem Fall zeigte EventViewer den gleichen Schuldigen wie Sie (TaskManager), also schloss ich das aus und war golden.
mpag

5

Ich habe dieses Batch-Skript erstellt, um ein beliebiges Volume "freizuschalten". Führen Sie einfach das .bat-Skript als Administrator aus, wählen Sie das Volume aus und drücken Sie die EINGABETASTE. Danach sollten Sie in der Lage sein, das Gerät wie gewohnt mit "Safe remove" abzunehmen.

@echo off
@cls

set tempfile="%TEMP%\diskscrp.dsk"

echo.
echo   === Disk removal tool ===
echo.
echo   Select the disk volume number
echo   (if the disk has multiple volumes, select any of them)
echo.
echo list volume | diskpart | findstr /C:Volume /C:---
echo.
set /p volume="   Selected volume: "
echo.

echo select volume %volume% >>%tempfile%
echo offline disk >>%tempfile%
echo online disk >>%tempfile%

diskpart /s %tempfile% | findstr /C:"not valid"

if "%ERRORLEVEL%"=="1" (
  echo   Disk has been unlocked successfully.  Try to safely remove it now.
)

del /F %tempfile%

Dieses Skript basiert auf dem @Rook-Vorschlag, sodass diskpartdie Festplatte offline geschaltet wird. In diesem Fall werden alle Griffe zwangsweise geschlossen. Der Unterschied in diesem Skript besteht darin, dass der Datenträger automatisch wieder online geschaltet wird, sodass er beim nächsten Verbinden mit dem System erkannt werden kann.


Süss! Ich habe es nicht benutzt, aber ich schätze Ihre Initiative, es allen anderen leichter zu machen ... Ich habe ein paar andere Hilfsprogramme bekommen, die weitere Informationen liefern (zB Hotswap !: mt-naka.com/hotswap/index_enu.htm ) Wechseldatenträger / Festplattenlaufwerke als die integrierten Windows-Laufwerke, haben jedoch keine schnelle und schmutzige offline-basierte Lösung gefunden. Das ist also großartig!
Rook

3

Ein großer Teil der externen Laufwerks- / Windows-Betriebssystemkombinationen hat dieses Problem, möglicherweise die meisten.

Ich schlafe meine Box (einen Laptop) und warte zehn Sekunden, bis das externe Laufwerk ausgeschaltet ist (ich kann es hören). Dann ziehen Sie den Stecker aus der Steckdose.

Wenn das System schläft, sind alle E / A-Vorgänge abgeschlossen und der E / A-Bus ist stillgelegt. Auf das Abschalten des Laufwerks warten "Riemen und Hosenträger".

(Beachten Sie, dass ein Ruhezustand völlig ausreichend sein sollte, wenn einer zu paranoid für diesen Ansatz ist. Ein vollständiges Ausschalten sollte nicht erforderlich sein.)


Eine Problemumgehung, aber das sollte funktionieren.
Dennis G

1

Im Moment können Sie nur versuchen, das externe Gerät vom Computer zu trennen, indem Sie den Computer herunterfahren und dann den Netzstecker ziehen. Versuchen Sie daher, Daten zu verlieren, und richten Sie es zum einfachen Entfernen ein, um Datenverlust zu vermeiden, wenn Sie den Computer einfach vom Computer trennen, ohne ihn abzuhängen.

Um ehrlich zu sein, klingt es wie ein MBR-Fehler, bei dem das Laufwerk feststeckt und sich wie immer eingesteckt darstellt. In diesem Fall könnten Sie den MBR beschädigen und 2 Optionen haben, die manuell repariert werden der MBR oder der Versuch, Software wie MBR-Reparatur zu verwenden, um erneut auf das Laufwerk zugreifen zu können, oder Software wie gparted, um die Festplatte erneut zu formatieren und eine neue Partitionstabelle einzurichten, in der der Fehler höchstwahrscheinlich aufgetreten ist.


"dann zum einfachen Entfernen einrichten" <- könnten Sie erläutern, was Sie meinen? Woher weiß ich, dass das Laufwerk denkt, es sei immer angeschlossen, dh kein externes USB-Laufwerk?
Dennis G

Schließen Sie das Laufwerk wieder an, nachdem es im ausgeschalteten Zustand und nach dem Neustart des Computers entfernt wurde. Wählen Sie Eigenschaften, Hardware, klicken Sie auf das Laufwerk, Eigenschaften, Richtlinien und optimieren Sie es für eine schnelle Entfernung. EDIT: In Ihrer Frage geben Sie an, dass es sich tatsächlich um ein externes USB-Laufwerk handelt.
user88311

In den meisten Fällen installiert das System externe Laufwerke mit gesetztem Flag "Schnellentfernung". Und, wie ich zusammenfasse, soll diese Einstellung "höchst unwahrscheinlich" machen, dass das einfache Abziehen des Laufwerks Probleme verursacht.
Daniel R Hicks

1

Ich glaube, diese Dateien gehören zum Transactional NTFS (TxF).

Ich habe gehört, dass Transactional NTFS von Autoupdate verwendet wird, habe aber keine Ahnung, warum das System dies auf eine externe Festplatte kopieren möchte und es dann bei einer Anforderung zum sicheren Entfernen nicht stoppen kann. Fsutil-Ressourceninfo zeigt keine Aktivität an.

Versuchen Sie in der Cmd-Konsole:

fsutil resource stop E:

oder, wenn es nicht hilft,

fsutil resource setautoreset true

und neu starten. Sie können auch versuchen, einen TxF-bezogenen Dienst unter Computerverwaltung / Dienste zu beenden


Das ist ziemlich interessantes Zeug! Ich werde es das nächste Mal untersuchen, wenn es passiert.
Dennis G

2
Aber ... funktioniert nicht. Beim Ausführen von fsutil resource stop <drive:>sysinternals werden handle.exekeine Handles angezeigt . Sie werden also entfernt, aber wenn ich dann versuche, sie sicher zu entfernen, sind die Griffe wieder da, wo sie waren.
Dennis G

0

Ich hatte das gleiche kürzlich mit einem Flash-Laufwerk passiert. Wie Sie zeigte ich weiterhin aktive $ Extend-Punkte an und nahm an, dass sie mich daran hinderten, das Laufwerk sicher zu entfernen. Ich stolperte über diese Frage und versuchte, Sems fsutilVorschlag wirkungslos zu machen. Was für mich funktioniert hat, war das manuelle Abmelden des Laufwerks. Da mein Flash-Laufwerk als F: gemountet wurde, lief ich:

mountvol f: /d

Ich habe dann das Laufwerk ausgesteckt, es wieder eingesteckt, es erneut mit aktiviert mountvol f: <volumename>und eine Weile verwendet. Als ich fertig war, überprüfte ich die aktiven Ziehpunkte und sah dieselben $ Extend-Einträge, die ich zuvor bemerkt hatte. Als ich versuchte, die "normale" sichere Entfernung durchzuführen, war dies trotz der aktiven Handles erfolgreich.

Ich weiß nicht, ob es ein Zufall war, dass dies für mich funktioniert hat, aber ich füge es hier hinzu, falls es jemand anderem hilft.


Ich denke, das $ extend-Zeug ist ein roter Hering - es gibt einen anderen Grund, der Windows davon abhält, das Laufwerk abzumelden.
Daniel R Hicks

Einverstanden, diese Erkenntnis war der Hauptgrund, warum ich diese Antwort gepostet habe. Ich hatte sinnlos Probleme mit $ extend verfolgt und festgestellt, dass diese Griffe keine Probleme mit dem sicheren Entfernen verursachen. Ich hoffe nur, dass diese Antwort dem nächsten unglücklichen Fischer hilft, da dieser rote Hering mich auf diese Frage gebracht hat :).
Ajk
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.