Comment puis-je vider toute la mémoire physique dans un fichier?

10

J'utilise Ubuntu 11.10 et souhaite simplement savoir si je peux vider toute la mémoire physique et permuter, car en raison de certaines restrictions du noyau, je ne peux pas dd /dev/mem, même en tant que superutilisateur.

Y at - il ou solution de contournement option pour permettre dd« ing /dev/memou un outil dédié à fait le faire correctement?

nanofarad
la source
1
wiki.ubuntu.com/Security/Features indique que kmem est désactivé et /dev/memrestreint.
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功

Réponses:

7

Utilisez fmem

dd /dev/memAuparavant, vous pouviez simplement revenir dans la journée, mais plus pour des raisons de sécurité (depuis le noyau 2.6, IIRC).

L'alternative est soit de construire le noyau vous-même avec l'option de laisser root faire cela (sera édité avec le nom plus tard, sur le téléphone maintenant) OU mieux, utilisez fmem , un module de noyau qui crée un /dev/fmempériphérique à peu près destiné à un dumping facile.


fmem fonctionne très bien pour moi le 12.04. Assurez-vous simplement d'utiliser le run.shfichier inclus dans l'archive tar pour charger le module; ne pas utiliser insmod:

$ ./run.sh
...
---- Zones de mémoire: -----
reg00: base = 0x000000000 (0 Mo), taille = 1024 Mo, nombre = 1: réécriture
reg01: base = 0x0c8800000 (3208 Mo), taille = 2 Mo, nombre = 1: combinaison d'écriture
-----------------------
!!! N'oubliez pas d'ajouter "count =" à dd !!!


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


$ sudo dd if = / dev / fmem of = / tmp / fmem_dump.dd bs = 1 Mo count = 10
10 + 0 enregistrements dans
10 + 0 enregistrements en sortie
10000000 octets (10 Mo) copiés, 0,0331212 s, 302 Mo / s
ish
la source
Fonctionne comme un charme. Dois-je relancer make si je redémarre?
nanofarad
Non, seulement lorsque vous changez de noyau :)
ish