我不小心通过循环设备写入了删除文件。
操作系统:Ubuntu 20.04
这是我的场景:
1 - 我创建了一个 RAW 图像文件:
# qemu-img create -f raw sda.img 10G
2 - 我使用 sfdisk 转储创建了分区:
# sfdisk sda.img < sda.dump
3 - 我通过循环设备(loop18)安装了图像:
# losetup -f --show -P sda.img
我明白了:
# lsblk /dev/loop18
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop18 7:18 0 10G 0 loop
└─loop18p1 259:0 0 9,8G 0 part
4 - 我删除了图像文件(不小心):
# rm sda.img
5 - 我将备份映像复制到分区:
# dd if=sda1.img.bak of=/dev/loop18p1 status=progress
没有错误。 dd 命令运行良好。
该losetup
命令表示镜像文件被删除:
# losetup /dev/loop18
/dev/loop18: [2049]:1972579 ( (deleted))
我将随机数据写入分区进行测试(ctrl+C):
# dd if=/dev/urandom of=/dev/loop18p1 status=progress
146953728 octets (147 MB, 140 MiB) copiés, 4 s, 36,7 MB/s^C
327621+0 enregistrements lus
327621+0 enregistrements écrits
167741952 octets (168 MB, 160 MiB) copiés, 5,10425 s, 32,9 MB/s
为什么它有效?我的 Ubuntu 操作系统的 ext4 文件系统安全吗?
谢谢。