Wie man "rm -rf --no-preserve-root" in bash unter Windows verwendet

935
c2416726

Windows Subsystem for LinuxWie kann ich nach dem Einschalten des Entwicklermodus und der Installation des rmBefehls den Befehl in der Bash-Shell im Administratormodus ausführen?

Beispiel:

rm -rf --no-preserve-root C:/Windows/System32 
1
Versuchen Sie, den Teil "C:" zu entfernen. Linux verwendet das Zeug nicht. (Ich bin mir nicht sicher, ob das Linux-Subsystem das erlaubt.) Riker vor 7 Jahren 0
** WARNUNG **: Wenn es funktioniert, würde der Befehl Windows brechen ... DavidPostill vor 7 Jahren 0
Sie suchen nach "/ mnt / c / ...", aber sehen Sie die Warnung oben. DavidPostill vor 7 Jahren 0
@DavidPostill Die Verwendung von `/ mnt / c /` funktioniert möglicherweise unter Unix OS. Wird der Befehl jedoch erfolgreich ausgeführt, wenn er in bash unter Windows ausgeführt wird? Ich denke, Windows hat nicht das Äquivalent von "preserve-root". c2416726 vor 7 Jahren 0
Aber ... äh ... warum? Führen Sie einfach `format C:` aus dem regulären cmd aus rahuldottech vor 7 Jahren 0
@ C2416726 Ja, das wird es. Sehen Sie meine Antwort. DavidPostill vor 7 Jahren 0
@ Rahul2001, da der Befehl 'rm' eine POSIX-Standardkonformität ist und `format` eine proprietäre Closed-Source-Implementierung von Micro $ oft ist. c2416726 vor 7 Jahren 0
@ C2416726 Ist es wichtig, solange Sie am Ende nur das Betriebssystem ruinieren? rahuldottech vor 7 Jahren 0
`--no-preserve-root` tut nicht das, was Sie denken. Daniel B vor 7 Jahren 0
@DanielB Bist du sicher? Sehen Sie meine Antwort. DavidPostill vor 7 Jahren 0
@DavidPostill Ja, hier ist es völlig irrelevant, es sei denn, einige Implementierungsdetails beeinträchtigen dies. `--preserve-root`, die Standardeinstellung, prüft` rm`, welches Gerät unter `/` installiert ist. Beim Löschen werden dann Instanzen dieses Geräts übersprungen. Da `/` sich von `/ mnt / c` unterscheiden sollte (aber wer weiß, wer weiß), sollte es hier keinen Unterschied machen. Daniel B vor 7 Jahren 0
@DanielB Lies meine Antwort. `/` und `/ mnt / c` verhalten sich anders, wenn es sich um` rm -rf --no-preserve-root` handelt. Wenn Sie `rm -rf --no- preserve-root" / "` ausführen, wird nur die Installation des Windows-Subsystems für Linux zerstört. Wenn Sie rm -rf --no- preserve-root "/ mnt / c / windows / system32 /" ausführen, wird Windows verweht. DavidPostill vor 7 Jahren 0
Ja, aber das meine ich nicht. Ich sage, dass "rm / mnt / c" und "rm --no-preserve-root / mnt / c" genau dieselbe Leistung erbringen sollten. Daniel B vor 7 Jahren 0

1 Antwort auf die Frage

1
DavidPostill

Wie kann ich den Befehl rm in der Bash-Shell verwenden, die im Administratormodus ausgeführt wird?

Beispiel:

 rm -rf --no-preserve-root C:/Windows/System32 

WARNUNG: Versuchen Sie nicht Folgendes.

Wenn Sie bash in WLS verwenden, müssen Sie Laufwerke über die mountPunkte ansprechen, also C:/werden /mnt/c/.

Wenn Sie jedoch versuchen, den obigen Befehl zu korrigieren, der wie beschrieben beschrieben ist, werden Sie Windows zerstören .

Während der Befehl ausgeführt wird, werden Sie feststellen, dass Windows zu den Standardprogrammeinstellungen zurückkehrt, da Anwendungen und klassische Programme vollständig oder teilweise von Ihrem System gelöscht werden. Sie werden auch feststellen, dass Anpassungen wie Designs und Desktophintergründe abgebrochen werden. Wenn Sie es noch nicht erkannt haben, stirbt Ihr System.

Lesen Sie weiter für alle blutigen Details.


rm -rf / in Windows Subsystem für Linux zeigt scharfe Zähne

Führen Sie keine in diesem Artikel genannten Befehle aus. Sie sind absichtlich sehr destruktiv für Ihr Windows-System.

Ich habe versucht, rm ​-rf --no-​preserve-root "/​mnt/c"im neuen Windows-Subsystem für Linux zu laufen . Ich wusste, dass ich mit dem gesamten Dateisystem interagieren und Dateien ändern und löschen konnte, aber ich hatte nicht erwartet, dass es so mächtig sein würde, wie es sich herausstellte.

Während der Befehl ausgeführt wird, werden Sie feststellen, dass Windows zu den Standardprogrammeinstellungen zurückkehrt, da Anwendungen und klassische Programme vollständig oder teilweise von Ihrem System gelöscht werden. Sie werden auch feststellen, dass Anpassungen wie Designs und Desktophintergründe abgebrochen werden. Wenn Sie es noch nicht erkannt haben, stirbt Ihr System.

Wenn Sie diesen Befehl unter einem vollständigen Linux-Kernel ausführen, wölbt sich das System normalerweise, bevor es gelingt, jede Datei vollständig zu löschen. Dateien, die derzeit vom Windows-Kernel geladen werden, und Dateien, die von Benutzern der Administrator-Benutzergruppe in Windows nicht beschrieben werden können, werden nicht gelöscht. Dadurch werden jedoch immer noch große Teile kritischer Systemdateien und Programme in Windows gelöscht.

Wenn Sie den obigen Befehl ausführen, werden im Standard-Windows-Installationsverzeichnis von C: Windows etwa 12 000 Dateien sowie alle Benutzerdateien in C: Users gelöscht und Ihr System kann nicht mehr booten! Sie können zwar noch einige Zeit in der Sitzung weiterarbeiten, wird jedoch möglicherweise nicht mehr reagieren und Sie werden auf einen blauen Bildschirm geworfen. Beim Neustart fehlen Windows Treiber und andere erforderliche Dateien.

Durch das Ausführen rm ​-rf --no-​preserve-root "/​"wird nur die Installation des Windows-Subsystems für Linux zerstört. Wenn Sie lxrun.exe /uninstall /full /y && lxrun.exe /install /yin der Eingabeaufforderung ausführen, wird es neu installiert und Sie können in Ubuntu innerhalb kürzester Zeit eine Sicherung durchführen. Es wird den Symlink zum Windows-Dateisystem im Einhängepunkt nicht durchlaufen und das Löschen von Dingen auf dem Laufwerk C: beginnen. Wenn Sie dies ausdrücklich mit dem ersten Befehl tun, den ich erwähnt habe, können Sie Ihr System nicht stoppen.

Die Quelle rm -rf / im Windows-Subsystem für Linux zeigt scharfe Zähne