带有 ddrescue 的图像文件。我不明白命令。

CPU/显卡/打印机/USB设备等硬件问题
回复
寺島聰子
帖子: 688
注册时间: 2016-06-03 14:39
系统: debian11 mate

带有 ddrescue 的图像文件。我不明白命令。

#1

帖子 寺島聰子 » 2021-09-23 20:40

ddrescueでイメージファイル。コマンドがわからない。

debain11が起動できなくなりました。debian live usbで起動して、復元したい日付のディレクトリへ入り、たとえば
$ sudo btrfs sub snap @home /media/user/debian/@home
という感じで直そうと思った。
Can’t read superblock
スーパーブロックを読み取れません
と出てマウントできない。検索すると
https://www.linuxbabe.com/desktop-linux ... lock-error
 Recover superblock on btrfs filesystem
  Then you need to run the following command to clear the filesystem log tree.

user@debian:~$ sudo btrfs rescue zero-log /dev/sda2
Clearing log on /dev/sda2, previous log_root 94535680, level 0
user@debian:~$

これでマウントできた。しかしERROR: cannot snapshot '@': Read-only file system

debain11のハードドライブ内のディレクトリ?ファイル?はコピーもできない。
-------------------------------------------------
ハードドライブの障害と考え ddrescue を使おうと考えました。2台のHDD を接続してdebian live usbで起動
Disk /dev/sda: 160GB
Disk /dev/sdb: 320GB

user@debian:~$ sudo apt update
user@debian:~$ sudo apt install gddrescue
user@debian:~$ sudo parted -l
Model: ATA ST3160815AS (scsi)
Disk /dev/sda: 160GB
Number Start End Size Type File system Flags
1 1049kB 135MB 134MB primary fat32 lba
2 135MB 160GB 160GB primary btrfs

drescue [オプション] [読込元] [書き出し先] [ログ出力先]

>$ ddrescue -f -d -r1 -v /dev/sda /dev/sdb logfile.log

オプション 概要
-f 上書き※ターゲットが物理ディスクでは必須
-n リードエラーを無視
-v 詳細表示
-r 不良セクタの再読み込み回数
-d ダイレクトアクセス(キャッシュを介さずにアクセス)

user@debian:~$ sudo parted -l
Model: ATA ST3160815AS (scsi)
Disk /dev/sda: 160GB
Number Start End Size Type File system Flags
1 1049kB 135MB 134MB primary fat32 lba
2 135MB 160GB 160GB primary btrfs

Model: ATA HGST HTS545032A7 (scsi)
Disk /dev/sdb: 320GB
Number Start End Size File system Name Flags
1 1049kB 200MB 199MB fat32 EFI boot, hidden, esp
2 200MB 318GB 318GB btrfs debian
3 318GB 320GB 2147MB linux-swap(v1) SWAP swap

破損したほうソース
Disk /dev/sda: 160GB
ターゲット
Disk /dev/sdb: 320GB

user@debian:~$ ls -l /dev/disk/by-id
total 0
lrwxrwxrwx 1 root root 9 Sep 23 13:27 ata-HGST_HTS545032A7E680_RB240EMP06TZHH -> ../../sdb
lrwxrwxrwx 1 root root 10 Sep 23 13:27 ata-HGST_HTS545032A7E680_RB240EMP06TZHH-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Sep 23 13:27 ata-HGST_HTS545032A7E680_RB240EMP06TZHH-part2 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Sep 23 13:27 ata-HGST_HTS545032A7E680_RB240EMP06TZHH-part3 -> ../../sdb3
lrwxrwxrwx 1 root root 9 Sep 23 13:27 ata-ST3160815AS_6RX65VV6 -> ../../sda
lrwxrwxrwx 1 root root 10 Sep 23 13:27 ata-ST3160815AS_6RX65VV6-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Sep 23 13:30 ata-ST3160815AS_6RX65VV6-part2 -> ../../sda2

参考ページの例
$ ddrescue -f -d -r1 -v /dev/sda /dev/sdb logfile.log
自分に当てはめると
$ ddrescue -f -r3 -v /dev/sda /dev/sdb logfile.log

$ sudo ddrescue -f -r3 -v ata-ST3160815AS_6RX65VV6 ata-HGST_HTS545032A7E680_RB240EMP06TZHH logfile.log

by-id はヒューマンエラー防止のためですね。頭がボケてるとき、
ハードディスクの製品型番で気づくために?

> /dev/disk/by-id/ドライブの型番

$ sudo ddrescue -f -r3 -v /dev/disk/by-id/ata-ST3160815AS_6RX65VV6 /dev/disk/by-id/ata-HGST_HTS545032A7E680_RB240EMP06TZHH logfile.log

-------------------------------------------------------------------
今回は サルベージしたいドライブ/dev/sda のイメージファイルをDisk /dev/sdb: 320GBのsdb2のパテへ吐き出したい。コマンドがわかりません。
--------------------------------------------------------------------
寺島聰子
帖子: 688
注册时间: 2016-06-03 14:39
系统: debian11 mate

Re: 带有 ddrescue 的图像文件。我不明白命令。

#2

帖子 寺島聰子 » 2021-09-24 21:26

無事終わりました。ありがとうございました。
顺利结束了。谢谢您。 :Smile

user@debian:~$ sudo ddrescue -fdvr3 /dev/disk/by-id/ata-ST3160815AS_6RX65VV6 /media/user/debian/ST.img ddrescue.map
GNU ddrescue 1.23
About to copy 160041 MBytes from '/dev/disk/by-id/ata-ST3160815AS_6RX65VV6' to '/media/user/debian/ST.img'
Starting positions: infile = 0 B, outfile = 0 B
Copy block size: 128 sectors Initial skip size: 3200 sectors
Sector size: 512 Bytes

Press Ctrl-C to interrupt
ipos: 5893 MB, non-trimmed: 0 B, current rate: 0 B/s
opos: 5893 MB, non-scraped: 0 B, average rate: 50855 kB/s
non-tried: 0 B, bad-sector: 512 B, error rate: 170 B/s
rescued: 160041 MB, bad areas: 1, run time: 52m 27s
pct rescued: 99.99%, read errors: 5, remaining time: n/a
time since last successful read: 6s
Finished
user@debian:~$
------------------------------------------------------------
$ sudo timeshift --list

/dev/sda2 is mounted at: /run/timeshift/backup,

Device : /dev/sda2
UUID : cf82c300-5af6-45d6-a682-1e93b9105cae
Path : /run/timeshift/backup
Mode : BTRFS
Status : OK
4 snapshots, 130.5 GB free

$ ls /run/timeshift/backup
@ @home ST.img timeshift-btrfs

$
おおっ!...しかし、ddrescue.map は喪失したということで?たしかカレントディレクトリにと言われてたので、もしかしてライブusb終わって消えたと? 今回は成功したから、もう必要ないでよいか?
噢!。。。但是,ddrescue.map是丧失了?因为确实被称为现在目录,难道是LIVE usb结束后消失了?这次成功了,不需要了吗?

ST.img を元の ST3160815AS に書き戻してもいいか?
"889個の不良セクタがあるが、使用可能です" というハードドライブです。

可以把 ST.img 写回原来的ST3160815AS吗?
“有889个不良扇区,但可以使用”的硬盘驱动器。
附件
ST3160815AS
ST3160815AS
回复