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

出于某种原因,我无法从CD或USB安装Ubuntu,所以我必须通过Wubi安装Ubuntu。 但我将Ubuntu安装到分区’D’中,Win 7的分区是’C’。 如果我重新安装win 7,我该如何使用预装的Ubuntu?

不要卸载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:或resize的D:等),这可以不进行任何调整。在这种情况下,您需要手动调整grub菜单项以启动。 如果你有人帮忙,那会更痛苦,但也不会太糟糕。

但是,由于您有一个专用的D:Ubuntu分区,您可以将 Wubi安装迁移到它。 如果你以前无法从CD / USB安装,那么你很可能在CD上烧坏了,USB上的ISO也坏了。

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

Wubi安装到虚拟磁盘 – root.disk – 这是一个完全包含的可启动Ubuntu操作系统。 但它需要快速启动。 所以windows bootloader调用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