Hardlink in Systemdatei unter Win10 löschen

623
ST3

Ich habe feste Links in Systemdateien advapi32.dll, kernel32.dll und usw.

Ich habe die MoveFileEx- API zum Löschen mit MOVEFILE_DELAY_UNTIL_REBOOT verwendet . Im Wesentlichen wird die Registrierung HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager :: PendingFileRenameOperations während des Neustarts verwendet. Ich habe auch AllowProtectedRenames Hack enthalten.

Ohne AllowProtectedRenames gab es viele Fehler, aber mit diesem Set gibt es immer noch einige Dateien (feste Links), die in Windows 10 nicht entfernt werden können.

Ich frage mich, ob es eine Möglichkeit gibt, solche Verknüpfungen zu entfernen, ohne das externe Betriebssystem zu laden, da dieses Problem auf mehreren Rechnern liegt.

1
Warum sollten Sie diese tatsächlich entfernen? Wo sind diese Links? Besonders beide Dateien, die Sie erwähnt haben, sind für das System wirklich wichtig. Seth vor 6 Jahren 0
@Seth gibt es ein schlecht hergestelltes Werkzeug, das in mehreren Maschinen eine Menge Müll erzeugt hat. Ich möchte also bereinigen. ST3 vor 6 Jahren 0
Wenn es sich um zusätzliches Material handelt, sollten Sie es leicht entfernen können, indem Sie die Schritte dieses Werkzeugs umkehren. Als Beispiel, wenn Sie die feste Verknüpfung in einem Verzeichnis mit einer Anwendung haben, stoppen Sie diese Anwendung zuerst. Das Anwendungsverzeichnis ist normalerweise eines der ersten Verzeichnisse, nach denen nach Abhängigkeiten wie z. B. DLLs gesucht wird. Was ist die eigentliche Fehlermeldung, die Sie sehen? Die Verwendung eines Backups wäre wahrscheinlich die einfachste Option. Seth vor 6 Jahren 0

1 Antwort auf die Frage

1
ST3

Ich habe die gesamte Liste der Dateien geprüft, bei denen ein Problem aufgetreten ist . Ich habe also festgestellt, dass das Problem beim Löschen nur bei KnownDlls liegt . Also habe ich alle Dateien in die ExcludeFromKnowDlls- Liste aufgenommen. Auf diese Weise sperrt das Betriebssystem sie nicht und ist beim Neustart erfolgreich. Dies erfordert jedoch einen zusätzlichen Neustart, um den ursprünglichen (leeren) Wert von ExcludeFromKnowDlls wiederherzustellen .