You can't do that with dd; you will always wind up with the larger drive being seen as a 512MB drive. The method you tried with creating an image and copying the files should work. To avoid the permission problems, use tar to do the copy instead of cp. Assuming your dd image is mounted at /mnt/image and your new larger drive is mounted at /mnt/big, you would run as root:
Code:
# cd /mnt/image
# tar -cf . | (cd /mnt/big; tar -xvf -)
If you want to use cp instead, it will probably work with:
Code:
# cp -pidRv /mnt/image/* /mnt/big
Those are the two most common methods I know. tar usually works better for me re perms and links than cp. Also, it's a good idea to be root as many times you will have files on the drive to be copied that are only readable by root