[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: FAT32格式的U盘使用过程中变成了只读文件系统



2008/5/28 Chris <bbshliu@gmail.com>:
> On Wed, 2008-05-28 at 22:20 +0800, YueGuang wrote:
>> 在 2008-05-28三的 13:15 +0800,Mickey Fox写道:
>> > 在 08-5-28,Chris<bbshliu@gmail.com> 写道:
>> > > Mickey Fox 写道:
>> > > > 我有一个2G的FLASH盘,一直用着很好的。今天用来转换文件时,在Etch下发现有部分文件删不掉,错误显示居然是"只读文件系统",我是在一个目录下用
>> > > > mv *.deb /another/path
>> > > > 这样的命令想把文件转换到硬盘上,结果只有部分文件成功转移了,剩下的那些报告"只读文件系统"。
>> > > > 于是我改用cp加rm,发现rm时也是报告"只读文件系统"。
>> > > > 再用touch xx试着建立文件,同样的错误。
>> > > > 于是umount、eject后,拔U盘,仔细看看写保护锁,确实没加锁,再插上。
>> > > > 试着删了个没用的文件,成功。再进到刚才出问题的那个目录,rm又出同样的错误。
>> > > > 再拔插,touch xx成功,再rm有问题的部分,错误依旧。
>> > > > 每次都出错后就真地变成了只读文件系统,任何写振作都失败。
>> > > > 几次轮回之后,发现删不掉的文件长度变成了0,但还是删不掉。
>> > > > 后来到Windows下也删不掉这些文件了,提示需要检查文件系统。经查错后,这些文件都消失了。
>> > > > 再到Etch下用,目前再没有发现问题。
>> > > > 难道Linux对FAT32的支持还会有问题吗?我这还是第一回遇到这种问题,不知是不是遇到了稀有的BUG?还有人遇到过这样的问题吗?
>> > > >
>> > > 好像是文件系统的原因,我在windows下也遇到过,就是有文件名,就相当于文件
>> > > 入口吧,但是实际上是没有内容的。vista自动检查u盘错误就会把这个处理掉。不
>> > > 知debian应该怎么做。
>> > >
>> > 那些文件本来是有内容的,都是我在Windows下下在的.deb文件。前面忘了提一件事,出问题后我还用Debian中的msdos工具检查过文件系统,报了两个与长文件名有关的错误,但还是没有解决问题。
>>
>> 您的问题我也遇到过,不过不是U盘而是我的fat32硬盘分区。感觉是Linux对fat32
>> 的处理有bug.有时我在Linux下写入文件,在Windows下却看不到,不过磁盘扫描一
>> 下就正常了。
>>
>>
>
> 应该不是linux的bug,我的同学根本不会用linux,就在windows下操作,也会遇到
> 这种情况然后找我帮忙,应该是fat32这个文件系统本身的问题吧

不知道跟长文件名有没有关系,不知道波浪号(~)在文件名中扮演什么特殊角色没有?
有此怀疑是因为:
1. 我用Linux下的dosfsck命令检查当时出问题的FAT32分区(U盘)时,报告了长文件名问题,当时没记下完整的信息,大概意思好像是有长文件名却没有与之对应的短文件名。可惜处理完还是不行,不得不到Windows下去检查。
2. 我当时是用这个盘来拷贝在Windows下下载的DEB包,其中有些包文件名是带波浪号(~)的,但是这些文件名常常变了,波浪号及其后的若干字符变成了一个句点,不知是文件系统本身的要求,还是下载软件干的。
3. 我记得在FAT文件系统中长文件名对应的短文件名中是有一个波浪号的。

Reply to: