我/usr
从 nvidia TX1 开发板安装到连接到该板的外部 SSD。
我想知道如何在不重新刷新的情况下恢复原始状态?如果我断电,断开SSD,然后启动,将不会有/usr目录。
我正在考虑制作一个副本到 /root/usr 并更新fstab
以指向该副本而不是外部 SSD,但必须有更好的选择,我现在想不出来。
如果是常规的,x86
我只需启动 Live CD 并修复它,但这是一个带有 Arm 的 SoC,所以没那么容易
答案1
使用 的绑定安装/
使原始文件(如果之前已安装在其上,/usr
则可能是空的)可用,并将安装的文件复制到其上。/usr
/usr
/usr
# mkdir /root/underlyingroot
# mount --bind --make-private / /root/underlyingroot
# cp -ax /usr /root/underlyingroot
# umount /root/underlyingroot
--make-private
/
是取消安装的情况shared
选项, 哪个这是跑步时systemd
。否则,在上面mount
和上面之间安装的任何东西(例如:自动安装插入的设备等)umount
都将反映在内部/root/underlyingroot
并阻止之后的简单umount /root/underlyingroot
工作。
现在复制已在最终位置完成,您可以编辑/etc/fstab
和删除/usr
安装点。
如果根本没有运行任何东西,/usr
您也可以umount
立即/usr
完成。但如今,如果不是在单用户或救援模式下,很难让运行的东西/usr
根本不使用,甚至现在甚至不总是(例如较新的 CentOS),所以无论如何可能需要重新启动。您还可以考虑umount --lazy /usr
哪个将允许立即摆脱内部存储而不是外部存储/usr
并进行任何新的更新/usr
,但在下次重新启动之前仍然需要外部存储。