# Hardware # Check disk I/O speed
dd와 hdparm을 활용하는 것입니다. [[1](https://wikidocs.net/226935), [2](https://eteo.tistory.com/1026), [3](https://cloudzy.com/ko/blog/test-disk-speed-in-linux/), [4](https://betwe.tistory.com/entry/Linux-%EB%A6%AC%EB%88%85%EC%8A%A4-%EB%94%94%EC%8A%A4%ED%81%AC-%EC%9E%85%EC%B6%9C%EB%A0%A5-%EC%84%B1%EB%8A%A5-%EC%B8%A1%EC%A0%95%ED%95%98%EA%B8%B0-%EC%9C%84%ED%95%9C-%EB%AA%85%EB%A0%B9%EC%96%B4), [5](https://www.ibm.com/docs/ko/license-metric-tool/9.2.0?topic=requirements-running-hard-disk-tests)]dd 명령어는 시스템에 파일을 직접 쓰고 읽어보며 간단하게 성능을 측정합니다. [[1](https://hbase.tistory.com/21), [2](https://eteo.tistory.com/1026)]hdparm은 하드디스크와 SSD의 캐시 및 버퍼 읽기 성능을 빠르게 확인하는 전용 도구입니다. [[1](https://www.reddit.com/r/Ubuntu/comments/dgrm1/benchmark_how_to_know_your_hard_disk_speed_on/?tl=ko), [2](https://cloudzy.com/ko/blog/test-disk-speed-in-linux/)]/dev/sda 부분에는 확인하려는 실제 디스크 장치명을 입력합니다.)*sysstat 패키지를 이용합니다. [[1](https://whatap.io/ko/blog/linux-server-monitoring-commands), [2](https://ko.ubunlog.com/iotop-%EB%B0%8F-iostat%EB%8A%94-%EB%94%94%EC%8A%A4%ED%81%AC-%EC%84%B1%EB%8A%A5%EC%9D%84-%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81%ED%95%A9%EB%8B%88%EB%8B%A4./)]drive_rescue.img file will still be **1 TB**.
### Crucial Pre-Flight Check
Before starting the transfer, verify that the storage drive on your remote machine has **more free space available than the total size of your failing disk**.
**1. Check source drive size (local machine):**
ddrescue directly between the drives:**
ddrescue
Execute the following command to begin copying data directly from `sda` to `sde`:
ddrescue
Your drive crashed because `ddrescue` attempted direct access (`-d`) on a severely degraded sector right at the beginning of the disk.
When you restart `ddrescue`, **remove the `-d` (direct I/O) flag** initially and add **`--scrape-members` / `--no-scrape`** options to skip damaged areas instantly without hanging the drive controller:
usb-storage** protocol. The standard usb-storage driver handles read errors gracefully without dropping the entire device.
### Step 1: Disable UAS and Force `usb-storage`
**1. Find your USB enclosure's Vendor and Product ID:**
ddrescue
Run `ddrescue` with `--no-scrape` (`-n`) and a 4KiB block size (`-b 4096`). It will now report read errors to `ddrescue` instantly and skip ahead without crashing the USB adapter:
TestDisk)
`TestDisk` is much easier if you prefer an automated tool to scan and list damaged files across `ext4`, `NTFS`, or `FAT32` filesystems:
### Step 3: Run Filesystem Repair (e2fsck)
Before mounting `/dev/sde` for normal use, repair any filesystem metadata inconsistencies caused by bad sectors:
/dev/sde)
### How to Fix the File System on Target Disk
Once `ddrescue` completes, run a file system check on `/dev/sde`. This cleans up the logical errors so the operating system can safely use the drive:
debugfs)
If you don't have a mapfile from `ddrescue`, you can scan `/dev/sde1` for filesystem blocks that contain unreadable metadata or lost inodes:
### Method 3: Finding Zeroed / Damaged Files by Checksum Verification
If you have a previous backup or known checksums (like `.md5` or `.sha256` files) for your media, run a verification scan over your mounted files: