corrupted NTFS; damaged attributeentry (128, "") ?!

Mar 11, 2010 at 2:18 PM

Hey,

when I create a vhd with the latest changeset, afaik it depends again on the count of files, I get sometimes a corrupted NTFS.
Chkdsk brings the following error:
"Beschädigter Attributeintrag (128, "") wird vom Datensatzsegment 24 gelöscht."
which is translated something like:
"Damaged attributeentry (128, "") will be deleted from datasegment 24."

The numbers 128 and 24 stay the same over the differen vhds.

Can someone explain me what there is wrong?!
After chksdk /f, the NTFS is correct so there is nothing missing.

Ciao Ephraim

Mar 12, 2010 at 10:28 AM

I executed chkdsk with such a vhd mounted on an english system. There error message there is as follows:

"Attribute record (128, "") from file record segment 24 is corrupt."

Would a NTFSDump output help?

Ciao Ephraim

Coordinator
Mar 13, 2010 at 11:26 AM

Hi Ephraim,

The strange thing here is that the $ObjId file has a Data attribute, which it shouldn't.  I'm at a loss as to how the data attribute was created on the special $ObjId file.

Do you try to open the $Extend\$ObjId file for writing at any point in your code?  MetaFiles are normally hidden during directory enumeration, have you turned on enumeration of metafiles in the NtfsOptions?

 

Cheers,

Ken

Mar 15, 2010 at 9:44 AM
Edited Mar 15, 2010 at 9:44 AM

Hey,

$boot is done via NTFS format method afaik, but no other metafile is touched afai can see. My source is not NtfsFileSystem Object so I can't iterate over the meta files there and at the destination the ntfsoptions definitley aren't changed.
The only thing which I do beside DiscUtils API is writing the NTLDR Section to second till 6th or 8th sector of a partition directly via lvi.Open();

can a SetSecurity on @"\" create that problem.

Anyway, the code is used in multiple situations, but the bug is not permanent ... it happens sometimes.

But I can add some attribute checking to track the point done where it happens. Is there a way to double check this attribute?

 

Ciao Ephraim

Mar 22, 2010 at 8:42 AM
Hey, how can I check that attribute while filling the vhd? I can't find any API to access the Data Attributes :( ... I double checked that I never touch that Metafile ... any other ideas how this might happen? Ciao Ephraim
Coordinator
Mar 23, 2010 at 12:29 AM

Hi Ephraim,

I've found a bug in the NTFS formatting code, that was adding the Data attribute to $ObjId - can you try the latest changes.

Cheers,

Ken

Mar 24, 2010 at 9:06 AM
hey Ken, the first test looks good! I think it is fixed! Thx for your help, once again! :) Ciao Ephraim