I have a hdd attached to my server. It’s sda but has 2 partitions so sda1 @16M and sda2 @3.6T It defaulted to being in the location /media/devmon so I kept that and it worked for ages. Suddenly the data is gone. I had files located here: /media/devmon/4tb_drive/kiwix/zim and that directory is now empty. But I put the drive into a Windows box, and everything was there.

When I run mount /dev/sda2 /media/devmon/ it says:

The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
Falling back to read-only mount because the NTFS partition is in an
unsafe state. Please resume and shutdown Windows fully (no hibernation
or fast restarting.)
Could not mount read-write, trying read-only

I originally formatted this drive in Windows, is that the issue? Ideally I’d use btrfs or zfs not ntfs, but here we are.


How do I get access again?

  • abominable_panda@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    edit-2
    5 months ago

    I find if I have NTFS problems, throw it back on windows, do a disk repair then come back to Linux.

    Also remember to fully shut down (not sleep or hibernate) windows before removing the disk so windows doesn’t lock up anything

    Edit: the error actually tells you the latter of what I mentioned… So back to windows you go for a shutdown before removal

  • stuner@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    5 months ago

    Did you perform a full shutdown of Windows (Windows doesn’t fully release the partition on a normal shutdown)?

    • Dust0741@lemmy.worldOP
      link
      fedilink
      arrow-up
      2
      ·
      5 months ago
      root@skynet:~# ntfsfix -b -d /dev/sda1  
      Mounting volume... NTFS signature is missing.  
      FAILED  
      Attempting to correct errors... NTFS signature is missing.  
      FAILED  
      Failed to startup volume: Invalid argument  
      NTFS signature is missing.  
      Trying the alternate boot sector  
      Unrecoverable error  
      Volume is corrupt. You should run chkdsk.  
      
      root@skynet:~# ntfsfix -b -d /dev/sda2  
      Mounting volume... OK  
      Processing of $MFT and $MFTMirr completed successfully.  
      Checking the alternate boot sector... OK  
      NTFS volume version is 3.1.  
      Going to un-mark the bad clusters ($BadClus)... No bad clusters...OK  
      NTFS partition /dev/sda2 was processed successfully.
      

      turned off windows quick start ran chkdks D: and waited…then shut down and put drive back into linux and reboot. still no


      any ideas? clearly not the larger partition, which is good.

    • undrwater@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      5 months ago

      I used this when my son’s computer wouldn’t boot after a Windows update. None of Microsoft’s tools would repair the disk.

      I attached it to mine and ran ntfsfix on it. Success!

  • mvirts@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    5 months ago

    If you really need the data on it, get another disk and make an image of the failed drive asap.

    If not, skip that step.

    See if testdisk can detect your partitions and read data from them.

      • mvirts@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        5 months ago

        It is NTFS after all, support has been flaky over the years. Are you running modern Linux NTFS drivers? If there’s no other messages and chkdsk repair (on Windows) doesn’t fix it I would assume the filesystem is alright and look at trying different NTFS drivers versions on Linux.

        Have you verified that Windows can actually read all of the files? It may show them and not be able to read some of the files if the filesystem is corrupted.

  • muhyb@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    5 months ago

    If you can access it on Windows, that’s a good thing and all you need is a disk repair there. If you cannot access it even on Windows, you’ll need file recovery (and another 4TB disk).

    However, note that there is a good chance for NTFS disks to get corrupted on Linux if you unmount them without getting the notification that indicates it’s safe to remove the disk.

    So I really recommend you to find a temporary disk (or buy a new one) and copy everything to it and format your disk as a Linux file system of your choice and move your files to it, before you get a real headache with NTFS (talking out of experience).

    Also note that, it’s possible for NTFS disks become inaccessible if fastboot option is enabled for Windows on BIOS, if so disable it.