![错误地意外移动了根分区](https://linux22.com/image/203368/%E9%94%99%E8%AF%AF%E5%9C%B0%E6%84%8F%E5%A4%96%E7%A7%BB%E5%8A%A8%E4%BA%86%E6%A0%B9%E5%88%86%E5%8C%BA.png)
cb@coreboot-bm-4:~$ pwd /home/cb cb@coreboot-bm-4:~$ sudo mv /* ADL-P/
现在我什么也做不了
当我尝试类似的事情时:
cb@coreboot-bm-4:~$ ls -bash: /bin/ls: 没有这样的文件或目录
答案1
问题不仅在于/bin
和中的二进制文件/usr/bin
被移动。但即使你直接运行它们,它们也无法找到它们的库。换句话说,你将无法/
从那个外壳中走出来。
许多 VM 提供商都为您提供安装救援系统或其他 ISO 的选项。如果您可以上传自己的 ISO,我建议:https://www.system-rescue.org/。或者使用安装程序 ISO 并尝试访问 shell。
例如,标准 Debian 安装程序通过选择Advanced options
->提供“救援模式” Rescue mode
。单击对话框,当它询问要使用哪个文件系统根时,选择Do not use a root filesystem
和Execute a shell in the installer environment
。
无论您使用的是 debian、systemrescuecd 还是任何其他方法。一旦你有了外壳:
- 识别根设备
fdisk -l
- 挂载根设备:
mkdir -p /mnt/root && mount /dev/vda1 /mnt/root
. (请替换/dev/vda1
为实际设备!) - 将所有内容移回原处:
mv /mnt/root/ADL-P/* /mnt/root
在某些救援 shell 中,例如 debian,您可能会收到错误:Can't rename ... : Directory not empty
。仅有的在这种情况下,您需要使用以下-n
选项:mv -n /mnt/root/ADL-P/* /mnt/root
- 重新启动系统:(
reboot
也许您需要从提供商的仪表板中手动删除 ISO)
祝你好运!
答案2
尝试 /ADL-P/usr/bin/sudo /ADL-P/usr/bin/mv /ADL-P /
编辑:刚刚找到这个 https://askubuntu.com/questions/951134/accidentally-moved-usr-bin