Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I've just started off with FreeNAS and have got a bunch of data (300gb+) I need to get from a FAT32 partition which I need to shift to the FreeNAS ZFS partition.

FreeNAS has successfully mounted the FAT32 partition and can get to the contents, the only issue is that whever I try to do

mv, cp, tar
or
pax
to shift or create an archive of the files, it inevitably chokes on a file it finds with an odd character with an
Invalid argument
warning. The file name will be something like
foo?s bar.mp3
where the
?
will have been an apostrophe or such and FreeNAS doesn't understand it.

I understand I can mount the drive with a different charset to overcome this problem but can't find any reference to it online. Please could someone assist with the necessary arguments I need to use with mount and the syntax it takes, please. I can SSH to the box.

TIA

share|improve this question
    
An example of the sort of command I'm running: <pre>pax -w -v -f videofolder.tar /mnt/Elements/video</pre> And it will get so far and hit a file containing a "rogue" filename and will throw "Invalid Argument" thus missing out a lot of files. The idea being I'd expand the tarball in the new ZFS partition. –  Dan Jan 6 '10 at 13:17
    
This not an answer to your question but, a workaround. I had the same problem recently but it was on an external hard drive and only about a dozen files so, I just plugged it into another computer and manually renamed the files then plugged back into my FreeNAS box. –  Owen Nov 10 '10 at 16:50

1 Answer 1

up vote 1 down vote accepted

You can specify the charset to use for conversion at mount time. From man mount :

iocharset=value

Character set to use for converting between 8 bit characters and 16 bit Unicode characters. The default is iso8859-1. Long filenames are stored on disk in Unicode format.

Specify it in you fstab or through the -o switch if you're mounting the FS manually :

 mount -t vfat -o iocharset=<value> /dev/<xxx>
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.