绿联UGOS相册Live Photo迁移至UGOS PRO
绿联开放旧机型升级新系统之后,相信大家已经迫不及待的将手里的机器升级切换到新系统了吧。在切换过程中可能会遇到的各种问题及注意事项相信已经有很多博主发出了比较详细的帖子,所以我这里仅对旧系统相册里的Live Photo如何无损迁移至新系统提供方法。
一、准备工作
1、想要保留Live Photo目前我这里目前知道的有以下两种方法:
(1)在升级系统前将带有Live Photo的照片全部下载至手机,待升级完系统后重新上传备份至新系统。(该方法操作简单,如选择此方法则后文无需再看)
(2)在升级系统后将原相册备份的硬盘挂载为外部存储,并通过SSH操作恢复。(该方法需要有一定的动手能力,如你和我一样手机没有足够的空间备份原有的Live Photo或照片数量过多则可以选择该方法)
2、开始操作前需要准备好的内容如下:
(1)旧系统用户uid
在升级切换新系统后会在硬盘路径/.ugreen_nas/文件夹下生成“数字命名的目录与绑定用户的对应关系.txt”文件,该文件内含有用户与其对应的ID,如图

(2)确定挂载路径
在新系统将有相册备份的硬盘通过外部存储挂载在文件管理器内,并获取挂载路径(如下图路径为ext1)


(3)新系统用户名
登录、连接SSH使用的用户名
(4)新建一个中转文件夹
路径随意,自己知道路径就好。也可参考我的在新系统用户个人文件夹下新建temp文件夹(注意确保该位置具有存放Live Photo的空间大小)
二、迁移Live Photo
以下内容均为连接SSH后的操作,SSH操作请谨慎!
1、切换至root用户
(1)输入以下代码回车并输入用户密码(切换至root用户)
sudo -i
(2)将旧系统相关文件拷贝至中转文件夹(注意红色字体部分需要替换为自己的,且以下代码为完整的一行代码,切勿分开复制)
find /mnt/@ext/pool1-storage0/.thumb/.ugreen_nas/旧系统UID/我的备份/ -name "*.zip" -print0 | xargs -0 -i cp --parent {} /home/现用户名/temp/
(pool1中的1对应准备工作中获取的外部存储挂载路径,如挂载为ext2此处则为pool2)
(浅蓝色背景部分可替换为别的中转路径,如修改记得在之后步骤对应位置替换)
以上代码回车后终端会暂时没有回应(如下图),

根据相册文件大小等待的时间会有所不同(可通过任务管理器查看硬盘读写情况,如下图),

切记该期间不可断开SSH连接及NAS电源等操作,直到结束操作并回应(如下图)

完成操作后可在文件管理器查看该文件夹属性如下图(此时由于文件夹所有者为root无法打开,是正常的)

(3)将中转文件夹内的文件所有者更改为新系统用户
chown -R 现用户名:admin /home/现用户名/temp/*
chmod -R 755 /home/现用户名/temp/*
(4)切换回个人用户,并回到用户个人文件夹
su 现用户名
cd ~
(5)安装unzip、批量解压zip、删除多余的zip
wget https://mirrors.ustc.edu.cn/debian/pool/main/u/unzip/unzip_6.0-28_amd64.deb
sudo dpkg -i unzip_6.0-28_amd64.deb
OLDIFS="$IFS"; IFS=$'n'; for f in `find /home/现用户名/temp/* -name *.zip`; do n=(`dirname $f`);unzip $f -d $n; done; IFS="$OLDIFS";
(第三条代码输完后会开始滚屏,等待结束后继续下一步操作)
find /home/现用户名/temp/* -name "*.zip" -print0 | xargs -0 rm
(6)安装rename、并重命名已解压的Live Photo资源
wget https://mirrors.ustc.edu.cn/debian/pool/main/r/rename/rename_2.01-1_all.deb
sudo dpkg -i rename_2.01-1_all.deb
find /home/现用户名/temp/* -name "IMG_*" -print0 | xargs -0 rename 's/.HEIC././'
find /home/现用户名/temp/* -name "IMG_*" -print0 | xargs -0 rename 's/.heic/.HEIC/'
find /home/现用户名/temp/* -name "IMG_*" -print0 | xargs -0 rename 's/.mov/.MOV/'
(7)覆盖Live Photo至原相册路径或新系统备份路径(填写需要恢复到的地方,建议先将旧相册文件复制到新相册如:/home/现用户名/Photos/)
因为我已经将旧相册“/.ugreen_nas/用户uid/我的备份”迁移至新系统相册文件夹“/home/现用户名/Old/”,所以我这里直接将Live Photo覆盖至新系统相册文件夹,首先进入到以下路径
cd /home/现用户名/temp/mnt/@ext/pool1-storage0/.thumb/.ugreen_nas/旧系统UID/我的备份
以上路径中,浅蓝色部分为之前步骤中的中转文件夹路径,如替换请修改;浅黄色部分路径为外部存储下的旧系统相册路径,如不一致请修改替换。然后开始复制操作
cp -r * /home/现用户名/Old/
完成以上复制操作后,记得删除缓存用的中转文件夹和两个离线安装包
rm -rf /home/现用户名/temp
rm -rf /home/现用户名/*.deb
至此,还原Live Photo到此结束,待文件索引完成之后,就可以在新系统相册看到迁移过来的静态图恢复成Live Photo啦。
三、结语
其实原理很简单,从上面的代码中也能看出来些端倪:旧系统相册将Live Photo的mov和heic打包成zip放在 “/.thumb/.ugreen_nas/用户UID/我的备份” 这个文件路径下。以上代码只是批量从这个地方将zip导出来然后批量解压、重命名然后覆盖到原有的位置,就可以在新系统完成识别。
有精力的人可以写个更加自动化的脚本或工具,也可以等等看绿联官方是否会考虑推出一个迁移工具(大概率不会),我精力有限,能提供的就随着我的备份恢复完成到此结束啦,感谢各位的观看!

值友7018195780
这句错了吧,好像解压补了的,文件名称是-tmg-zip
提示unzip: cannot find or open _, _.zip or _.ZIP.
校验提示文案
值友1927084271
校验提示文案
是否有梦
校验提示文案
值友3534612245
校验提示文案
值友3534612245
校验提示文案
是否有梦
校验提示文案
值友7018195780
这句错了吧,好像解压补了的,文件名称是-tmg-zip
提示unzip: cannot find or open _, _.zip or _.ZIP.
校验提示文案
值友1927084271
校验提示文案