For similar purposes I use tar.
It seems you should run tar to create archive from /
and extract on destination file system with preserving
permissions.
/proc should be skipped.
dev entryes will be created by tar correctly.
You may say from / being root as following:
tar cf - . --exclude proc --exclude mnt | tar xpf - -C mnt
where mnt is a directory on which your new drive is mounted.
Andrey V.
Savochkin