Archive file format change?

Please ask questions here if you are not familiar with fsarchiver
Post Reply
nuke
Posts: 3
Joined: Tue Jun 23, 2009 9:27 pm

Archive file format change?

Post by nuke » Tue Jun 23, 2009 9:46 pm

Hello.

In March I archived an XP partition. Today I wanted to restore it.

There is an error that states that the file format is wrong and to use another version of FSArchiver.

I used SystemRescue CD to create the archive in March. According to

Code: Select all

fsarchive archinfo
it says that the archive was created with [FSArCh_00X] instead of version [FSArCh_001]. The error also says to use v 0.4.3. I believe this version was on SystemRescueCD 1.1.6. I am trying to restore using SystemRescueCD 1.2.1 (Fsarchiver 0.5.7).

Is there a way to restore using fsarchiver 0.5.7 or to update the file format so this version can restore the archive??

Or do I have to create / find SysRCD 1.1.6 and use that version?

Where do I find info about the [FSArCh_00X] & [FSArCh_001]?

Thank you for your help.

admin
Site Admin
Posts: 550
Joined: Sat Feb 21, 2004 12:12 pm

Post by admin » Wed Jun 24, 2009 6:50 am

You really have to use fsarchiver-0.4.3. You can just download the static binary of version 0.4.3, it's really easy to use it. You can even make a customized sysresccd with this fsarchiver release if you often need it.

nuke
Posts: 3
Joined: Tue Jun 23, 2009 9:27 pm

Post by nuke » Wed Jun 24, 2009 10:25 am

Thank you for the suggestion.

I tried to use the older SystemRescueCD 1.1.6 with FSArchiver 0.4.3. I get an error that FSArchiver can't restore some files due to an xattr not being able to be set. I'm sorry but I didn't write down the full error.

Isn't this a bug that was fixed in a later version?

I also tried FSArchiver 0.4.7. And this version also uses a newer file archive format so won't open this [FSArCh_00X] archive.

As of this moment, it looks like I can't restore this archive. :-(

Are there any other suggestions as to what I can do?

Thank you very much for your help.

admin
Site Admin
Posts: 550
Joined: Sat Feb 21, 2004 12:12 pm

Post by admin » Wed Jun 24, 2009 7:44 pm

What filesystem are you working on (original fs, and fs when you restore) ? There may be error specific to the filesystem where you restore the data. You should try to restore to a different filesystem such as ext3 or reiserfs to see if it works:

Code: Select all

fsarchiver restfs myarchive.fsa id=0,dest=/dev/xxx,mkfs=ext3
If it does not work we may have to hack fsarchiver-0.5.7 to allow it to restore the old file format. I don't remember all the changes done between [FSArCh_00X] and [FSArCh_00Y] which is the same as [FSArCh_001].

It may work since the major modification is the new file format supports another way to store files which is more efficient for small files. Since the old format only use the traditional storage, it may work in this way.

The modification is just to remove the "return -1" in extract.c after this test:
strcmp(exar->ai.filefmt, FSA_FILEFORMAT)!=0

All the tools required to compile fsarchiver are on SystemRescueCd-1.2, you can just download the sources, make the modification to allow it to restore other file formats, and "./configure && make"

nuke
Posts: 3
Joined: Tue Jun 23, 2009 9:27 pm

Post by nuke » Wed Jun 24, 2009 8:07 pm

Thank you for your help.

I was archiving an WinXP (NTFS) partition. It was saved onto an external drive that is formated HFS. I was trying to restore back to the same ntfs partition.

I will need to do some fast learning about fiddling with the source code. I'm about 20 years past writing any code...

Out of curiosity, could I do this modifications in a virtual environment (VirtualBox)? i.e. make changes to SystemRescueCD & FSArchiver source, compile & build new LiveCD in a VirtualBox machine?

I have to travel so won't be back to the board until early next week.
Thank you again for your help.

admin
Site Admin
Posts: 550
Joined: Sat Feb 21, 2004 12:12 pm

Post by admin » Wed Jun 24, 2009 8:20 pm

You should try to restore to an ext3 filesystem using fsarchiver-0.4.3, and then use fsarchiver-0.5.7 to create an image of that ext3 filesystem, and restore to an ntfs filesystem. I did not try but the xattr should be preserved, and all the ntfs attributes are storted as xattr.

You don't need to be a programmer to do this change, just open the file with any editor and remove the line I mentioned, which is after the error message, it should be quite obvious. You will have to do this hack in the source code if you want to try to restore using fsarchiver-0.5.7.

The SystemRescueCd's version does not matter, just use 1.2.1 with the appropriate fsarchiver version.

Post Reply