誤ってループデバイスを介して削除されたファイルを書きました。
オペレーティングシステム:Ubuntu 20.04
私のシナリオは次のとおりです。
1 - RAWイメージファイルを作成しました。
# qemu-img create -f raw sda.img 10G
2 - sfdisk dumpを使用してパーティションを作成しました。
# 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ファイルシステムは安全ですか?
ありがとうございます。