如何在 Windows 7 上重新使用通过 Wubi 安装的 Ubuntu?

如何在 Windows 7 上重新使用通过 Wubi 安装的 Ubuntu?

由于某种原因,我无法从 CD 或 USB 安装 Ubuntu,因此我不得不通过 Wubi 安装 Ubuntu。但我将 Ubuntu 安装在分区“D”中,而 Win 7 的分区是“C”。如果我重新安装 Win 7,如何使用预装的 Ubuntu?

答案1

不要卸载 Wubi - 它将删除虚拟磁盘并完全删除整个 Ubuntu 安装。为了安全起见,请将 D:\ubuntu\disks\root.disk(以及任何其他虚拟磁盘)完全从 D:\ubuntu 目录中删除。

您有以下几种选择:

1.重新安装 Windows 7,并保持 D: 完全不变。然后您必须使用bcdedit 或 easyBCD添加回 D:\ubuntu\winboot\wubildr.mbr 的条目,并将 D:\ubuntu\winboot\wubildr 文件复制到 C:\

2. 在删除 D:\ubuntu 之前,将 *.disk 移出 D:\ubuntu 文件夹。重新安装 Windows 7,并再次使用 Wubi 重新安装同一版本的 Ubuntu。然后在重新启动以完成安装之前,将 *.disk 文件复制回 D:\ubuntu\disks 文件夹。只要您的分区编号没有改变(即您没有拆分 C: 或调整 D: 的大小等),此操作无需任何调整即可完成。在这种情况下,您需要手动调整 grub 菜单项以进行启动。这会更麻烦一些,但如果有人帮忙,也不会太糟糕。

但是,由于你有一个专门用于 Ubuntu 的 D: 分区,你可以迁移将您的 Wubi 安装到其中。如果您之前无法从 CD/USB 安装,则很可能是您的 CD 刻录有问题,并且 USB 上的 ISO 有问题。

编辑:提供更多信息来解释 Wubi 安装如何启动

Wubi 安装到虚拟磁盘 - root.disk - 这是一个完全可启动的 Ubuntu 操作系统。但它需要快速启动。因此,Windows 引导加载程序调用 wubildr.mbr (grub4dos),它会查找并将控制权转移到它在任何分区 (C:\wubildr) 的根目录中找到的第一个 wubildr。Wubildr 包含足够的 grub2 来定位 root.disk - 在任何分区上,只要它位于 /ubuntu/disks/ 目录中。这就是为什么将 wubildr.mbr 添加到 Windows 引导加载程序并将 wubildr 复制到 C:\ 有效的原因。

Wubildr 将循环挂载 root.disk 并找到它的 /boot/grub/grub.cfg 并将其显示为 grub 菜单。这就是问题所在。到目前为止,任何东西在哪个分区或驱动器上都无关紧要。grub.cfg 包含明确的驱动器/分区信息以及分区的 UUID。如果您将 root.disk 从一个分区复制到另一个分区,它将无法启动。如果像您的情况一样,驱动器 D: 未修改,它将正常工作。例如,如果您将其移动到 C:,则需要进行一些更改。

例如,如果 D: 是 /dev/sda2 而 C: 是 /dev/sda1,那么您将在 grub 菜单的第一个条目上按“e”并更改:

set root=(hd0,2) 变成 set root=(hd0,1)

删除行 - search --no-floppy xxx(因为这将使用旧的 UUID 覆盖先前的 set root 命令)

linux /boot/vmlinuz-xxxx root=/dev/sda2 ... 变成 linux /boot/vmlinuz-xxx root=/dev/sda1 ...

这是一个一次性覆盖 - 按 CTRL+x 进行启动,并确保sudo update-grub在启动后运行以修复 grub.cfg 菜单,以便下次正常工作。

PS 可能存在一些变化。(hd0,2) 可能是 (hd0, msdos2) 或 (/dev/sda, msdos2),具体取决于 Grub 的版本。此外,root=/dev/sda2 可能是 root=UUID=xxxxx

相关内容