Bleibt auf blauem Bildschirm hängen, nachdem „rm *“ in / ausgeführt wurde

rm *Ich habe versehentlich ausgeführt /und seitdem kann ich meinen Desktop nicht mehr sehen. Alles, was ich sehe, ist ein blauer Bildschirm mit sich drehenden Geräten.

Ironischerweise habe ich irgendwie mein Betriebssystem und andere CDs verpasst, die mit meinem Mac geliefert wurden. Ich habe diesen Artikel zum Starten im abgesicherten Modus befolgt, aber es zeigt lange Zeit einen Fortschrittsbalken und bleibt dann wieder auf dem blauen Bildschirm hängen

Angehängt ist ein Bildschirm, den ich beim Booten sehe.

Geben Sie hier die Bildbeschreibung ein

Ich komme auch nicht in den abgesicherten Modus, wie komme ich also wieder zu einem funktionierenden System?

PS: Ich frage mich auch, ob ich meine Desktop-Einstellungen wiederbekommen kann, ohne alle Einstellungen zu kompromittieren? Ich interessiere mich besonders für Software, die über Home Brew installiert wurde, Datenbanken usw. Ist es möglich, gelöschte Dateien durch eine Art Reparatur über CD wiederherzustellen oder zu kopieren? Meine versteckten Dateien, die bash_profile usw. enthalten, sind auch da. Können Sie mir sagen, wie ich vorgehen soll?

aktualisieren Ich melde mich im Einzelmodus an. Bild prüfen. Was mache ich jetzt?

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Update Nr. 3

Geben Sie hier die Bildbeschreibung ein

endlich

Geben Sie hier die Bildbeschreibung ein

Erinnern Sie sich an den genauen Befehl, den Sie ausführen, an den Benutzer, mit dem Sie zu diesem Zeitpunkt angemeldet waren, und an die Ausgabe, die der Befehl generiert hat?
Haben Sie die -rOption (oder die -R) Option verwendet? Wenn du es nicht getan hast, sollte das nicht passieren.
Nein ich weiß rm mit asterisk ran. Nur Dateien entfernt. Alle Ordner sind da, weil ich mein System auch nach dem Ausführen des Befehls in der GUI verwendet habe, nur kann ich es nach dem Neustart nicht verwenden
@patrix es wurde nur ausgegeben, dass Ordner nicht gelöscht wurden, da sie Verzeichnisse waren
Im Moment ist Ihre größte Sorge, wie Sie zu einem funktionierenden System zurückkehren, nicht, ob Ihre Homebrew-Installation überlebt hat.
Können Sie in den Einzelbenutzermodus booten, indem Sie CMD+s sofort einschalten und gedrückt halten? Dann mount -o rw, remount / und die fehlenden Symlinks neu erstellen?

Antworten (1)

Abhängig von Ihrer Systemeinstellung und Ihrem Befehl haben Sie wahrscheinlich nur einige Dateien - darunter eine wichtige - und Ordner und einige Sym-Links verloren.

Die Verwendung des Befehls rm *- ausgeführt von einem Administrator im Root-Ordner - löscht normalerweise nur den Sym-Link /etc:

  • Booten Sie in den Einzelbenutzermodus, überprüfen Sie Ihr Dateisystem mit /sbin/fsck -fyund mounten Sie root read/writeable mit /sbin/mount -rw /. Erstellen Sie dann den Sym-Link /etc mit neu ln -s /private/etc /etcund starten Sie Ihren Mac mit neu shutdown -r now.

Mit dem Befehl sudo rm *, der von einem Sudoer im Root-Ordner ausgeführt wird, verlieren Sie in einem Standard-Setup nur die Datei „mach_kernel“ und die Sym-Links „etc“, „tmp“ und „var“.

(Es wurden keine anderen Dateien im Dateisystem gelöscht) . Nach weiteren Untersuchungen stellt sich heraus, dass einige andere Dateien und Ordner auch häufig gelöscht werden: ein Ordner mit einem sudoer-Namen (normalerweise der Kurzname Ihres Admin-Kontos) in /private/var/db/sudo/ und eine .state-Datei mit einer willkürlicher Name (die generierte UID Ihres Admin-/Sudoer-Kontos), der sich auf eine andere gleichnamige Datei in /private/var/db/shadow/hash/ bezieht. Ich kann nicht feststellen, ob sie durch „sudo“, „rm“ oder „sudo rm“ gelöscht werden. Diese Dateien und Ordner sind jedoch von untergeordneter Bedeutung.

fsevent

Ich habe das in einer fast Vanilla Mac OS X 10.6.8 Server-VM getestet.

Vor dem Ausführen sudo rm *sieht der Stammordner so aus - unsichtbare Dateien, Ordner und symbolische Links enthalten - mit ls -la:

