是否可以从Windows运行当前安装的Ubuntu?


9

我在单独的分区上安装了Windows XP和Ubuntu。

是否可以从Windows内部“引导”我的Ubuntu安装?我正在寻找的类似于虚拟机,但是它将运行已经安装在我的硬盘上的Ubuntu副本。我希望能够双重引导Ubuntu和Windows,但也能够从Windows内部访问我的Ubuntu安装而不必重新引导。


您是说要在Windows中运行Ubuntu安装(如Ubuntu本身),还是要从Windows中的Ubuntu分区访问文件?
Marco Ceppi

@marco我认为他的意思是引导实际安装。
myusuf3

Answers:


10

您可以使用coLinux并通过colinux运行Ubuntu内核:

  1. 我将Ubuntu正常安装在单独的分区上,并将计算机配置为在Ubuntu / XP之间进行双重引导。

  2. 我将coLinux与带有backports映像的Debian一起安装在coLinux网站上。

  3. 配置了coLinux,以便可以挂载Ubuntu分区,这里的窍门是找出正确的分区号。coLinux中的分区号似乎低于使用Ubuntu引导计算机时使用的分区号。就我而言,我必须设置:

    <block_device index="1" path="\Device\Harddisk0\Partition5" enabled="true" alias="hda7"/>
    
  4. 使用带后向镜像的Debian引导coLinux,并在我的情况下引导后挂载ubuntu分区 /dev/hda7

  5. 为了能够在coLinux中启动ubuntu,您需要打开一些在启动时自动启动的服务,其中大多数服务都与硬件相关,并且在coLinux中不受支持。当不在colinux中运行ubuntu时,您仍然想运行这些服务。为此,我首先根据http://wiki.colinux.org/cgi-bin/DualBootSystem创建了一个/etc/inid.d/colinux脚本,
    该脚本当然应该在/etc/init.dubuntu分区的目录中创建,而不是在“带有backport的debian”图像。
    创建此脚本后,您还需要编辑default.colinux.xml文件,使其包含COLINUX=1启动参数,在我的情况下:

    <bootparams>root=/dev/hda8 COLINUX=1</bootparams>
    

    现在,使用此脚本可以在coLinux内部启动时关闭一些自动启动的服务,但是在使用ubuntu双重引导计算机时仍可以运行这些服务。您还必须确保在引导时通过在/etc/rcS.d目录中插入链接来运行此脚本。

  6. 下一步是通过在服务脚本中/etc/init.d(在ubuntu分区上)插入if语句来打开服务。

    if [ -f /var/local/colinux ] ; then
    exit 0
    fi
    


    在coLinux内启动时,我必须关闭以下服务以使其启动,其中任何这些服务在运行时,coLinux在启动期间崩溃:

    /etc/init.d/gdm 
    /etc/init.d/powernowd 
    /etc/init.d/hotkey-setup 
    /etc/init.d/pcmcia 
    /etc/init.d/vbesave
    
  7. 创建一些其他文件的colinux定制版本,上述init.d中的colinux脚本可以使一些不同文件具有colinux版本和非colinux版本。在我的情况下,我具有以下文件的特殊版本:

    /etc/fstab(coLinux使用smbfs而不是ntfs只读挂载来挂载ntfs分区)
    /etc/network/interfaces(我没有使用DHCP来使colinux正常工作,所以它使用了硬编码的IP号)
    /etc/gdm/gdm.conf(我是由于gdm无法在启动时启动,因此我不确定是否使用了该功能,但是我有一个针对coLinux的特殊版本,其中禁用了所有[服务器]。在使用vnc时可能会使用它,但我不确定是否需要使用它)

    以这种方式设置这些文件时,切记编辑正确的文件非常重要,因为普通文件在每次引导时都会被* -colinux或* -non-colinux版本覆盖。可以设置符号链接而不是覆盖文件,但我尚未对此进行测试。

  8. 最后,您将必须设置coLinux,以便它使用Ubuntu分区而不是“ debian with backports”映像启动,这是通过在default.colinux.xml文件中设置启动分区来完成的,在我的案例中,它指向 /dev/hda8
    <bootparams>root=/dev/hda8 COLINUX=1< /bootparams>

  9. 现在应该可以通过在启动计算机时在dualboot(grub)菜单中选择Ubuntu来启动Ubuntu,或者通过启动XP并启动coLinux来启动Ubuntu。观察到,在coLinux内部运行时,实际上并未使用Ubuntu内核,而是使用了coLinux内核。例如,在需要重新编译内核和内核模块时,考虑这一点很重要。

最后,不要像我一样犯同样的错误。如该线程中所述,我将XP / coLinux在休眠模式下置于睡眠状态,然后双重引导至Ubuntu。下次启动XP时,我的Ubuntu文件系统损坏了,我决定完全重新安装Ubuntu。


2
这是个好主意,我想我的朋友也这样做,因为我也听过他的Colinux。
Am1rr3zA 2010年

1
很棒的答案:-)
Sajad Bahmani 2010年

5
如果您只是要复制并粘贴他人的作品,则应该给他们功劳
多里(Dori)2010年

1

如果Ubuntu在单独的分区上,则可以创建一个* .vmdk文件来虚拟化物理分区,然后您应该能够从virtualbox内的该vmdk文件启动。

我认为您要查找的用于创建vmdk文件的命令如下所示:

VBoxManage internalcommands createrawvmdk -filename <Absolute Path to output File> -rawdisk /dev/sda -register

我自己从来没有做过,所以我真的无法再为您提供帮助


1

andLinux是在基于Windows 2000的系统(2000,XP,2003,Vista,7;仅32位版本)中无缝运行的完整Ubuntu Linux系统。该项目是为GP2X社区的动态性而启动的,但是其用户群远远超出了其原始设计。andLinux是免费的,并且将继续保持这种状态,但是非常需要捐赠。

andLinux使用coLinux作为其核心,这使许多人感到困惑。coLinux是Linux内核与Windows的移植。尽管该技术有点像在虚拟机中运行Linux,但coLinux的不同之处在于,它更多地是Windows和Linux内核的结合,而不是仿真PC,从而使其效率更高。Xming用作X服务器,而PulseAudio用作声音服务器。

http://www.andlinux.org/


2
andlinux在Windows中准备绝对的Ubuntu,并且与在其他分区中安装的Ubuntu无关,并且可以通过引导加载程序进行访问。因此,您也可以在引导内使用嵌入在andlinux中的colinux。
萨贾德巴曼尼

1
@sjb:是的。
Sajad Bahmani


0

如果您已经将Windows启动加载程序NTLDR链接到grub,而不是相反,那么我认为您可以使用bcdedit更改默认启动选项,然后重新启动,然后进入Ubuntu。我不确定这是否可行,但我想我已经看到了。要进行此工作,您可能仅需要将grub安装到分区引导扇区(或第二个驱动器的引导扇区)中,然后将其添加为NTLDR启动选项。hth。


0

可以在以下网址找到的Wubi:http//wubi-installer.org/可能会为您提供真正想要的东西?

从网站上获得:“ Wubi是Windows用户的官方受支持的Ubuntu安装程序,只需单击即可将您带入Linux世界。Wubi允许您以简单安全的方式像其他Windows应用程序一样安装和卸载Ubuntu。您对Linux和Ubuntu感到好奇吗?尝试它们从未如此简单!”


您仍然需要重新启动以使用Wubi AFAIK启动Ubuntu。
哈维尔·里维拉

2
问题不是关于双启动
Sajad Bahmani 2010年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.