ฉันจะสามารถเข้าถึงอุปกรณ์ที่เทียบเท่า / dev / mem (หรือ / dev / kmem, / dev / pmap) ได้อย่างไรใน OSX
เท่าที่ฉันรู้ว่ามันถูกลบออกในบางจุด
ฉันสามารถสร้างโหนดนี้ด้วยตนเองหรือวิธีอื่น ๆ ในการทิ้งหน่วยความจำกายภาพได้หรือไม่?
ดู:
ฉันจะสามารถเข้าถึงอุปกรณ์ที่เทียบเท่า / dev / mem (หรือ / dev / kmem, / dev / pmap) ได้อย่างไรใน OSX
เท่าที่ฉันรู้ว่ามันถูกลบออกในบางจุด
ฉันสามารถสร้างโหนดนี้ด้วยตนเองหรือวิธีอื่น ๆ ในการทิ้งหน่วยความจำกายภาพได้หรือไม่?
ดู:
คำตอบ:
ตามที่การเข้าถึงหน่วยความจำเคอร์เนลบนเวอร์ชัน x86 ของ Mac OS X , /dev/mem
และ/dev/kmem
ถูกถอดออกเมื่อ Apple เปิดตัว OS X สำหรับโปรเซสเซอร์ Intel
บทความ (ดีมาก) ยังอธิบายถึงวิธีการเปิดใช้งานอุปกรณ์หน่วยความจำอีกครั้ง ได้แก่ การใช้kmem=1
อาร์กิวเมนต์การบู๊ตเคอร์เนล
โปรดทราบว่าเป็นความเห็นด้านล่างโดยโอนีล , ใน MacOS 10.15 Catalina (และอาจจะตั้งแต่ MacOS 10.12 เซียร์) การตั้งค่า NVRAM เท่านั้นที่สามารถเปลี่ยนไปเมื่อ Mac ของคุณบูตเข้าสู่โหมดการกู้คืน ในการเข้าสู่โหมดการกู้คืนเปิดเครื่อง Mac ของคุณและกด⌘-R ค้างไว้จนกระทั่งโลโก้ปรากฏขึ้นเรียกใช้ Terminal จากเมนูยูทิลิตี้ในแถบเมนูเรียกใช้:
sudo nvram boot-args="kmem=1"
และรีบูต คุณควรเห็นอุปกรณ์ทั้งสองนี้:
$ 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
(ใน macOS รุ่นก่อนหน้าเช่น OS X Mavericks 10.9.2 คุณสามารถเปิดใช้งานอุปกรณ์หน่วยความจำภายในระบบปฏิบัติการอีกครั้งดังนั้นเพียงแค่เปิด Terminal พิมพ์คำสั่งด้านบนและรีบูต)
หาก Mac ของคุณไม่สามารถบู๊ตได้หรือมีปัญหาใด ๆให้รีเซ็ต NVRAM โดยกดปุ่ม⌘optionPRค้างไว้จนกว่าคุณจะได้ยินเสียงเริ่มต้นเป็นครั้งที่สองดังอธิบายใน "การรีเซ็ต NVRAM / PRAM" ในKB HT1379 เกี่ยวกับ NVRAM และ PRAM .
หากคุณต้องการรีเซ็ตอาร์กิวเมนต์ให้พิมพ์sudo nvram -d boot-args
และตรวจสอบnvram -p | grep boot-args
ว่าไม่ได้พิมพ์ผลลัพธ์ใด ๆ
ฉันคิดว่าฉันได้มันมาใช้กับ macOS Sierra! ฉันดาวน์โหลดโครงการของ comex: โครงการ
Kmem
ฉันรวบรวม kext แก้ไขสิทธิ์แล้วโหลดมัน! ใช้ terminal ฉันเดินเข้าไป/dev
และls
แสดงให้เห็นว่าทั้งสองmem
และkmem
...
แก้ไข: หากคุณดาวน์โหลดโครงการคุณจะต้องเปลี่ยนคอมไพเลอร์ใน Xcode เพื่อใช้งานล่าสุด (เช่น ... ฉันไม่รู้ว่าเวอร์ชันอื่นใช้งานได้หรือไม่ ... ) เพื่อการเข้าถึงผลลัพธ์อย่างรวดเร็วที่ฉันได้ทำไปแล้ว ทางแยกของโครงการ comex ที่คอมไพล์บน macOS Sierra! Kmem สำหรับ Sierra Fork
อีกครั้งนี่เป็นงานของ comex ไม่ใช่ของฉันฉันเพิ่งเปลี่ยนการตั้งค่าคอมไพเลอร์และอัปโหลด! :)
/dev
บางทีคุณรู้หรือไม่ว่า Apple ปิดตัวเลือกนี้และมีทางเลือกอื่นในการเข้าถึงหน่วยความจำใน 10.12 หรือไม่