如何在Ubuntu上使用PhotoRec恢复已挂载iPhone的删除文件?
如何在Ubuntu上使用PhotoRec恢复已挂载iPhone的删除文件?
嗨,我来帮你搞定这个问题~你遇到的错误其实是因为PhotoRec的工作逻辑和你想的不太一样:它需要直接访问底层块设备(也就是iPhone存储硬件对应的系统设备节点),而不是你用ifuse挂载出来的普通目录。ifuse挂载的~/iphone是一个虚拟的用户态文件系统,没有PhotoRec需要的底层设备控制权限,所以才会报“Inappropriate ioctl for device”错误。
下面是正确的操作步骤:
先卸载当前的iPhone挂载点
首先要把已经挂载的iPhone目录卸载掉,避免后续操作冲突。打开终端运行:umount ~/iphone如果提示设备忙,就用FUSE专用的卸载命令:
fusermount -u ~/iphone找到iPhone对应的块设备
接下来要找到Ubuntu识别到的iPhone存储对应的设备节点。运行以下命令查看系统中的存储设备:lsblk你会看到类似设备列表的输出,找和iPhone容量匹配的设备(比如
/dev/sdb,对应的分区可能是/dev/sdb1)。注意不要选错其他存储设备(比如你的本地硬盘),不然会扫描错误的设备。如果
lsblk看不太清楚,也可以用:sudo fdisk -l同样找对应iPhone的设备路径。
用PhotoRec直接扫描块设备
找到设备路径后,需要用root权限运行PhotoRec(因为访问块设备需要管理员权限),命令格式如下(把/dev/sdX换成你找到的实际设备路径,比如/dev/sdb):sudo photorec /dev/sdX在PhotoRec交互界面完成恢复设置
启动PhotoRec后,按照界面提示操作:- 选择你要扫描的分区(如果iPhone有多个分区,选存储用户数据的那个)
- 设置恢复文件的保存目录:一定要选一个不在iPhone设备上的目录(比如你的Ubuntu本地硬盘某个文件夹),避免恢复过程中覆盖掉还没找回的删除文件
- 选择要恢复的文件类型(默认是全选,也可以根据需要筛选)
- 开始扫描,等待恢复完成
额外注意事项
- 恢复过程中不要操作iPhone,也不要在iPhone上写入任何数据,否则可能会覆盖掉你要恢复的删除文件
- 如果找不到iPhone的块设备,先确认你已经安装了完整的libimobiledevice工具包,运行
sudo apt install libimobiledevice-utils安装,然后用idevicepair pair重新和iPhone配对,同时要确保iPhone已经信任这台Ubuntu电脑 - 如果你不确定设备路径,多核对几次容量,避免选错设备导致数据风险
备注:内容来源于stack exchange,提问作者Bilal
相关产品推荐
相关产品推荐

