我无意中删除了 /etc/ 文件夹。现在无法进行任何管理,因为/etc/passwd
和/etc/shadow
都丢失了。
有没有什么办法可以在 Ubuntu 中恢复它?
答案1
以下是我将会采取的方法。
如果你想尝试手动恢复,请启动 ubuntu live CD 并更新所有内容
sudo apt-get update && sudo apt-get -y dist-upgrade
然后你将你的 ubuntu 分区挂载在/mnt
sudo -i
mount /dev/sdxy /mnt
您可以将 /etc 复制到/mnt/etc
cp -Raf /etc /mnt
然后您需要手动编辑/mnt/etc/passwd
和/mnt/etc/group
/mnt/etc/sudoers
格式应该足够容易从现有条目中理解,但如果不理解,请询问。确保您的用户属于管理员组。
将您的用户添加到这些文件中^^
然后 chroot
sudo chroot /mnt
并设置您的用户密码
passwd your_user
您还需要更新/mnt/etc/fstab
,定义您的根分区和交换。您可以使用 Live CD 作为大多数条目的模板。
重新启动并希望它能起作用。
如果没有,请启动实时 CD 并将数据备份到闪存驱动程序或备用分区,然后重新安装。
祝你好运
答案2
从备份中恢复,或重新安装。如果重新安装,请使用手动分区,不要选中格式化框,您的个人数据应保持完整。较新的版本还提供了重新安装/替换现有安装的选项,而无需格式化。这比手动分区更容易使用。
答案3
从 ext4 恢复文件并不容易 :-/
您可以从 Live CD 开始,然后将其中的所有文件复制到 /etc 目录中。但我担心这行不通。
全新安装应该会在更短的时间内为您带来更好的结果,但所有内容都会丢失。必须事先备份个人数据!
答案4
你可以使用以下命令获取所有已安装软件包的列表
dpkg --get-selections
你可以使用以下命令重新安装软件包
sudo apt-get --reinstall install packagenames
使用这两个命令,可以构建一个重新安装所有已安装软件包的命令。这可能会有所帮助。但是,我现在没有时间为您创建此命令。如果有人有时间 - 请编辑此帖子。