Bagaimana saya bisa membuang semua memori fisik ke file?

10

Saya menggunakan Ubuntu 11.10, dan hanya ingin tahu apakah saya bisa membuang semua memori fisik dan swap, karena beberapa batasan kernel, saya tidak bisa dd /dev/mem, bahkan sebagai superuser.

Apakah ada solusi atau pilihan untuk mengizinkan dd'ing /dev/mematau alat khusus dibuat untuk melakukan ini dengan benar?

nanofarad
sumber
1
wiki.ubuntu.com/Security/Features mengatakan bahwa kmem dinonaktifkan, dan /dev/memdibatasi.
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功

Jawaban:

7

Gunakan fmem

Dulu Anda hanya dapat dd /dev/memkembali pada hari itu, tetapi tidak lagi karena alasan keamanan (karena kernel 2.6, IIRC).

Alternatifnya adalah membangun sendiri kernel dengan opsi untuk membiarkan root melakukan itu (akan diedit dengan nama nanti, di ponsel sekarang) ATAU lebih baik, gunakan fmem , modul kernel yang menciptakan /dev/fmemperangkat yang cukup banyak dimaksudkan untuk memudahkan dumping.


fmem sangat cocok untuk saya di 12.04. Pastikan Anda menggunakan run.shfile yang termasuk dalam tarball untuk memuat modul; jangan gunakan insmod:

$ ./run.sh
...
---- Area memori: -----
reg00: base = 0x000000000 (0MB), size = 1024MB, count = 1: write-back
reg01: base = 0x0c8800000 (3208MB), ukuran = 2MB, jumlah = 1: kombinasi tulis
-----------------------
!!! Jangan lupa tambahkan "count =" ke dd !!!


$ ls / dev / f *
/ dev / fb0 / dev / fd0 / dev / fmem / dev / penuh / dev / fuse


$ sudo dd if = / dev / fmem dari = / tmp / fmem_dump.dd bs = 1MB count = 10
10 + 0 catatan dalam
10 + 0 catatan keluar
10000000 byte (10 MB) disalin, 0,0331212 s, 302 MB / s
ish
sumber
Bekerja seperti pesona. Apakah saya perlu menjalankan make lagi jika saya reboot?
nanofarad
Tidak, hanya ketika Anda mengganti kernel :)
ish