从Windows分区备份Linux分区中的数据库!

从Windows分区备份Linux分区中的数据库!

您好,我处于一个非常尴尬的境地,昨天我试图从 ubuntu 9.10 升级到 ubuntu 10.04,在更新时我忘记给我的笔记本电脑充电,电池没电了。因为我们知道 Linux 中没有回溯过程,所以我现在得到的只是启动时的空白终端屏幕。即使我登录,我仍然停留在那个空白屏幕上。

所以我看到的唯一方法是格式化并重新安装我的 Windows 和 Linux 实例。因此,在格式化之前,我尝试保存 linux 分区中的所有数据。我正在使用 ext2explore 来保存我的所有文件。我想知道是否有任何可能的方法将数据库或一些表从我的 Windows 分区导出到文件中?

我需要使用 Windows 分区备份 Linux 分区中的数据库!

答案1

我不明白为什么你认为你必须重新安装 Linux(或 Windows)。您似乎运气不好,升级过程中断电导致您的 Linux 安装无法使用(或者至少不容易使用),但这并不意味着它无法恢复。

最简单的恢复方法是从 Live CD 或 USB 磁盘启动(最好是从 Ubuntu 10.04,尽管任何最新的 Linux 都应该可以)。 (可能可以通过以特定方式引导来修复您的安装,但 Live CD 方法要容易一些。)以下命令假设您有一个以 root(管理员)身份运行的 shell(命令行)。

  • 如果您有一个界面可以安装现有的 Linux 安装,请按照它的指示进行操作。否则,请手动执行:使用fdisk -l查看您有哪些分区并找到系统分区。将其安装到某个地方。同时在其下挂载procfs和sysfs。例如,如果您的 Linux 分区位于 上/dev/sda99,请运行

    mkdir /media/linux
    mount /dev/sda99 /media/linux
    mount -t proc proc /media/linux/proc
    mount -t sysfs sysfs /media/linux/sys
    
  • 在 Linux 安装中启动“子会话”chroot:

    chroot /media/linux
    
  • 现在您的 Linux 安装中应该有一个 shell。运行apt-get installdpkg --configure -a继续升级。 (有时运行这些命令几次可以消除错误,或者至少让很多事情继续进行,即使一些包被错误阻止。)崩溃可能使系统处于这些命令未执行的状态还不够;如果是这样,请再次询问,并报告您看到的错误消息。

请注意,如果目的是提取重要数据,我不建议从 Windows 访问 Linux 分区。用于 Linux 文件系统访问的 Windows 工具并不完全可靠,尤其是在文件系统未完全卸载的情况下。

答案2

ext2explore如果可以从 Ubuntu LiveCD 启动为什么还要使用?您确定还需要重新安装 Windows 吗?它不太可能在安装过​​程中被损坏。

不同数据库引擎的备份过程可能有所不同,您最好先检查您的数据库的文档。

答案3

如果您有数据库备份,那么使用它们可能是最简单的。

如果您确实需要这些数据库,并且您使用的是 MySQL,那么您可以/var/lib/mysql/在 linux 分区下找到它们。您可能需要该目录及其子目录中的所有文件。请注意,从 Ubuntu 内部归档这些文件可能是一个更好的主意,因为这样可以保留权限(该网站上可能已经有一个问题如何做到这一点)。

正如我在对您的问题的评论中所说,也许可以从命令行继续升级。

相关内容