drwxrwxr-t  32 root  admin      1156 25 Dez 11:55 .
drwxrwxr-t  32 root  admin      1156 25 Dez 11:55 ..
-rw-rw-r--   1 root  admin     15364  4 Jan 14:35 .DS_Store
drwx------   3 root  admin       102 10 Sep 01:37 .Spotlight-V100
d-wx-wx-wt   2 root  staff        68 10 Sep 01:23 .Trashes
----------   1 root  admin         0 23 Jun  2009 .file
drwx------  38 root  admin      1292  4 Jan 14:59 .fseventsd
-rw-------   1 root  wheel      4096 10 Sep 01:29 .hotfiles.btree
drwxr-xr-x@  2 root  wheel        68 18 Mai  2009 .vol
drwxrwxr-x+ 35 root  admin      1190 25 Dez 16:49 Applications
drwxrwxr-x@ 16 root  admin       544 25 Dez 12:04 Developer
drwxrwxr-t+  2 root  admin        68 10 Sep 01:37 Groups
drwxrwxr-t+ 65 root  admin      2210 25 Dez 12:02 Library
drwxr-xr-x@  3 root  wheel       102 26 Feb 20:43 Network
drwxr-xr-x   4 root  wheel       136 10 Sep 01:28 Shared Items
drwxr-xr-x   4 root  wheel       136 10 Sep 02:02 System
drwxr-xr-x+  5 root  admin       170 10 Sep 01:37 Users
drwxrwxrwt@  4 root  admin       136 26 Feb 20:43 Volumes
drwxr-xr-x@ 39 root  wheel      1326 10 Sep 02:09 bin
drwxrwxr-t@  2 root  admin        68 23 Jun  2009 cores
dr-xr-xr-x   3 root  wheel      4013 26 Feb 20:43 dev
lrwxr-xr-x@  1 root  wheel        11 10 Sep 01:26 etc -> private/etc
dr-xr-xr-x   2 root  wheel         1 26 Feb 20:43 home
-rw-r--r--@  1 root  wheel  20828964  8 Jun  2011 mach_kernel
dr-xr-xr-x   2 root  wheel         1 26 Feb 20:43 net
drwxr-xr-x@  6 root  wheel       204 10 Sep 01:28 private
drwxr-xr-x@ 68 root  wheel      2312 10 Sep 02:09 sbin
lrwxr-xr-x@  1 root  wheel        11 10 Sep 01:26 tmp -> private/tmp
drwxr-xr-x@ 14 root  wheel       476 25 Dez 11:57 usr
lrwxr-xr-x@  1 root  wheel        11 10 Sep 01:26 var -> private/var

Nachdem sudo rm *nur eine Datei ausgeführt wurde und die Sym-Links verschwunden sind:

drwxrwxr-t  28 root  admin   1020 26 Feb 19:41 .
drwxrwxr-t  28 root  admin   1020 26 Feb 19:41 ..
-rw-rw-r--   1 root  admin  21508 26 Feb 19:41 .DS_Store
drwx------   3 root  admin    102  9 Sep 23:37 .Spotlight-V100
d-wx-wx-wt   2 root  20        68  9 Sep 23:23 .Trashes
----------   1 root  admin      0 23 Jun  2009 .file
drwx------  38 root  admin   1292  4 Jan 13:59 .fseventsd
-rw-------   1 root  wheel   4096  9 Sep 23:29 .hotfiles.btree
drwxr-xr-x@  2 root  wheel     68 18 Mai  2009 .vol
drwxrwxr-x+ 35 root  admin   1190 25 Dez 15:49 Applications
drwxrwxr-x@ 16 root  admin    544 25 Dez 11:04 Developer
drwxrwxr-t+  2 root  admin     68  9 Sep 23:37 Groups
drwxrwxr-t+ 65 root  admin   2210 25 Dez 11:02 Library
drwxr-xr-x@  3 root  wheel    102 26 Feb 19:39 Network
drwxr-xr-x   4 root  wheel    136  9 Sep 23:28 Shared Items
drwxr-xr-x   4 root  wheel    136 10 Sep 00:02 System
drwxr-xr-x+  5 root  admin    170  9 Sep 23:37 Users
drwxrwxrwt@  4 root  admin    136 26 Feb 19:39 Volumes
drwxr-xr-x@ 39 root  wheel   1326 10 Sep 00:09 bin
drwxrwxr-t@  2 root  admin     68 23 Jun  2009 cores
dr-xr-xr-x   3 root  wheel   4013 26 Feb 19:39 dev
dr-xr-xr-x   2 root  wheel      1 26 Feb 19:39 home
dr-xr-xr-x   2 root  wheel      1 26 Feb 19:39 net
drwxr-xr-x@  6 root  wheel    204  9 Sep 23:28 private
drwxr-xr-x@ 68 root  wheel   2312 10 Sep 00:09 sbin
drwxr-xr-x@ 14 root  wheel    476 25 Dez 10:57 usr

