실수로 루프 장치를 통해 삭제된 파일을 썼습니다.
운영 체제: 우분투 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 파일 시스템은 안전합니까?
감사해요.