如何使用 从驱动器末端读取数据dd
?我考虑过使用,size - to_read
但我不知道如何获取字节大小。
答案1
一定要用‘dd’吗?GNU‘ddrescue’有一个方便的“反向”选项:
# copy the last 1K from '/dev/sdc' to '/tmp/c_end'
% ddrescue --reverse --max-size=1Ki /dev/sdc /tmp/c_end
Press Ctrl-C to interrupt
rescued: 1024 B, errsize: 0 B, current rate: 1024 B/s
ipos: 0 B, errors: 0, average rate: 1024 B/s
opos: 0 B, time from last successful read: 0 s
Finished
答案2
获取磁盘的总大小(以字节为单位):
fdisk -l /dev/sda 磁盘 /dev/sda:1000.2 GB,1000204886016 字节 255 个磁头、63 个扇区/磁道、121601 个磁柱 单位 = 16065 * 512 = 8225280 字节的柱面 设备启动开始结束块ID系统 /dev/sda1 * 1 7 56196 fd Linux raid 自动检测 /dev/sda2 8 257 2008125 83 Linux /dev/sda3 258 121602 974698231+ fd Linux raid 自动检测
使用 dd 从磁盘获取最后 100 个字节:
dd if = / dev / sda of = / tmp / endofdisk.data bs = 1 跳过 = 1000204885916 计数 = 100
注意 fdisk 输出的第一行上的磁盘总大小。我使用了 1 字节块大小,但当然,如果您要复制超过几个字节,请使用 1K 或 1M 块。手动计算大小(除以 1024)并替换bs=1
为bs=1024
1K 块。