三年前,我使用 Wubi 安装程序在 Windows7 上安装了 Ubuntu 12.04。到目前为止,它运行良好,但今天突然在关机时出现一些错误,然后停止工作。
我已尝试过:
我已经尝试了各种博客或网站上各种专家提供的所有可能的解决方案,例如启动修复盘等等。
我发现了一件奇怪的事情,我认为这就是问题所在。
三年前,当我使用 wubi-installer 在 Windows-7 上安装 Ubuntu 时,由于它的大小太小(最大 30 GB),我决定扩展“root.disc”,并备份了 30GB 的“rood.disc”,并将“root.disc”扩展为 120GB 大小。
今天,为了检查启动问题是由于外部因素引起的还是直接来自“root.disc”,我用 3 年前的“OLDroot.disc”文件替换了我的“root.disc”文件,现在系统可以正常启动并且运行正常。
我得出结论,问题出在我的“root.disc”的某个地方,并且我使用“root.disc”资源管理器软件“ext2explore-2.2.71”来检测有缺陷的“root.disc”文件中的损坏文件。
当我比较两个文件“OLDroot.disc”(3 年前)和当前的“root.disc”的内容时,我发现整个“boot”文件夹在当前“root.disc”中丢失,而“boot”文件夹存在于“OLDrood.disc”文件中,这可能是 Ubuntu 12.02 无法运行并显示 GRUB 提示的可能原因。
有什么方法可以将某些内容复制到“root.disc”文件中吗?因为使用“ext2explore-2.2.71”可以从“root.disc”中提取文件,但无法将某些内容粘贴到其中。如果我可以将整个“boot”文件夹从“OLDroot.disc”文件复制到当前“root.disc”,则可以解决我的问题,我该怎么做呢?
答案1
如果您有 12.04 Live CD 或可启动 USB,请使用它启动至 Live 模式。
然后将您的“root.disc”和“oldroot.disc”文件挂载到 Live 用户主文件夹中的两个文件夹中。(我假设您的两个文件为 root.disc 和 oldroot.disc,您将在命令中使用它们的确切名称)
首先创建两个文件夹
mkdir newroot oldroot
然后相应地安装它们
sudo mount -o loop root.disc ~/newroot
sudo mount -o loop oldroot.disc ~/oldroot
然后将 newroot 启动盘中的所有文件复制到 oldroot 启动盘
sudo cp -r ~/newroot/boot ~/oldroot/
复制完成后,卸载两个文件。
sudo umount ~/newroot
sudo umount ~/oldroot
退出实时会话。进行必要的调整以使用 oldroot.disc 文件,例如重命名。之后启动您的 Ubuntu,希望它已修复。
答案2
我能够解决我的问题。我采用了 Anwar 建议的一半技巧,其余的我按照下面给出的方法自己尝试。希望它能帮助其他人。我不知道从技术上来说它是否正确,但它解决了我的问题。
首先,我使用 Windows 操作系统将有缺陷的“root.disk”复制到硬盘的另一个分区中。
将“root.disk”替换为“OLDroot.disc”,并将“OLDroot.disk”重命名为“root.disk”,以便引导加载程序可以将其识别为 Ubuntu 的主驱动器。
系统重新启动,Enter进入 Ubuntu 即可,并且系统可以正常使用 Ubuntu 启动。
现在损坏的“root.disk”需要实际修复,并且最近移到另一个分区,使用我的 anwar 建议的命令进行安装。
sudo mount -o loop root.disc ~/newroot
将“boot”文件夹从当前 Ubuntu 会话复制到其他分区中损坏的“root.disk”。
系统再次启动并进入 Windows。
旧的“root.Disk”文件被来自其他分区的修复的“root.Disk”文件替换,并且系统重新启动。
Ubuntu 登录屏幕成功出现:).......