dual boot missing files on ntfs

6,341

Solution 1

If you hibernate windows (or purpose or because of power-saving), then use ubuntu to store files on the NTFS partition, and then boot up windows, Windows thinks the disk was corrupted while it was in hibernate and "fixes" anything different. After that loging back into ubuntu just confirms that the files have in-fact been deleted.

Also I have seen that windows 7 may do a chkdsk after it installs updates on shudown when you bring it back up windows does extra tasks related to installing updates, so be careful not to boot into ubuntu after shutting down from updates. http://www.linuxquestions.org/questions/linux-newbie-8/windows-chkdsk-deletes-files-written-by-ubuntu-on-an-ntfs-partition-913606/

Yes even on a shared partition seprate from the windows partition and take care even with fat partitions (usb drives).

Sources, https://superuser.com/questions/211079/what-do-i-have-to-take-care-of-when-hibernating-both-ubuntu-and-windows-dual-bo/211175#211175 , https://superuser.com/questions/39532/hibernating-and-booting-into-another-os-will-my-filesystems-be-corrupted

Edit: I was looking through the widows site to try and find if they detailed the hibernate process, but this sounds interesting http://msdn.microsoft.com/en-us/library/dd143253(v=winembedded.5).aspx , It seems at best the write caching from the harddrive is being saved to memory, then being written after bringing the drive back up, this may mean that the files can't be recovered, because it's not "deleting" as in removing the first letter of the file so the system does not see it, but actually overwriting large areas of data that have been cached. Needs to be looked into more.

Solution 2

It happened to me as well. After reading a lot about this on internet I came to know that this happens when Windows is in Hibernate mode. There are already some related questions here on askubuntu and also on superuser.

Files disappear on NTFS partition

https://superuser.com/questions/144720/missing-files-when-windows-7-returns-from-hibernate-w-dual-boot

Solution 3

I have a similar setup to you. I hibernate Windows 7 with a NTFS 'shared' drive, edit the files in Ubuntu, then start Windows 7 to find the changes gone.

As a few workarounds, use an external hard drive or USB drive for your shared files, or

make a hibernate.bat file with the contents (change D:\ to your drive)

mountvol D:\ /D 
shutdown /H

and a startup.bat file with the contents (change D:\ to your drive)

mountvol D: 'VolumeName'

Run hibernate.bat to hibernate Windows (don't hibernate from start menu!)
Run startup.bat when starting Windows

Also, you may need to disable Windows 8's 'Fast Startup' function

(source)

Share:
6,341

Related videos on Youtube

yehuda
Author by

yehuda

Updated on September 18, 2022

Comments

  • yehuda
    yehuda over 1 year

    I have 3 partitions: one for Windows 7 (ntfs), one for Ubuntu (ext4) and one just for data (ntfs so both operating systems can see them).

    My problem is that I had stored some files on the data partition using Ubuntu and when I booted Windows 7 all that data was gone! After that I couldn't find the files even when using Ubuntu.

    My files were simply GONE :(

    Is there something I can do in Ubuntu or is it just windows problem?

  • Braiam
    Braiam over 10 years
    please don't do that. Windows is well known for corrupting data saved in a hibernated system.
  • kiri
    kiri over 10 years
    @Braiam is there a way to make windows only hibernate one drive (C:)?. I'm unmounting the data partition from windows before hibernating
  • Braiam
    Braiam over 10 years
    I think that question is for Super User. But, as far I have understanding for accessing any NTFS drive working under Windows you must properly shutdown the system or unmount the device.
  • Walex
    Walex over 10 years
    Thanks minerz, that's helpful. I've disabled fast startup. In the hibernate.bat are you using mountvol D:\ /D to unmount the data drive before hibernating?
  • kiri
    kiri over 10 years
    @Walex Yes, do that Windows doesn't hibernate the state of D:\ drive