Wie greife ich in OSX auf / dev / mem zu?

Antworten:

12

Nach Zugriff auf Kernel - Speicher auf der x86 - Version von Mac OS X , /dev/memund /dev/kmemwurden entfernt , wenn Apple OS X für Intel - Prozessoren veröffentlicht.

Der (ausgezeichnete) Artikel erklärt auch, wie die Speichergeräte wieder aktiviert werden , und zwar mithilfe des kmem=1Kernel-Boot-Arguments.

Beachten Sie, dass, wie unten von neal kommentiert , in macOS 10.15 Catalina (und wahrscheinlich seit macOS 10.12 Sierra) die NVRAM-Einstellungen nur geändert werden können, wenn Ihr Mac im Wiederherstellungsmodus gestartet wird . Um in den Wiederherstellungsmodus zu wechseln , schalten Sie Ihren Mac ein und halten Sie -R sofort gedrückt, bis das Logo angezeigt wird. Starten Sie Terminal über das Menü Dienstprogramme in der Menüleiste und führen Sie Folgendes aus:

sudo nvram boot-args="kmem=1"

und neu starten. Sie sollten diese beiden Geräte sehen:

$ ls -l /dev/*mem
crw-r----- 1 root kmem 3, 1 2014-02-28 22:09 /dev/kmem
crw-r----- 1 root kmem 3, 0 2014-02-28 22:09 /dev/mem

(In früheren Versionen von macOS wie OS X Mavericks 10.9.2 können Sie die Speichergeräte im Betriebssystem wieder aktivieren. Starten Sie einfach Terminal, geben Sie den obigen Befehl ein und starten Sie den Computer neu.)

Wenn Ihr Mac nicht startet oder Probleme auftreten , setzen Sie den NVRAM zurück, indem Sie optionPRdie Tasten gedrückt halten, bis Sie den Startton zum zweiten Mal hören. Dies wird unter "Zurücksetzen von NVRAM / PRAM" in KB HT1379 über NVRAM und PRAM erläutert .

Wenn Sie das Argument zurücksetzen möchten, geben Sie ein sudo nvram -d boot-argsund überprüfen Sie, ob nvram -p | grep boot-argskeine Ergebnisse gedruckt werden.

jaume
quelle
1
Ich habe diese Methode in macOS Sierra ausprobiert, aber die Geräte wurden nicht unter /devangezeigt. Vielleicht wissen Sie, ob Apple diese Option geschlossen hat und ob es in 10.12 eine andere Alternative für den Zugriff auf diesen Speicher gibt?
Zohar81
1
Irgendwann konnten die NVRAM-Einstellungen nur geändert werden, wenn Ihr Mac im Wiederherstellungsmodus gestartet wurde. Wenn Sie also Ihren Mac einschalten und Cmd-R sofort gedrückt halten, bis das Logo angezeigt wird, dann von der Benutzeroberfläche der Wiederherstellungsinstallation zu einem Terminal wechseln und den Befehl ausführen, sollte es funktionieren. Das hat gestern bei OS X Catalina für mich funktioniert.
Neal
4

Ich glaube, ich habe es geschafft, auf macOS Sierra zu arbeiten! Ich habe das Projekt von comex heruntergeladen: Kmem Project Ich habe den Text kompiliert, die Berechtigungen korrigiert und ihn dann geladen! Mit dem Terminal ging ich hinein /devund lszeigte beide memund kmem...

Bearbeiten: Wenn Sie das Projekt herunterladen, müssen Sie nur den Compiler in Xcode ändern, um die neueste Version zu verwenden (zum Beispiel ... Ich weiß nicht, ob andere Versionen funktionieren ...), um schnell auf die Ergebnisse zugreifen zu können, die ich bereits erstellt habe eine Abzweigung von Comex 'Projekt, das unter macOS Sierra kompiliert wird! Kmem für Sierra Fork

Auch dies ist die Arbeit von Comex, nicht meine. Ich habe nur die Compiler-Einstellung geändert und sie hochgeladen! :) :)

Nickolas Pylarinos
quelle