On Mon, 27 Nov 2006, Frans Pop wrote: > On Monday 27 November 2006 16:27, Anton Altaparmakov wrote: > > That is wrong. It always does the same thing no matter what the > > partition is marked as... Trust me, I wrote it so I should know! (-: > > Oh, I trust you. However, that still does not explain what I see > happening. > > Directly after ntfsresize: > # ntfsfix /dev/sda1 > Mounting volume... OK > Setting required flags on partition... OK > Going to empty the journal ($Logfile)... OK > NTFS volume version is 3.1. > NTFS partition /dev/sda1 was processed successfully. > > Boot Vista, which fails; reboot into linux: > # ntfsfix /dev/sda1 > Mounting volume... FAILED > Attempting to correct errors... > Processing $FMT amd $MFTMirr... > Reading $MFT... OK > Reading $MFTMirr... OK > Comparing $MFTMirr to $MFT... OK > Processing of $MFT and $MFTMirr completed successfully. > Setting required flags on partition... OK > Going to empty the journal ($Logfile)... OK > NTFS volume version is 3.1. > NTFS partition /dev/sda1 was processed successfully. > > So, IMHO it _does_ different things, based on the fact that Vista leaves > the partition "unmountable". > > The differing bit being: > Attempting to correct errors... > Processing $FMT amd $MFTMirr... > Reading $MFT... OK > Reading $MFTMirr... OK > Comparing $MFTMirr to $MFT... OK > Processing of $MFT and $MFTMirr completed successfully. > > And somehow, what ntfsfix does, makes Vista happy again, or at least happy > enough that it is willing to run chkdsk. > > So my conclusion (not hindered by any knowledge of NTFS or the inner > workings of your excellent tools) is that if we (or rather you guys) can > identify what ntfsfix does that makes Vista happy again, we may be able > to solve this whole issue.
Sorry it does explain it perfectly well. The only reason you see a difference in output is that in first case volume is clean thus the internal libntfs mount succeeds and in second case it fails so ntfsfix does it by hand. As you can see all its checking passes with OK thus it does not do anything at all in those functions. The only place where it actually modifies the volume are: <quote> Setting required flags on partition... OK Going to empty the journal ($Logfile)... OK </quote> And as you can see both outputs are identical thus the changes done to the volume are identical. Sorry to disappoint you... If you really do not believe me do this: ntfsresize ntfsfix ***1 ntfsfix ***2 boot vista <- will fail ntfsfix ***3 boot vista <- will work Note ***1 is what you did before, it will mark the volume dirty thus when you do ***2 it will fail to mount and do EXACTLY the same thing as ***3. You will notice the 100% identical output of ***2 and ***3... Perhaps now you will believe me that ntfsfix is not in fact fixing the volume at all... The explanation why vista is fixed the second time round I assume is along the lines of "first time round vista makes some modifications to itself then crashes", and second time round "the modifications from last boot together with the set chkdsk flag cause vista to work this time round". Whether it has something to do with the boot cache or not I do not know but it certainly is NOT as simple as ntfsfix doing something different after the vista crash to what it did before. Best regards, Anton -- Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @) Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK Linux NTFS maintainer, http://www.linux-ntfs.org/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]