Bei einer nicht standardmäßigen Einrichtung werden auch alle anderen Dateien und symbolischen Links im Stammordner (sofern vorhanden) gelöscht. Alle nicht standardmäßigen Ordner (z. B. /opt) bleiben erhalten.

  • Wenn Sie die Kernel-Datei nicht gelöscht haben (was unwahrscheinlich ist), versuchen Sie, im Einzelbenutzermodus zu booten, und erstellen Sie die drei gelöschten Sym-Links mit ln -s /.../folder /folder(zB ln -s /private/etc /etc)

  • Wenn Sie ein Backup haben und die Kernel-Datei gelöscht haben, versuchen Sie, die Datei mach_kernel, die symbolischen Links, den Ordner mit Ihrem Admin-Benutzernamen in ../sudo/ und die fehlende Zustandsdatei wiederherzustellen. Sie benötigen eine bootfähige Festplatte/ein USB-Stick, um diese Dateien aus der Sicherung wiederherzustellen.

  • Wenn Sie kein Backup haben, versuchen Sie, die Datei mach_kernel von einem anderen Mac mit demselben System (zB 10.6.8) zu kopieren. Erstellen Sie die Symlinks neu. Wahrscheinlich müssen Sie Besitz und Berechtigungen anpassen (siehe Auflistung).

    "mach_kernel" ist auch im Mac OS X Combo Update 10.6.8 und wahrscheinlich anderen Combo-Updatern wie Mac OS X Combo Update 10.6.6 und Mac OS X Combo Update 10.6.7 verfügbar. Daher sollte das Aktualisieren Ihres beschädigten Systems mit dem Combo-Updater von einem externen bootfähigen USB-Stick oder im Zielfestplattenmodus an einen anderen Mac angeschlossen auch funktionieren.

    Nach dem Wiederherstellen der Kernel-Datei und der symbolischen Links können Sie in den Superuser-Modus booten mount -o rw,remount /und den fehlenden Ordner in /private/var/db/sudo/ mit eingeben und erstellen mkdir /private/var/db/sudo/adminname. Die fehlende .state-Datei baut sich selbst neu auf.

Wenn Sie ausgeführt haben sudo rm -dR *, sind Sie ohne ein angemessenes Backup zum Scheitern verurteilt. Mein System war danach nicht mehr bootfähig, aber verwirrenderweise wurden nur ~524 MB von 9860 MB gelöscht, nachdem Bestätigungen für „/System/Library/CoreServices/boot.efi“ und „/dev/fd/4“ überschrieben wurden.
Bei einem zweiten Versuch habe ich mit 8445 MB von 9860 MB gelöscht bekommen sudo rm -dR *. Der erste Versuch wäre vielleicht auch mit dem Combo-Update behebbar gewesen, die wackligen Überreste des zweiten Versuchs sicher nicht.

All dies ist wunderbar, richtig und großartig, aber meine Erfahrung ist, wenn /System oder /Library getroffen wurde, kann das System nicht bis zum oder über den grauen Bildschirm booten. Ein blauer Bildschirm während des Bootens bedeutet, dass das Betriebssystem ausgecheckt, ordnungsgemäß (oder meistens so) gestartet wurde und die Benutzerumgebungsphase von launchd begonnen hat. Eine einfache Überprüfung wäre, die Datei /var/db/.AppleSetupDone im Einzelbenutzermodus sehr sorgfältig zu löschen und dann zu prüfen, ob Sie einen neuen Administratorbenutzer erstellen und mindestens eine Time Machine-Sicherung durchführen können, um zu sehen, welche Benutzerdateien gerettet werden können .
@klanomath Es ist interessant festzustellen, dass rm * keine Bilddateien auf root entfernt hat. Ich wundere mich warum.
@klanomath-rw-r-----@ 1 Adnan staff 2404856 Feb 26 21:33 mountain.jpg
@klanomath Die JPG-Datei wurde aus dem Internet heruntergeladen. Ich wurde von demselben Benutzer angemeldet, der den Befehl rm* ausgeführt hat.
@Volatil3 Vielleicht hat rm das Löschen von Dateien vor dem Erreichen von mountain.jpg einfach aufgegeben, da es wirklich erfolglos war, all diese Ordner zu löschen. Oder der Berg war einfach zu groß, um gelöscht zu werden. ;-) Beim Testen von sudo rm -dR * im Stammverzeichnis meiner virtuellen Maschine habe ich auch einige inkonsistente Ergebnisse erhalten: Überprüfen Sie einfach den allerletzten Teil meiner Antwort. Im 1. Versuch wurden nur 7 % des Inhalts gelöscht, im 2. Versuch 85 %.
@klanomath Ich bin wieder in Schwierigkeiten geraten, csn, bitte überprüfe meine neue Frage?