use*_*388 5 linux hard-drive data-recovery dd
我想dd从图像sdb到sdc,但是,因为一个小时,我已经建立了一些与众不同的事情之前,我只是复制相同的命令:
dd if=/home/user/Downloads/ubuntu.iso of=/dev/rsdb bs=2M; sync
Run Code Online (Sandbox Code Playgroud)
sda = 内置硬盘
sdb = USB 硬盘(从现在启动)
sdc = USB 记忆棒
我启动的硬盘驱动器上有 3 个分区,我猜其他 2 个处于只读模式,并且我尝试了两次 shell 中的错误:
568328192 bytes (568 MB) copied, 38,5818 s, 14,7 MB/s
dd: error writing ‘/dev/rsdb’: No space left on device
715128832 bytes (715 MB) copied, 17,1752 s, 41,6 MB/s
Run Code Online (Sandbox Code Playgroud)
现在我意识到我在从(使用rsdb)启动的硬盘驱动器上覆盖了 1GB 。我没关过电脑。我会丢失此驱动器上的所有数据吗?我现在可以恢复任何东西吗?
这是我的/proc/partitions:
8 0 156290904 sda
8 1 154218496 sda1
8 2 1 sda2
8 5 2069504 sda5
8 16 244198582 sdb
8 17 31457280 sdb1
8 18 20971520 sdb2
8 19 191768576 sdb3
8 32 2011136 sdc
8 33 2011135 sdc1
Run Code Online (Sandbox Code Playgroud)
您已经销毁了第一个 ~1 GB,其中覆盖了分区表和第一个分区的文件/目录列表。不过,您仍然可以重建分区表并发现 sdb2 和 sdb3 未受影响。
从终端运行此脚本,并记下它报告的开始/大小/结束编号(以防万一):
for part in /sys/class/block/sdb[0-9]*; do
num=$(<$part/partition)
start=$(<$part/start)
size=$(<$part/size)
end=$((start+size-1))
echo "partition $num: start $start, size $size, end $end"
done
Run Code Online (Sandbox Code Playgroud)
然后使用parted /dev/sdb或fdisk /dev/sdb手动创建匹配的分区。例如,如果打印:
partition 1: start 2048, size 204800, end 206847
Run Code Online (Sandbox Code Playgroud)
那么你可以使用:
parted /dev/sdb mkpart primary 2048s 206847s
Run Code Online (Sandbox Code Playgroud)
(注意s最后的单位)
| 归档时间: |
|
| 查看次数: |
8433 次 |
| 最近记录: |