在设置我的Raspberry Pi之后,我制作了一个图像,以便更容易恢复到较旧的软件状态。最近我想这样做,所以我保存了我的/ home / pi文件夹的内容,格式化了SD卡并将图像写到了它上面。
到目前为止一切正常。然后我尝试简单地删除完整的/ home / pi文件夹,并将其替换为我之前保存的旧图像文件夹。现在好像所有文件都存在。但它没有正确启动。
在某些时候它只是停止启动。然后我可以像终端一样使用它,但桌面没有启动。
那么,如何以正确的方式替换我的主目录,以免对系统造成任何损害?
修改 我只是想再次这样做。
sudo cp -a /home/pi/fileserver/backup /home/backup
(我在文件服务器中安装了一个网络驱动器。由于网络在Windows上,我假设所有权限都已经消失了)cp -a /home/pi/. /home/original
sudo umount /home/pi/fileserver
rm -r /home/pi/
mv /home/backup /home/pi
sudo chmod -R 755 /home/pi
(到目前为止一切仍然有效)sudo reboot
重新启动后,它不再正确启动。当我等待足够长时间时,我会看到X Server的错误。
答案 0 :(得分:1)
归档数据的方法非常令人怀疑。首先,正如您所提到的,Windows将删除权限位。之后运行chmod -R 755
会产生非常糟糕的后果,因为某些程序为了工作需要在某些文件上使用非常特定的访问位(例如ssh键)。更不用说让一切可执行都不利于安全。
考虑到您的情况,您也可以 a)将所有内容备份到Tar或Zip档案中 - 这样权限就完好无损 b)制作虚拟磁盘文件,该文件将存储在共享的Windows驱动器上并挂载到/ home / pi
如何执行方案A:
cd /home/pi
tar cvpzf backup.tar.gz .
将backup.tar.gz复制到共享驱动器
解压缩:
cd /home/pi
tar xpvzf backup.tar.gz
优点:
缺点:
如何执行方案B:
1)创建一个新文件来保存虚拟驱动器卷:
cd /mnt/YourNetworkDriveMountPoint
fallocate -l 500M HomePi.img
dd if=/dev/zero of=HomePi.img bs=1M count=500
mkfs -t ext3 HomePi.img
2)将它安装到家庭目录
mount -t auto -o loop HomePi.img /home/pi/
500表示磁盘大小为500兆字节 这样你的整个pi将被保存为Windows共享驱动器上的文件,但所有内容都将在ext3中,因此所有权限都将被保留。 我建议您保留Pi设备本身的当前版本映像文件和共享驱动器上的旧版本。如果需要切换,只需复制文件,否则如果所有图像都在共享驱动器上,则读/写性能将100%取决于网络速度。
然后,您可以轻松制作此文件的副本,并通过卸载现有图像并安装新文件立即进行交换
优点:
缺点:
现在,对于未显示Desktop的问题,您需要检查/var/log/Xorg.0.log以获取详细消息。可能这是由混乱的权限引起的。我会尝试重命名/删除位于/home/Pi/.config/中的当前Xorg设置和缓存(取决于您使用的内容 - XFCE,Gnome等)并让X服务器重新创建它们。但是,在执行此操作之前,请检查Xorg.0.log以获取确切的消息 - 可能还有另一个错误。如果您需要任何进一步的帮助,请对此答案发表评论