I have backed many Windows systems in the past using Linux. Today is the first time I am attempting a Windows Vista system.
Apparently, Windows Vista uses symlinks all over the place, and they are symlinks to fully qualified pathnames (generally this is a very bad idea IMHO - not the symlinks, but the fully qualified pathname part). For example, if I go to /mnt/sdb2/Users, I see things like "All Users -> /mnt/sdb2/ProgramData"
So when backing up "Users" via
Code:
cp -av "/mnt/sdb2/Users/" .
, I have many symlinks to a fully qualified pathname, which includes the mountpoint, "/mnt/sdb2". Well, in the future if I mount this backup, the mountpoint may not be /mnt/sdb2, and then all the symlinks will be dead. Is there some way to have the "cp" command convert to relative symlinks rather than fully qualified pathname symlinks? For now, I am just using
Code:
cp -LRv --preserve=all "/mnt/sdb2/Users/" .
which follows the symlinks rather than leaving them in place. I don't like this, but at least it gets all the files copied instead of a bunch of possibly dead symlinks. When did Windows start using symlinks anyway? I didn't think it was smart enough for this (indeed, it is not smart enough to use relative pathnames evidently). Not to mention that having "c:\Users\All Users -> c:\ProgramData" is a kind of brain-damaged symlink naming/use convention IMHO.
I was just wondering about this Windows symlink thing. In the past, on older versions of Windows, I don't remember every running into symlinks. I was only planning on backing up c:\Users, but with these new symlinks pointing to who-knows-where in Windows, I may need to backup all of c:\ instead. For all I know, there may be some symlink buried deep under c:\Users that points to c:\Windows. A backup of the entire disk is not what I originally wanted to do.