Skip to content

Instantly share code, notes, and snippets.

@mdriscoll93
Created May 7, 2025 19:12
Show Gist options
  • Select an option

  • Save mdriscoll93/3b3a77b69815d75bdc33ea690de6391f to your computer and use it in GitHub Desktop.

Select an option

Save mdriscoll93/3b3a77b69815d75bdc33ea690de6391f to your computer and use it in GitHub Desktop.
#!/bin/bash
set -euo pipefail
LEXAR_MOUNT="/mnt/lexar"
BTRFS_MOUNT="/mnt/btrfs_ro"
BTRFS_DEV="/dev/sda2"
LEXAR_DEV="/dev/sdc1"
INODE=7392553
mkdir -p "$LEXAR_MOUNT" "$BTRFS_MOUNT"
mount "$LEXAR_DEV" "$LEXAR_MOUNT"
btrfs-image -c9 -t4 "$BTRFS_DEV" "$LEXAR_MOUNT/sda2.btrfs-image"
mount -o ro,recovery "$BTRFS_DEV" "$BTRFS_MOUNT" || {
echo "[!] Failed to mount with recovery options."
exit 1
}
echo "[*] Searching for inode $INODE..."
FOUND_PATH=$(find "$BTRFS_MOUNT" -xdev -inum "$INODE" 2>/dev/null || true)
if [[ -n "$FOUND_PATH" ]]; then
echo "[+] Inode $INODE found at: $FOUND_PATH"
echo "[+] Metadata:"
ls -li "$FOUND_PATH"
stat "$FOUND_PATH"
else
echo "[-] Inode $INODE not found in mounted FS."
fi
echo "[*] Done. now manually copy data off to the Lexar:"
echo " rsync -av --progress $BTRFS_MOUNT/home/ $LEXAR_MOUNT/recovered-home/"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment