如何启用启动多个 Ubuntu Wubi?

如何启用启动多个 Ubuntu Wubi?

我想同时使用 Ubuntu Wubi 11.04 和 Ubuntu Wubi 12.04,这样启动菜单将显示 3 个选项:Windows、Ubuntu 11.04 和 Ubuntu 12.04。我目前的方法是只使用其中之一,并禁用另一个。有什么办法吗?

答案1

您无法通过 Windows 启动管理器执行此操作。您只能通过手动切换(您显然正在这样做)或通过自定义 grub 条目执行此操作。

一步步:

  1. 安装第一个版本(11.10 或 12.04)
  2. \ubuntu将目录复制到\ubuntufirst(或者更快捷的方式,重命名为\ubuntufirst,然后\ubuntu使用创建一个新目录uninstall-ubuntu.exe,这是卸载第一个版本所必需的)
  3. 安装第二个版本
  4. 启动 Ubuntu 并添加自定义 grub 条目以启动第一个版本。您将编辑/etc/grub.d/40_custom然后运行sudo update-grub。您可以从要启动的安装上复制条目/boot/grub/grub.cfg。条目的示例如下:

    menuentry 'Ubuntu, Other Wubi' --class ubuntu --class gnu-linux --class gnu --class os {
            set gfxpayload=$linux_gfx_mode
            insmod part_msdos
            insmod ntfs
            set root='(hd0,msdos3)'
            search --no-floppy --fs-uuid --set=root YOUR-UUID-HERE
            loopback loop1 /ubuntufirst/disks/root.disk
            set root=(loop1)
            linux    /vmlinuz root=UUID=YOUR-UUID-HERE loop=/ubuntufirst/disks/root.disk ro   quiet splash vt.handoff=7
            initrd    /initrd.img
     }
    

需要注意的几点是... 您将其更改loop0loop1因为loop0已在使用中(使用您的原始安装)。此外,使用/vmlinuz而不是/boot/vmlinuz-3.x.x-x-generic因为 这样您就不必继续更新它(/vmlinuz指向最新版本)。这同样适用于/initrd.img

这是我的工作示例(在这种情况下,副本位于同一\ubuntu\disks文件夹中):

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

    menuentry 'Ubuntu - backup precisenew.disk' --class ubuntu --class gnu-linux --class gnu --class os {
            set gfxpayload=$linux_gfx_mode
            insmod part_msdos
            insmod ntfs
            set root='(hd0,msdos3)'
            search --no-floppy --fs-uuid --set=root 18B4B7BBB4B799A8
            loopback loop1 /ubuntu/disks/precisenew.disk
            set root=(loop1)
            linux   /vmlinuz root=UUID=18B4B7BBB4B799A8 loop=/ubuntu/disks/precisenew.disk ro   quiet splash vt.handoff=7
            initrd  /initrd.img
    }

启动时的样子

bcbc@arcturus:~$ mount | grep ' / '
/dev/loop0 on / type ext4 (rw,errors=remount-ro)
bcbc@arcturus:~$ sudo losetup /dev/loop0
/dev/loop0: [0803]:34470 (/host/ubuntu/disks/precisenew.disk)
bcbc@arcturus:~$ 

如果您使用此技术,您可能需要更新/etc/fstab以反映更新的位置。这不会产生影响/,但如果您有单独的/home或想要使用正确的swap.disk

在我看来,这对大多数人来说都不是一个有用的解决方案。Wubi 的设计初衷是让初学者轻松上手。但如果你用它来测试不同的版本,除了每次重命名目录并\ubuntu进行更新外,没有太多选项可以启动它们。C:\wubildr

笔记:在 Wubi 安装中更新 Grub 时,它将重建文件/wubildr,并将指向当前虚拟磁盘。在上面的例子中,它将指向precisenew.disk。这可能是不理想的,因为更简单的是掌握安装。为了避免这种情况发生,您可以保留C:\wubildr文件的备份,或者编辑/usr/share/lupin-support/grub-mkimage 在二次安装上(不是你的主要):

--- /mnt/usr/share/lupin-support/grub-mkimage 2011-09-20 03:44:44.000000000 -0700
+++ /usr/share/lupin-support/grub-mkimage 2012-10-29 22:02:55.784517389 -0700
@@ -112,7 +112,7 @@
         exit 1
     fi
 fi
-
+exit 0 # for non-primary install, bypass creation of wubildr
 wubildr_partitions="$(find_wubildr)"

 if [ ! -f "$target" ] && [ -z "$wubildr_partitions" ]; then

相关内容