我在 Windows 7 上以 Virtualbox 的形式运行 Ubuntu 12.04.1。Ubuntu 崩溃了(它声称主机内存太少,但这似乎有点奇怪,因为我有 6 GB 的 RAM,而只给 Ubuntu 2 GB),所以我重新启动了 Ubuntu。但是,当我这样做时,我收到以下错误:
error: ELF header smaller than expected
grub rescue>
我最初尝试了提供的解决方案http://ubuntuforums.org/showthread.php?t=1599293- 但在步骤 4 中找不到 iso 的位置(大概是因为它是一个 VirtualBox?)
当我从 iso 启动时,我没有看到修复选项,只能从 CD 启动或从头开始安装。
有没有办法:
- 从 iso 启动 Ubuntu,然后通过挂载硬盘修复相应的文件
或者
- 安装新版本的 Ubuntu,并将我的“旧”硬盘挂载到它,以便我可以恢复文件
其中一个选项是否可行或者比另一个更好?
答案1
答案2
确保 ISO 已安装在 VM 上;如果已安装,则当您在 grub 救援提示符下执行“ls”时它应该会出现在结果中,并且您应该能够正常继续执行步骤 4。
话虽如此,从全新安装的 Ubuntu 重建虚拟机并从那里恢复文件可能更简单。如果您选择这种方式,我建议您在完成原版 Ubuntu 安装后立即克隆新虚拟机的安全副本,或者在恢复数据之前克隆;这样,如果虚拟机再次崩溃并死机,您可以克隆安全副本并从那里开始,而不必再次从头开始重建。