Groq Assistant
curl -X POST https://api.groq.com/openai/v1/chat/completions -H "Authorization: Bearer $GROQ_API_KEY" -H "Content-Type: application/json" -d '{
"model": "openai/gpt-oss-20b",
"messages": [{
"role": "user",
"content": "Explain how to rescue a damaged SSD using Ubuntu commands"}]
}'
Below is a “play‑book” you can run from a live‑USB (or any Ubuntu installation) to try to recover as much data as possible from a damaged SSD.
Everything is done read‑only unless you explicitly tell the tool to write.
If you’re not sure about a step, stop and backup the clone before you make any changes.
1. Identify the drive
sudo lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,MODELLook for the device that matches your SSD (e.g. /dev/sda, /dev/nvme0n1).
If you’re unsure, check with:
sudo fdisk -lTip: If you see the SSD under
nvme*it’s an NVMe drive; otherwise it’ssd*(SATA/SCSI).
2. Gather SMART data (optional but very useful)
sudo smartctl -a /dev/sdX # replace sdX with your deviceIf the output shows many errors or a failing “Reallocated_Sector_Ct”, “Program_Fail_Cnt_Total”, “Current_Pending_Sector”, the SSD is likely physically damaged.
If SMART is unavailable (some NVMe or old SSDs don’t support it), skip to the next step.
3. Clone the SSD to an image file (or a spare SSD)
Why clone?
- The original drive may become faster at failing.
- All recovery tools run on the clone, keeping the source untouched.
3.1 Install ddrescue
sudo apt update && sudo apt install gddrescue # `ddrescue` is the GNU version3.2 Create a raw image
# Create a target image on another drive (e.g. /dev/sdb)
sudo ddrescue -f -n /dev/sdX /path/to/clone.img /path/to/clone.log-f– force overwrite of the target image if it already exists.-n– “no‑retry” mode: copy good sectors first, leaving bad sectors blank.clone.log– log file that records which sectors were bad.
If the SSD is NVMe (
/dev/nvme0n1), you should use the direct mode:
sudo ddrescue -f -d -n /dev/nvme0n1 /path/to/clone.img /path/to/clone.log
3.3 Retry the bad sectors
sudo ddrescue -d -b 4096 -r3 /dev/sdX /path/to/clone.img /path/to/clone.log-b 4096– 4 KiB block size (best for SSDs).-r3– retry up to 3 times per bad sector.-d– direct (raw) access (important for NVMe).
Outcome: clone.img now contains the best possible copy of the SSD.
If you ran out of space on the destination drive, stop immediately; a damaged SSD can become even more unreliable.
4. Inspect the clone
4.1 List partitions on the image
sudo partx -a clone.imgIf partitions are shown (e.g. clone.imgp1, clone.imgp2), you can mount them individually.
4.2 Detect filesystem types
sudo file -s clone.imgOr on each partition:
sudo blkid clone.imgp15. Recover the filesystem
5.1 For Ext4/Ext3 (Linux)
sudo e2fsck -f -n clone.imgp1 # `-n` = no‑write, just checkIf errors are found, you can try:
sudo e2fsck -f -y clone.imgp1(-y answers “yes” to all prompts – only use if you’re sure you want to fix).
5.2 For NTFS (Windows)
sudo ntfsfix --force clone.imgp1
ntfsfixonly fixes basic errors; for deeper recovery usentfs-3gmount withro.
5.3 For exFAT / FAT32
sudo dosfsck -n clone.imgp1 # check only6. Mount the clone read‑only
# Create a mount point
sudo mkdir /mnt/ssd-recovery
# Mount the first partition (adjust if it’s a different number)
sudo mount -o ro,loop /dev/mapper/clone-imgp1 /mnt/ssd-recoveryIf it’s an NVMe clone:
sudo mount -o ro,loop /path/to/clone.imgp1 /mnt/ssd-recovery
Now you can copy files to another drive:
rsync -avh /mnt/ssd-recovery/ /path/to/backup/7. If the filesystem is severely damaged – use TestDisk
sudo apt install testdisk
sudo testdisk clone.img- TestDisk will list detected partitions and allow you to re‑create the partition table or copy files.
- Use the “Advanced” → “List” menu to view files and copy them out.
Note: TestDisk works best when the filesystem is still partially readable.
8. If the entire drive is unreadable – use PhotoRec
sudo photorec clone.img- PhotoRec ignores the filesystem and recovers files based on signatures.
- It can recover photos, documents, music, etc., but you lose original folder structure.
Important: Run PhotoRec to a different drive. It will create a large file‑list you can review later.
9. Advanced – Recovering with R-Studio / UFS Explorer (GUI)
If the command‑line tools fail, consider commercial GUI tools that can read raw disk images.
They can handle bad sectors more gracefully and may recover data that ddrescue cannot.
10. Preventive Tips
- Always keep backups – a clone of a healthy SSD every week is a lifesaver.
- Use wear‑leveling friendly utilities (
hdparm -B 255,nvme set-feature) only if you know what you’re doing. - Keep spare SSD for fast cloning.
- Use SMART monitoring (
smartctl -a,smartd) to watch for early warnings. - Don’t power‑off during recovery – SSDs can recover from bad sectors only while powered.
Summary Checklist
| Step | Command (short) | Purpose |
|---|---|---|
| 1 | lsblk / fdisk -l | Identify device |
| 2 | smartctl -a /dev/sdX | Check health |
| 3 | ddrescue -f -n /dev/sdX image.img log.txt | First copy |
| 3 | ddrescue -d -b 4096 -r3 /dev/sdX image.img log.txt | Retry bad sectors |
| 4 | partx -a image.img | List partitions |
| 5 | e2fsck -f -n imagep1 / ntfsfix / dosfsck | Check filesystem |
| 6 | mount -o ro,loop imagep1 /mnt/recover | Read‑only access |
| 7 | rsync -avh /mnt/recover/ /backup/ | Copy data |
| 8 | testdisk image.img | Re‑create partition table & copy files |
| 9 | photorec image.img | Recover file signatures |
Follow the steps in order, and stop if you see anything unexpected (e.g., ddrescue reporting “Device is busy”).
Happy recovering!
Reasoning
The user: “Explain how to rescue a damaged SSD using Ubuntu commands”. They want instructions to rescue data from a damaged SSD. We need to explain steps: check SMART data, use fsck, ddrescue, testdisk, gddrescue, maybe badblocks. We should explain what commands to run, what they do, and precautions. Provide guidance on reading SMART, using smartctl, using ddrescue, testdisk. Mention backup. We need to be thorough, mention mounting options, using read-only mode. Provide examples. Also mention that if SSD is completely dead, maybe use ddrescue to clone. Provide steps: 1. Identify device (lsblk). 2. Check SMART with smartctl. 3. Use ddrescue to clone to image. 4. Use fsck or testdisk on image. 5. Recover files. Use ntfs-3g or ext4. Provide commands.
Should caution about not overwriting data, use read-only mode. Use ddrescue with options. Also mention using ddrescue from ddrescue (GNU ddrescue). Provide steps to mount as read-only. Provide commands. Use testdisk to recover partitions. Provide steps to clone and recover.
We must consider that user might want to salvage data. Provide step-by-step. Possibly mention using gnome-disk-utility to check.
Let’s produce a comprehensive guide.
We’ll include:
- Identify device: lsblk, fdisk -l
- Check SMART: sudo smartctl -a /dev/sdX
- If SMART shows failure, consider cloning: sudo ddrescue -f -n /dev/sdX /path/to/image.img /path/to/rd.log
- -n to skip bad sectors, later run with -d -b 4096 to attempt recover.
- Or use ddrescue with -r (retry).
- Then run fsck on image: sudo e2fsck -f -n image.img
- Or use testdisk: sudo testdisk image.img
- If partition is ext4, mount read-only: sudo mount -o ro,loop image.img /mnt/recover
- Or use photorec.
Also mention using blkid. We might also mention using ddrescue’s log to track progress. We’ll mention that some SSDs may not respond to smartctl; use ssd-specific. Also mention if it’s corrupted, use ddrescue to clone to an external drive. Then use recovery tools on clone. Also mention that SSD may have wear leveling and block mapping, so data may not be recoverable after too many failures. We need to explain commands, what they do, how to interpret output, and safety. Let’s produce final answer.
