如何恢复已删除的 SQLite 数据库文件?
使用magicrescue
带有以下参数的工具只会提取 SQL 查询文件:
sudo magicrescue -r sqlite -d ~/output /dev/hdb1
答案1
事实证明magicrescue
确实可以从找到的数据库文件创建 SQL 文件。
这/usr/share/magicrescue/recipes/sqlite
是一个实现此目的的特殊配方:
# Extracts sqlite databases
# Author: Eric Pozharski <[email protected]>
# See #730007
#
0 string SQLite format 3\x00
extension sqlite
# Result will be "CREATE TABLE"'s and "INSERT INTO"'s
allow_overlap -1
#min_output_file 1024
command dd bs=1M count=16 of="$1.with-trash" 2>/dev/null; sqlite3 -init /dev/null "$1.with-trash" .dump >"$1" ; rm -f "$1.with-trash"
因此生成的*.sqlite
文件实际上是从找到的数据库文件创建的 SQL 文件。