How can I access this without formatting it.

  • Illecors@lemmy.cafe
    link
    fedilink
    English
    arrow-up
    31
    ·
    edit-2
    1 year ago
    #!/usr/bin/env bash
    
    exec > /tmp/sda-debug.log 2>&1 # The last "word" of this line is 4 chars - two, greater than, ampersand and one
    
    # strict mode
    set -euxo pipefail
    IFS=$'\n\t'
    
    TARGET="/tmp/myprecious"
    
    umount /dev/sda4 || true
    mkdir -p "$TARGET"
    mount /dev/sda4 "$TARGET"
    ls -la "$TARGET" # attempt read
    touch "$TARGET"/testfile # attempt write
    
    rm "$TARGET"/testfile
    umount "$TARGET"
    rmdir "$TARGET"
    
    • Save this to a file somewhere, let’s call it sda-debug.sh
    • Make the script executable: chmod +x sda-debug.sh
    • Run it as root: sudo ./sda-debug.sh
    • Paste the content of /tmp/sda-debug.log here

    EDIT: changed the script to log everything to a file for easier copy-past-ability.

    • Programmer Belch@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      20
      ·
      1 year ago

      This script will unmount the problematic drive and try to mount it to another place /tmp/myprecious, a temporary place. Then, as it says, will attempt to read and then write to the drive. Finally, it removes the file it wrote to test writeability, unmounts the drive again and removes the temporary mount place. The scripts needs root access to mount and unmount and possibly to write and read.

      Please don’t run a script you found on the internet with root access without knowing what it does.

    • pjhenry1216@kbin.social
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      1 year ago

      I would remove the formatting of the script. For me that would never run as a bash script as it’s filled with markup. Not sure if it shows up nicely for you or not so figured I’d let.you know it may not be displaying for others at least.