re save my hard disk allocation error cross linked brad banko writes while running the ms quick c compiler in a dos window under windows this evening i got a program has violated system integrity close all applications exit windows and restart your computer error gawd i love windows is there an easy way to restore everything to working order what might be some better approaches you ll probably want to delete any damaged executables and reload them fresh data files should be examined and repaired what might have caused this does the smartdrv cache make me more vulnerable i m suspicious of hard drive caches especially when they cache data writing you re not stupid smartdrive caches things and windows also runs a swap file which may contain data also all of this is pretty risky stuff in a pc environment the straightforward approach would be to run chkdsk with the f option to fix the disk and then it looks like i would probably have to reinstall windows and a few other things a reasonably accurate prediction here s a brief description of how dos stores files there are three pieces to a file the directory entry the fat chain and the data area you can think of these as a sheet of lined notebook paper a sheet of graph paper and a stack of x cards the directory entry notebook paper holds the file name actual size and first cluster number it also holds some other information that s not important right now the file allocation table fat chain graph paper tells where to find the actual data each square of graph paper holds a number if the number is zero the cluster associated with this box is available if it holds a magic number it is either the last piece of a file or a bad unuseable spot on the disk any other number tells which cluster contains the next section of the file the data area x cards is where the actual information is stored the data area is organized as clusters of a fixed size storage is doled out in chunks of one cluster each in your case one cluster is bytes as a cluster is filled another is allocated to read a file you first look at the directory entry to get the starting cluster number now you read the data from that cluster next look at the fat entry for the cluster you just read this will tell you the cluster number for the next chunk of the file naturally these numbers are usually sequential but they can jump around and even go backwards continue reading one cluster at a time as you walk this chain through the fat until you hit the marker which says it s the last cluster in the file chkdsk is the dos utility that checks the sanity and coherence of the directories and the fat and can bludgeon most flaws into submission it doesn t have any intelligence so you have to double check anything it fixes now let s do a bit of a post mortem c gfx vpic cvpic exe c gfx vpic vpic txt c gfx vpic video cfg c gfx vpic orcpro cfg c gfx vpic vga cfg c game goose bird x c winmisc adv winadv exe allocation error size adjusted all of these files have sizes according to the fat which don t match the size reported in their directory entries chkdsk f will alter the directory entries to match the fat size in other words the directory entry for cvpic exe may say the file is bytes long but chkdsk found a fat chain of clusters attached to it my numbers obviously are made up lost allocation units found in chains bytes disk space would be freed disk space was found which is allocated in the fat but is not attached to any directory entry chkdsk f gives you the option of converting these lost chains to files you can then examine the files file chk through file chk and rename or discard them or if you tell chkdsk not to convert them to files then those clusters will simply be marked available in the fat c gfx vpic cvpic exe is cross linked on allocation unit c spart par is cross linked on allocation unit these files are both referencing the same data cluster obviously one of them at least must be wrong it s interesting to note that c spart par is your windows swap file to fix this you should copy each cross linked file to a new name this will fix the cross link by giving the files unique data spaces now delete the cross linked files examine the copies and try to assemble them properly good luck hint missing pieces are likely to be found in those lost chains at the top bytes total disk space bytes in hidden files bytes in directories bytes in user files bytes available on disk your disk is pretty close to full this may be the actual cause of the problem perhaps windows needed to expand its swapfile by an amount which exceeded available disk space in any case the short summary is that something trashed your fat there are utilities that can mirror your fat and help repair damage after something like this but you have to run them before the problem occurs sorry gordon s hlavenka cgordon vpnet chi il us vote straight ticket procrastination party dec rd gordon s hlavenka cgordon vpnet chi il us vote straight ticket procrastination party dec rd
