• Welcome to Tux Reports: Where Penguins Fly. We hope you find the topics varied, interesting, and worthy of your time. Please become a member and join in the discussions.

Experts: how to force windows to flush FAT (file alloc. table) cac

X

xuancong

Flightless Bird
Hi,
This post is for computer experts only!

I've installed Ubuntu under VMware inside windows XP "using entire physical
harddisk", so I can run Ubuntu both inside and outside (upon reboot) WinXP.
And I can always access windows partitions inside Ubuntu.
So the problem now is that when I'm running Ubuntu in VMware in WinXP,
everytime when I made some changes on a windows partition (say creating a
file) in Ubuntu, the change is not reflected in XP because XP store FAT (file
allocation table) data in system cache but does not reload it upon file
operations. Therefore, if I create some files in Ubuntu and delete some files
in XP on the same partition or the other way round, the filesystem will
always be corrupted. Because to windows the FAT structure changes silently
when I create files in Ubuntu, but windows still assume the old FAT and
modify based on that.

I know that "chkdsk /f" can force windows to unmount and remount non-system
partitions, thus flushing the FAT cache for that partition, but is there a
more direct and better way to do this on any partition (including system
partition).

I also know that there is a windows command 'mountvol' which is supposed to
do the thing, but unfortunately, it doesn't work.

And I also hope that future windows OS programmers can take this issue into
consideration and create some new features which can solve this problem.

Thanks a lot!
Xuancong
 
S

sgopus

Flightless Bird
Don't hold your breath waiting for new changes to xp, With the advent of
Vista and Windows 7, XP will be left behind

"xuancong" wrote:

> Hi,
> This post is for computer experts only!
>
> I've installed Ubuntu under VMware inside windows XP "using entire physical
> harddisk", so I can run Ubuntu both inside and outside (upon reboot) WinXP.
> And I can always access windows partitions inside Ubuntu.
> So the problem now is that when I'm running Ubuntu in VMware in WinXP,
> everytime when I made some changes on a windows partition (say creating a
> file) in Ubuntu, the change is not reflected in XP because XP store FAT (file
> allocation table) data in system cache but does not reload it upon file
> operations. Therefore, if I create some files in Ubuntu and delete some files
> in XP on the same partition or the other way round, the filesystem will
> always be corrupted. Because to windows the FAT structure changes silently
> when I create files in Ubuntu, but windows still assume the old FAT and
> modify based on that.
>
> I know that "chkdsk /f" can force windows to unmount and remount non-system
> partitions, thus flushing the FAT cache for that partition, but is there a
> more direct and better way to do this on any partition (including system
> partition).
>
> I also know that there is a windows command 'mountvol' which is supposed to
> do the thing, but unfortunately, it doesn't work.
>
> And I also hope that future windows OS programmers can take this issue into
> consideration and create some new features which can solve this problem.
>
> Thanks a lot!
> Xuancong
 
U

Uwe Sieber

Flightless Bird
Re: Experts: how to force windows to flush FAT (file alloc. table)cac

Dismounting is the only way, this is what happens on
chkdsk /f.
MountVol is for dealing with mount points, it has no
relation to mouning/dismounting the file system.

Dismouning invalidates (but not closes) open handles
pointing to files on the dismounted drive.

As quick alternative to chkdsk you can use my tool
EjectMedia for dismouting.
http://www.uwe-sieber.de/drivetools_e.html#ejectmedia

ejectmedia x: -d -f


Uwe



xuancong wrote:
> Hi,
> This post is for computer experts only!
>
> I've installed Ubuntu under VMware inside windows XP "using entire physical
> harddisk", so I can run Ubuntu both inside and outside (upon reboot) WinXP.
> And I can always access windows partitions inside Ubuntu.
> So the problem now is that when I'm running Ubuntu in VMware in WinXP,
> everytime when I made some changes on a windows partition (say creating a
> file) in Ubuntu, the change is not reflected in XP because XP store FAT (file
> allocation table) data in system cache but does not reload it upon file
> operations. Therefore, if I create some files in Ubuntu and delete some files
> in XP on the same partition or the other way round, the filesystem will
> always be corrupted. Because to windows the FAT structure changes silently
> when I create files in Ubuntu, but windows still assume the old FAT and
> modify based on that.
>
> I know that "chkdsk /f" can force windows to unmount and remount non-system
> partitions, thus flushing the FAT cache for that partition, but is there a
> more direct and better way to do this on any partition (including system
> partition).
>
> I also know that there is a windows command 'mountvol' which is supposed to
> do the thing, but unfortunately, it doesn't work.
>
> And I also hope that future windows OS programmers can take this issue into
> consideration and create some new features which can solve this problem.
>
> Thanks a lot!
> Xuancong
 
Top