Você pode estar com problemas porque /dev/mem
tem falhas: localizações de memória que não existem não podem ser lidas.
strings
é projetado para ler um arquivo regular (ou pipe ou outro fluxo de entrada) do início ao fim e assume que não pode haver falhas em sua entrada. Provavelmente anula a primeira vez que recebe um erro de leitura, o que corresponderia ao primeiro furo em /dev/mem
. Isso significa que nunca iria ler nada além do primeiro buraco.