You are not logged in.

#1 2024-12-21 23:17:11

stella9
Member
Registered: 2024-12-21
Posts: 8

created corrupt symlink (ntfs drive), cannot delete it

I was having an issue with proton on steam where games stopped running completely. After doing some research, I found out this could be caused by proton creating some files with illegal filenames for ntfs and that I had to create a symlink that points to a folder on a linux partition, as described by the following page:

https://github.com/ValveSoftware/Proton … ead-errors

I first tried deleting the existing compatdata directory, but accidentally specified the wrong path in the rm command, so, when I executed the ln command, it tried creating the symlink on top of the existing directory (the github page says "delete it" in all caps, which I haven't done). It was taking ages considering it was linking an empty directory, so I exited the ln command, and now I have these files inside the compatdata directory that are unremovable, and, when I try removing them, everything breaks and I cannot read the drive until I reboot.
When I try rm'ing one of them, this is the output:

$ rm /run/media/stella/SAMSUNG/SteamLibrary/steamapps/compatdata/2180100/pfx/dosdevices/com1
rm: cannot remove '/run/media/stella/SAMSUNG/SteamLibrary/steamapps/compatdata/2180100/pfx/dosdevices/com1': Software caused connection abort

after which I cannot access the drive. Running ls on any of the drive's directories I get the following output:

$ ls /run/media/stella/SAMSUNG/SteamLibrary/steamapps/compatdata/2180100/pfx/dosdevices/
ls: cannot access '/run/media/stella/SAMSUNG/SteamLibrary/steamapps/compatdata/2180100/pfx/dosdevices/': Transport endpoint is not connected

I tried removing the files on Windows and ran chkdsk a lot of times, but nothing worked. The partition also seems to be stuck in a chkdsk loop as everytime I boot up Windows it constantly asks me to run chkdsk. Is there a way I can fix this without having to wipe the partition?

Last edited by stella9 (2024-12-22 20:56:49)

Offline

#2 2024-12-22 20:32:53

twelveeighty
Member
From: Alberta, Canada
Registered: 2011-09-04
Posts: 1,209

Re: created corrupt symlink (ntfs drive), cannot delete it

Please post the actual English error messages, by specifying LC_ALL when you call the commands.

"com1", or more specifically COM1 is a reserved name in Windows, it's a device, not a directory.  It's remarkable that it even sits inside a subdirectory called "dosdevices". Just so I'm clear: you are running that 'rm' command when booted into Arch directly, not with Arch running inside a VM running on a Windows host, right?

Offline

#3 2024-12-22 21:05:17

stella9
Member
Registered: 2024-12-21
Posts: 8

Re: created corrupt symlink (ntfs drive), cannot delete it

twelveeighty wrote:

Please post the actual English error messages, by specifying LC_ALL when you call the commands.

OK, I changed the terminal language to english and updated the commands' outputs in the post.

twelveeighty wrote:

Just so I'm clear: you are running that 'rm' command when booted into Arch directly, not with Arch running inside a VM running on a Windows host, right?

Yes, I'm running Arch as my main OS dual booted with Windows

Offline

#4 2024-12-22 21:10:39

seth
Member
Registered: 2012-09-03
Posts: 60,756

Re: created corrupt symlink (ntfs drive), cannot delete it

3rd link below. Mandatory.
Disable it (it's NOT the BIOS setting!) and reboot windows and linux twice for voodo reasons.

Offline

#5 2024-12-22 21:33:32

stella9
Member
Registered: 2024-12-21
Posts: 8

Re: created corrupt symlink (ntfs drive), cannot delete it

seth wrote:

3rd link below. Mandatory.
Disable it (it's NOT the BIOS setting!) and reboot windows and linux twice for voodo reasons.

I've disabled it, though nothing seems to have changed.

Offline

#6 2024-12-22 21:35:28

seth
Member
Registered: 2012-09-03
Posts: 60,756

Re: created corrupt symlink (ntfs drive), cannot delete it

Including the chkdsk situation?

I tried removing the files on Windows and ran chkdsk a lot of times, but nothing worked. The partition also seems to be stuck in a chkdsk loop as everytime I boot up Windows it constantly asks me to run chkdsk.

Have you cleaned up the filesystem with it?
Did you reboot a couple of times (that's not meant as a joke - well, maybe the voodoo thing)

Offline

#7 2024-12-22 22:42:37

stella9
Member
Registered: 2024-12-21
Posts: 8

Re: created corrupt symlink (ntfs drive), cannot delete it

seth wrote:

Including the chkdsk situation?

seth wrote:

Did you reboot a couple of times (that's not meant as a joke - well, maybe the voodoo thing)

Yes, I rebooted Windows a few times and chkdsk autoran every boot (I don't remember if I had hibernation enabled there earlier, but I probably didn't)

seth wrote:

Have you cleaned up the filesystem with it?

Not sure what you mean by that. I tried manually running chkdsk /F and chkntfs on the command prompt, the latter telling me the drive has errors and giving me the option to schedule a disk check.

Offline

#8 2024-12-22 22:52:44

seth
Member
Registered: 2012-09-03
Posts: 60,756

Re: created corrupt symlink (ntfs drive), cannot delete it

"chkdsk x: /f /r" - if "x" is "c" you'll need to reboot for this, but as long as the drive "has errors" it won't properly function and you should not even remotely consider to write to it from linux (or windows, for that matter)

fast-start is active by default and hibernation in disguise and causes pretty much exactly this (and often your radio to die)

Offline

#9 2024-12-23 13:40:51

stella9
Member
Registered: 2024-12-21
Posts: 8

Re: created corrupt symlink (ntfs drive), cannot delete it

seth wrote:

"chkdsk x: /f /r" - if "x" is "c" you'll need to reboot for this, but as long as the drive "has errors" it won't properly function and you should not even remotely consider to write to it from linux (or windows, for that matter)

I ran chkdsk /f /r D: (copy pasting including the "if" part in your reply returns a syntax error), it took about an hour, but said it couldn't find problems with the volume, yet chkdsk still autoruns every boot and those symlinks are still present. It created a "Recovery" directory and a "Recovery.txt" (which is empty) file on the root of the drive though.

Offline

#10 2024-12-23 14:30:44

seth
Member
Registered: 2012-09-03
Posts: 60,756

Re: created corrupt symlink (ntfs drive), cannot delete it

copy pasting including the "if" part in your reply returns a syntax error

Because that literally meant "if drive x is actually drive c you'll have to reboot)
Is D: actually the concerned drive? notably since chkdsk seems to be scheduled for reboots what'S typically only the case for C: ?
Also also

I tried removing the files on Windows and ran chkdsk a lot of times, but nothing worked.

if windows is fine w/ the filesystem,  why would it not allow you to remove files? What's the actual error on windows?

Also instead of trying to remove /run/media/stella/SAMSUNG/SteamLibrary/steamapps/compatdata/2180100/pfx/dosdevices/com1

stat /run/media/stella/SAMSUNG/SteamLibrary/steamapps/compatdata/2180100/pfx/dosdevices/com1

and also shouldn't /run/media/stella/SAMSUNG/SteamLibrary/steamapps/compatdata be the symlink?

stat /run/media/stella/SAMSUNG/SteamLibrary/steamapps/compatdata

And if /run/media/stella/SAMSUNG/SteamLibrary/steamapps/compatdata is a symlink, /run/media/stella/SAMSUNG/SteamLibrary/steamapps/compatdata/2180100/pfx/dosdevices/com1 would actually be something in your $HOME? What happens if you delete the file there?

Edit: make photos of the windows chkdisk run and errors whe dealing the path, upload them to imgur or whatever and link them here (please don't embed huge images)

Last edited by seth (2024-12-23 14:31:52)

Offline

#11 2024-12-23 20:36:42

stella9
Member
Registered: 2024-12-21
Posts: 8

Re: created corrupt symlink (ntfs drive), cannot delete it

Ok so I ran chkdsk /f /r one more time, this time on a Windows 11 VM, and it actually allowed me to delete the compatdata directory afterwards, though the disk is still stuck in a chkdsk loop.

seth wrote:

Is D: actually the concerned drive? notably since chkdsk seems to be scheduled for reboots what'S typically only the case for C: ?

The reason chkntfs asked me to schedule chkdsk on boot is because Windows automatically created a pagefile on the drive. I disabled paging afterwards as I couldn't run chkdsk via the command line.

seth wrote:

if windows is fine w/ the filesystem,  why would it not allow you to remove files? What's the actual error on windows?

I used to get the "The system cannot find the file specified." error.

seth wrote:

if /run/media/stella/SAMSUNG/SteamLibrary/steamapps/compatdata is a symlink, /run/media/stella/SAMSUNG/SteamLibrary/steamapps/compatdata/2180100/pfx/dosdevices/com1 would actually be something in your $HOME? What happens if you delete the file there?

These files never existed on my linux drive, I was supposed to remove the already existing compatdata directory from my ntfs drive prior to creating the symlink, but I haven't done that and therefore those files were the ones that were already on the drive. I ran the stat commands prior to running chkdsk for the 2nd time, and it said com1 was a "symlink" and compatdata was a "directory"

seth wrote:

make photos of the windows chkdisk run and errors whe dealing the path, upload them to imgur or whatever and link them here (please don't embed huge images)

Here's the output of chkdsk /f: https://ibb.co/QJRpnwz

I tried looking for more bad files, and found I'm having a similar issue in the $RECYCLE.BIN directory (which contains other files previously stored in compatdata, which I got no errors in recycling at first), trying to remove it on linux gives me the transport endpoint error, but Windows this time tells me the recycle bin is "corrupted"; clicking on "empty" or trying to manually delete the directory nothing happens.

Offline

#12 2024-12-23 20:49:09

seth
Member
Registered: 2012-09-03
Posts: 60,756

Re: created corrupt symlink (ntfs drive), cannot delete it

Stupid question: did you try to create the symlink on windows?
(There's something with that name but it's fundamentally not a posix symlink)?

chkdsk not being able to sanitize the FS is scary - are you always doing this from VMs or a bare-metal windows installation?

Offline

#13 2024-12-23 20:55:48

stella9
Member
Registered: 2024-12-21
Posts: 8

Re: created corrupt symlink (ntfs drive), cannot delete it

seth wrote:

Stupid question: did you try to create the symlink on windows?
(There's something with that name but it's fundamentally not a posix symlink)?

I tried creating the symlink on Arch, following Steam's github guide linked in the original post.

seth wrote:

are you always doing this from VMs or a bare-metal windows installation?

I only used a VM last time, earlier I used a bare-metal Windows 10 install.

Offline

#14 2024-12-24 15:54:47

twelveeighty
Member
From: Alberta, Canada
Registered: 2011-09-04
Posts: 1,209

Re: created corrupt symlink (ntfs drive), cannot delete it

Can you post the output of the following commands (as root):

# ls -lad /run/media/stella/SAMSUNG/SteamLibrary/steamapps/compatdata/2180100/pfx/dosdevices/com1
...
# file /run/media/stella/SAMSUNG/SteamLibrary/steamapps/compatdata/2180100/pfx/dosdevices/com1
...
# stat /run/media/stella/SAMSUNG/SteamLibrary/steamapps/compatdata/2180100/pfx/dosdevices/com1

Have you tried removing it as root?

Offline

#15 2024-12-24 16:48:44

cryptearth
Member
Registered: 2024-02-03
Posts: 1,204

Re: created corrupt symlink (ntfs drive), cannot delete it

hm, somehow I feel like mid-2000s calling wanting thier "backup your personal data - wipe the disks - and start from scratch" back with yet another token into the "just don't use ntfs on linux" counter
as for now there's no real cross-platform filesystem to be used for files at rest - and exFAT is only useful for data exchange
ZFSonWindows is quite far into development - but it suffers from the same issues as WinBtrFS: windows and posix are just so fundamental different and that both don't really allow implementing the other world properly: windows only understands fat, ntfs and refs - and every driver for a posix fs just overrides this string so it's displayed at certain points but deep inside windows always thinks that its just some weird ntfs
linux on the other hand only has the three basic attributes owner, group, others and doesn't really support the very complex ACL of modern windows where a file/folder can have very complex access permissions
you maybe able to get out of this rabbit hole - but using any fs on a partition to share a game lib between windows and linux just doesn't work - end of the story

Offline

#16 2024-12-24 17:34:24

seth
Member
Registered: 2012-09-03
Posts: 60,756

Re: created corrupt symlink (ntfs drive), cannot delete it

"just don't use ntfs on linux"

It would seem the OP seeks to share their steam library between parallel OS installations.

On a second thought, I'm pretty sure we had a similar thread, https://bbs.archlinux.org/viewtopic.php?id=301589
The issue here/there is/was ntfs3 instead of ntfs-3g (though the overall problem was more complex)
And wtr, instead of symlinking ext4 into ntfs, i'd symlink ntfs into ext4, ie. tie the steam stuff together on the POSIX system by linking your gamedata into your $HOME, not your $HOME stuff into the gmae on NTFS.

Offline

#17 2024-12-28 20:50:02

stella9
Member
Registered: 2024-12-21
Posts: 8

Re: created corrupt symlink (ntfs drive), cannot delete it

So, I ended up backing up my games and deleting the partition. Obviously the issue is gone now, tho I don't known whether or not I should mark this thread as solved since I haven't actually found any solution to the problem.

Offline

Board footer

Powered by FluxBB