我安装的系统意外删除了我的模块,包括所有模块、所有旧模块以及最新的 3.2.41 模块。我安装的系统已经安装完毕,chroot
我不知道该怎么办。我在这里找到了一个答案,说要下载标题,当我尝试时,它说它们已经是最新版本,并创建一个指向的符号链接/lib/modules/linux-headers-pkgname/build
,它允许我创建指向的链接,/lib/modules/linux-headers-3.2.41/
但不允许进一步操作。
如果有人能帮我解决这个问题,我已经chroot
安装了正确的系统以及proc
、sys
和/dev/pts
,此时我只是不知道要下载和安装什么包,或者如何将我需要的东西放回/lib/modules
。我也应该删除这个符号链接吗?我在外部驱动器上备份了 3.2.41,我可以将它复制回正确的文件夹并恢复我的模块吗?我使用的是 Ubuntu 32 位 12.04。
答案1
我启动了实时系统,登录了 root shell,登录了 root
$ sudo -i password
我挂载了我的文件系统:
# mount /dev/sda6
然后我挂载了 sys、proc、dev 和 dev/ptsL
# mount -o bind /dev /mnt/dev
# mount -o bind /proc /mnt/proc
# mount -o bind /sys /mnt/sys
# mount -o bind /dev/pts /mnt/dev/pts
然后我 chroot:
# chroot /mnt
之后我确认所有我移过来的模块都被移除了,因为我终于能够复制我备份在外部设备上的模块了,和我尝试将实时系统中的模块安装到我的文件系统中,但它们并没有完全起作用,它们所做的只是修复了安装其他文件系统和一些 USB 访问的问题。因此,我使用了:
# rm -r /lib/modules
然后我确保我的互联网连接仍然良好:
$ ping -c 5 google.com
然后,在确认我可以访问互联网后,我运行了一些更新,因为每隔几天就会发布更新,我的文件系统检查了我的内核,看是否需要更新任何内容,我可以通过这种方式重新安装我的模块。我运行了:
# apt-get update
# apt-get dist-upgrade
完成这一切后,我经常ls
检查我的模块是否回来了,结果发现它们确实回来了/lib/modules
。我重新启动了计算机,一切都恢复正常了。
感谢那边帮助我的好人ubuntuforums.org