My user account doesnt have sudo despite being in sudoers. I cant run new commands i have to execute the binary. Grub takes very long to load with "welcome to grub" message. I just wanted a stable distro as arch broke and currupted my external ssd
Beats me. I just started my windows single gpu passthrough vm and it froze so i rebooted and arch went into emergency mode. The ssd just wont mount. I had to remove it from fstab to boot
I don't think it actually corrupted the SSD, perhaps a module is missing or such, and that's why it goes into emergency mode. Have you tried mounting the drive from say, a live usb?
Arch will go into emergency mode whenever it can't mount a volume in fstab on boot. If the drive is formatted as NTFS, I've had this exact problem. I think it has to do with windows marking the drive as dirty. I didn't bother figuring out what the problem was, I just stopped trying to mount an NTFS drive on boot. Maybe you'd have better luck using the ntfs-3g driver?
Can you see the drive in Debian? Like, does it show up in lsblk output, which doesn't rely on there being anything on the drive? If not, it may have failed. Like, not something that Arch did.
/usr/sbin/fsck should be an executable. On my Debian Trixie system, it is. That sounds like it's a script, and whatever interpreter is specified to run it by the shebang line at the top of the file doesn't like the file's syntax. I wouldn't think that any Linux distro would replace that binary with a script, as it's something that has to run when almost everything else is broken.
On my system, I get:
$ file /usr/sbin/fsck
/usr/sbin/fsck: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, terpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9d35c49423757582c9a21347eebe2c0f9dfdfdc4, for GNU/Linux 3.2.0, stripped
$ strings -n3 /usr/sbin/fsck|head -n5
ELF
/lib64/ld-linux-x86-64.so.2
GNU
GNU
#uu
Do you get anything like that?
EDIT: Oh, wait, wait, wait. /usr/sbin/fsck might be printing that message itself. I was gonna say that fsck shouldn't be looking at any files, but the man page lists /etc/fstab as a file that it looks at. Looking at strace -e openat fsck on my system, it does indeed look at /etc/fstab. Maybe the contents of your /etc/fstab are invalid, have a parenthesis in it. Can you also try grep '(' /etc/fstab and see what that gives?
EDIT2: I don't think that it's an fsck error message. When I replace the first line of my fstab with left parens, I get "fsck: /etc/fstab: parse error at line 1 -- ignored", which is a lot more reasonable.
Okay. "error 2 (No such file or directory)" is the error code that perror() will print when it gets ENOENT.
checks
One way you can get that is if you attempt to execute a file that isn't there, or execute or open a symlink that has a target that's missing. Could be that fsck.ext2 is missing or is a symlink, and that the e2fsck binary that it points to isn't there.
If they aren't there, you can force reinstallation of e2fsprogs with # apt install --reinstall e2fsprogs and if the files are missing, that should add them, but I don't know how one could wind up in a situation where the package database thinks that the package is installed but that the binaries aren't present on a fresh Debian install.