如何使用Xen在Linux上运行Windows

比双系统启动更好

图片[1]-如何使用Xen在Linux上运行Windows-趣考网

介绍

假设您刚买了一台闪亮的新笔记本电脑。 恭喜你! 您需要摆脱那辆破烂不堪的老怪兽,并希望您的新机器拥有光明的未来。

现在,如果您正在阅读带有此标题的文章,或者根本没有操作系统,则您的新计算机可能装有Windows。 您知道您真的想在您的计算机上运行Linux,因为您真是太酷了(并且因为它不易监视您或感染病毒,并且如果您是开发人员,则一旦返回就很难回头。 已经习惯了,但现在就让我们保持冷静吧)。

但是,您不确定是否已准备好完全摆脱Windows。 也许有些程序很难在Linux上运行。 (葡萄酒可以涵盖其中的一些,但正如他们的数据库所示,绝对不是全部。)

也许是怀旧,舒适或未经诊断的受虐狂。 无论如何,让我们谈谈您的选择:

· 独立的Linux和Windows计算机。

· Linux和Windows双重引导。

· 在VM中运行Windows。

即使您负担得起第一笔费用,我也不太确定。 您将分为两台计算机。 您是否要每天都忙碌起来,都插上电源,将它们都放在办公桌前,并在键盘之间转动? 如果您愿意的话,请继续关注。

在许多方面,双重引导都是经典的答案。 对于那些不知道的人来说,这意味着计算机可以识别两种不同的操作系统,并且可以在启动时选择使用哪个操作系统。

通常,有一个优先级,如果五到十秒钟后没有选择,计算机将默认为优先级。 您可能可以从计算机的BIOS / UEFI菜单中选择优先级高的菜单,可以在启动过程中通过按Enter,F1,F2或其他一些按钮来输入优先级,具体取决于计算机的制造商。

在这里,您将Windows和Linux安装在同一台计算机上,一切似乎都很好,对吧? 不过,我认为我们仍然可以希望更好。

首先,两个操作系统根本不相互通信。 例如,如果您要将文件从Windows迁移到Linux,在我看来,最简单的方法是启动到具有该文件的任何操作系统中,将其复制到USB上或通过邮件将其发送给自己, 然后重新启动进入其他操作系统,然后将其从USB上拔下来或下载。

另外,似乎经常出现与OS更新有关的问题。 对双引导进行分区时,实际上是告诉每个操作系统:\"嘿,您不能占用这台计算机上的所有空间,只能占据这两个地址之间的位置,\"然后将地址分发给每个操作系统,这样它们就不会 不会互相覆盖。

当操作系统更新(尤其是Linux GRUB更新)时,似乎有时您可能会忘记您的初始请求,并开始越过它应该能够访问的地址写入磁盘。 那可能会开始覆盖Windows的随机部分。 坏消息。

我曾经有过一次双重引导,在经过一定时间后,我再也无法登录Windows。 它会识别正确的密码,然后将我转储回登录屏幕。 GRUB意外覆盖Windows可能是罪魁祸首。

如果您仍然真的想进行双启动,请继续阅读。 我认为Xen也可能有助于缓解此问题。

如果我们可以启动Linux并在需要时在其之上打开Windows,那岂不是很好吗? 这就是虚拟机试图解决的问题。

虚拟机或VM是一个巧妙的小魔术。 他们是一个可以对操作系统说的程序:\"嘿,我看起来像是一台硬件计算机,对吗?\" 并在计算机顶部的程序中运行操作系统。

这些工具确实非常好,除其他外,您应该能够拖放文件。

不过,还有一个缺点。 假设您保留Windows的主要原因是您最喜欢的图形渲染器或AAA游戏。 您拥有大量的内存和专用的GPU。

请记住,VM是一个程序,实际上并不访问您的硬件。 您将要运行这些程序,就好像根本没有它们一样。 (说实话,您可以为您的VM分配RAM,但我认为大多数常见的VM选项都不允许GPU传递。)

如果能像VM一样工作,让我们随意在Linux之上启动它,但可以访问计算机上的底层硬件,那岂不是很好吗?

输入Xen

裸机管理程序。

图片[2]-如何使用Xen在Linux上运行Windows-趣考网

我认为这样的每篇文章都有一个强制性的图表,看起来像这样:

图片[3]-如何使用Xen在Linux上运行Windows-趣考网

> Diagram from GitLab, and reproduced here with permission under the Creative Commons license

它表明,这正是Xen努力做到的。 如果您在看到\" Type-2虚拟机监控程序\"之类的短语时开始注视自己的眼睛,请不要担心。 Type-2虚拟机监控程序是\"裸机\"虚拟机监控程序,我们将在此解释其含义。

裸机意味着您创建的VM将在您的硬件上运行,而虚拟机监控程序(在这种情况下)意味着它通过在启动过程中添加步骤来实现这一目标。 实际上,您的计算机不是直接启动到Linux,而是首先启动到Xen,然后Xen启动您的主操作系统(当然是Linux)。

我之前说过,如果您有双重启动设置,我认为Xen甚至可能会有所帮助。 这是虚拟机管理程序的原因。 如果您具有双重引导并在Linux上安装Xen,它也会识别Windows引导加载程序。 (经过测试)。

本质上,您并没有只是告诉两个操作系统内存地址表位于哪一侧,您甚至还雇用了Xen来确保它们运行良好。

我不能保证这是针对OS更新覆盖他们不幸的室友的完整解决方案,但这是有道理的。

本教程的目标

我们假设您有一台Windows计算机,希望将其变成可以使用Xen随意启动Windows的Debian计算机。

现在,我们将列出基本步骤。 如果您不了解这些术语,请不要担心。 我们将尽可能清晰地介绍所有这些内容。 他们来了:

· 在Windows中,提取产品密钥并分离大部分硬盘驱动器。

· 安装Debian(为此,您需要一个新的/一次性的USB驱动器)。

· 从Windows或Debian分离另一个块。

· 在Linux上安装LVM,并使用它创建卷组。

· 安装Xen并下载或提取Windows映像。

· 使用Xen启动Windows。

· Xen运行后,扩展Windows分区以使用所有旧的Windows安装。

请注意,如果您有GPU,则需要进行直通操作,以利用VM中的显卡。 可以做到这一点的事实非常酷,但是在这里我将不做介绍,因为我自己没有尝试这样做,从外观上看这是一个高级主题。

注意事项

首先,此过程将覆盖原始的Windows安装。 如果您在Windows中有程序,文件,链接等任何内容,请在线或从外部备份它们。 否则,它们将被覆盖。

接下来,这是一个过程。 即使是一个很棒的项目,我当然也不会说这是一个简单的项目。 您很可能会被卡在某个地方。 很遗憾,Xen的文档目前难以导航。 很难说出什么过时了,什么将解决特定的问题。

您最好的两个选择是Xen IRC或Xen subreddit。 我们执行所有这些步骤的原因之一是,您应该始终拥有运行正常的Windows版本,以防万一遇到问题。

最后,本教程是根据我在使用Intel芯片的计算机上的经验编写的,我怀疑以下内容对于在AMD CPU上运行的计算机无法按原样运行(不过AMD GPU应该可以)。

Xen的文档讨论了在Intel和AMD上运行之间的一些区别,但不幸的是,我对此没有任何经验。

虚拟机

图片[4]-如何使用Xen在Linux上运行Windows-趣考网

> By O.T.S.U. — http://openvirtualizationalliance.org/downloads/kvm-logo_300dpi.png, CC BY-SA 3.0,

除了Xen,另一个选择是KVM。 我没有在KVM上选择Xen的技术原因。 我只是偶然发现了Xen。

如果您有兴趣尝试使用KVM,只需进行一次简单的搜索即可获得大量结果。 我确实要特别提及我发现的一篇文章,该文章提供了有关如何在此网站上的KVM上进行GPU直通的深入注释。

Qubes

图片[5]-如何使用Xen在Linux上运行Windows-趣考网

如果我不提Qubes OS,我会感到很失落。 Qubes是基于Fedora的Linux发行版(Linux操作系统),其基于Xen集成。 安装它为开箱即用地使用Xen提供了一个很好的界面,他们的文档非常好,并且IRC非常活跃。

我在社区中与之互动的大多数人都非常有帮助。 如果您有兴趣在Qubes之上运行Windows,请务必使用。

您所需要做的就是从Windows获取产品密钥(下面有详细信息),安装USB(下面有Debian的详细信息,仅使用Qubes的安装说明),然后覆盖整个磁盘。 之后,请按照Qubes自己的教程设置Windows HVM。

由于以下几个原因,我没有在本教程中使用Qubes。 一个是Debian(以及Debian的Ubuntu,Ubuntu)是非常流行的发行版,我认为仅仅因为我说过这样的原因,或者认为Debian或Ubuntu粉丝会安装基于Fedora的发行版并不合理。 他们将能够在其上运行Windows。

没错,一旦您与Qubes玩了一会儿,您就会了解到您真的不需要花任何时间在Dom0上,这是系统中唯一需要Fedora的部分,您可以将所有时间花在 Debian虚拟机,但我觉得谈论Debian更主流。

另一个原因与性能有关。 Qubes的目标是增强隐私和安全性。 结果,将GPU附加到VM最多是困难的。 如果您要在Linux之上获得最佳性能的Windows,那么Qubes可能不适合您。

好的! 就是介绍了!

沿着兔子洞走吧!

出发窗口

定期启动Windows。 打开\"开始\"菜单,然后输入单词\" partition\"。 搜索应为您提供一个称为\"分区工具\"的选项。 点击它。

这将打开Windows的分区管理器。 分区基本上是硬盘驱动器的保留部分。 硬盘驱动器中的内存有地址,分区表基本上说:\"嘿,Windows,您在分区表中的位置在地址0x00000001和0x2fffffff之间\"。

如果按\"开始\"按钮并输入\" partition\",则可以选择打开分区管理器。 您应该看到C /:分区大约占据了整个计算机,还剩下一些用于默认的Windows恢复驱动器。

如果右键单击它,应该有一个调整其大小的选项。

警告:本教程假定这是全新安装。 如果您使用此安装已有一段时间,那么调整大小可能会丢失数据,因此请确保先备份所有内容。

为Windows留出足够的空间来运行您需要运行的内容。 现在很可能不必在意留给Windows的空间,因此我们应该能够在本教程的结尾处收回将在Xen上运行的新Windows安装的所有内容。

您可能还需要再留出50GB左右的空间-我们稍后将在新的Windows安装中使用它。 另外,在Debian安装期间,您可以选择不占用所有可用空间,不保留50GB的空间,或者稍后再从Debian内部对其进行分区。

我建议现在不要这样做,以后再从Debian内部对其进行分区,即使看起来它比刚开始不分配时还需要做更多的工作。 这是我要详细介绍的唯一选项。

您要做的另一件事是提取Windows产品密钥。 稍后将需要它来注册新安装的Windows。

警告:我认为这是合法的,并且Windows安装似乎也暗示这样做。 您拥有合法运行的Windows副本,并且即使在同一台完全相同的计算机上,也只是以不同的方式运行相同的软件。 如果有任何问题,请与我联系。

以管理员身份打开命令提示符。 您可以通过右键单击\"开始菜单\"图标或按Windows键+ X并选择它来执行此操作。 (我想起了PowerShell,因为admin的工作原理完全相同。)类型:

wmic path SoftwareLicensingService get OA3xOriginalProductKey

记下输出。

好的,现在是Windows。 不过请不要关闭。 我们仍然需要下载Debian才能安装它。

安装Debian

安装操作系统的一般方法包括创建一个可以从中引导的USB驱动器(\"活动USB\")。 我们将下载一个工具,然后您将创建一个Debian驱动器。

谨防! 这将擦除闪存驱动器上的所有内容。 不仅如此,它极有可能使驱动器无法(可靠地)再次存储东西。 这应该被视为您的拇指驱动器的单程旅行,永远都被降级为Debian安装介质。

之后,您也许可以重新分区驱动器,但是即使这样做,也很有可能会使其不稳定。

我建议使用Rufus。 转到他们的网站并下载程序。

现在该下载Debian的图片了。 Debian网站在不同页面上提供了许多不同的下载选项。 我建议您使用此页面,该页面为您提供了两种下载实时安装映像的选项(我将在稍后说明):torrent和常规。

如果您对洪流非常熟悉,那么这可能是最好的选择,因为它是一个很大的安装,如果停止,您将可以继续。 无论哪种方式,您都最有可能寻找该图像的amd64版本。

仍然有许多不同的选项(由于不同的桌面环境)。 我们将在GNOME中使用这些选项。 您正在寻找一个以.iso扩展名结尾的文件。

Debian 10.3(使用Gnome)的amd64实时映像的HTTP下载是
https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/debian-live-10.3.0-amd64- 例如,gnome.iso。

什么是实时安装映像? 基本上,这意味着您实际上可以从写入它的USB驱动器(或存储它的任何位置)引导操作系统。 这只是一个额外的小奖励,这意味着如果安装中存在问题,您可以从实时USB启动并尝试进行故障排除。

下载完图片后,请使用Rufus将其写入USB。 同样,此USB现在将永远是安装USB。 即使删除安装媒体(并重新分区),也很有可能会发生故障。

将Debian写入USB后,就可以保留它了。您将在一秒钟之内将其启动。

大! 现在,我们准备重启并安装Debian。 这应该不言而喻,但以防万一:如果您要从Windows中读取此文件,则将要关闭,请确保您在其他屏幕上打开它,进行打印,或者确保您知道该怎么做。 接下来。

您需要在USB上重启。 某些计算机会自动执行此操作。 其他人可能会给您提供引导选项菜单; 一个应该是\" Debian live media installation\"。 其他人可能会让您进入BIOS / UEFI菜单。

您需要在计算机启动时通常很短的时间内按下一些按钮。 许多打开的屏幕足以告诉您哪个按钮(称其为\"高级选项\",\"启动选项\",\"正常安装中断\"或类似名称)。 F1,F2,Esc和Enter是所有常用选项。

如果您确实遇到问题,可以在网上查找它-只需搜索您的计算机品牌并\"输入BIOS\",我相信您会得到的。

进入后,应该有一个用于启动优先级或类似功能的菜单。 应该有一个类似\" Debian live media\"的选项,请确保它是最上面的选项,然后确保保存更改(通常在退出BIOS菜单时完成)。 这将引导您进入USB,并启动Debian安装程序。

Debian的安装非常简单,因此我不再赘述。 我唯一要指出的是,您将看到一个选项,该选项将占用所有可用内存(通常是默认值),覆盖整个磁盘或指定您希望Debian安装占用多少空间。

我不建议这样做,但是由于以后安装Xen Windows需要50GB,因此您可以根据需要免费在Debian上安装50GB的所有东西。

另外,您也可以稍后将其从旧的Windows上刮下来,或者从Debian中分离出来。 我建议使用最后一个选项,然后将其安装在所有可用空间上,这是我将详细说明的选项。

如果选择安装在整个磁盘上,它将覆盖Windows。 如果我没记错的话,您也许仍然可以启动Windows,但是Debian随时可以随意写入其中的一部分,因此,如果您仍然对利用旧的Windows安装感兴趣,则不建议在 这点。

完成安装后,系统应重新启动。 这样做时,您应该拔出USB驱动器。 如果您的计算机自动启动到实时USB中,则无需重新加载Debian安装程序即可。

重新启动时,您可能需要在Debian和Windows之间进行选择,而Windows可能是默认设置。

如果您在旧的Windows中留出了额外的50GB,现在是启动Windows并再分配50GB的好时机。 然后,启动进入Debian。

在Debian上设置Xen

(我不愿设置Debian。如果您是Debian的新手,您应该知道默认情况下默认用户没有sudo。

网上有很多不错的指南(如下),有关如何将您的用户添加到sudo中,我们假设您已完成此操作。 更糟糕的是,您可以键入su进入超级用户模式,就像在每个命令前键入sudo一样。)

· 如何在Debian上将用户添加到Sudoers

· 如何在Debian中将用户添加到Sudoers

· 如何在Debian 10 Buster上将用户添加到Sudoers

· 如何在Debian VPS上向用户添加,删除和授予Sudo特权

我们现在需要在Debian上进行一些分区工作。 如果您还没有剩余50GB的存储空间,则需要将其从Debian中移出。 无论哪种方式,我们都将把这50GB变成一个卷组。

(我希望这样做时能记下更好的笔记。我正在尽力重建它。)

sudo apt install lvm2

(它可能已经安装了。)

使用sudo fdisk -l列出计算机上的各种分区。 注意哪个安装了Debian。 在本教程中,我们将其称为/ dev / sda4。 无论是什么,它都应该在/ dev /前面。

如果您没有50GB的未分配空间

sudo fdisk / dev / sda4应该使您进入特殊的fdisk菜单。 键入n以创建一个新分区。 您正在寻找主分区,强烈建议您使用默认分区,除非您真的知道自己在做什么。

要使此分区为50GB,请在提示时输入+ 50G,可能在最后一个扇区行上。 返回fdisk命令行后,键入p进行打印,您应该会看到一个新的50GB分区。

请记住,我们在这里使用sda6。 在fdisk命令行上,键入w。 在使用w将更改写入磁盘之前,您所做的任何事情都不会保存(并且肯定不会执行),这也应该使您退出常规命令行。 (如果您需要退出而不保存,请使用q。)

如果您有50GB的未分配空间

我将不进行详细介绍,但是您需要诸如parted或cfdisk之类的资源来对其进行分区。 从这里开始,我们将新分区称为sda6,尽管它在系统中的名称可能不同。

无论哪种方式,一旦有了新的分区:

sudo pvcreate /dev/sda6

(其中sda6是新分区。)

sudo vgcreate vg0 /dev/sda6

这将创建一个名为vg0的卷组。 (如果需要,可以改用任何您喜欢的名称。)接下来,使用LVM在此之上创建逻辑卷:

sudo lvcreate -n win -L 49G vg0

这意味着在vg0上创建了一个名为win的逻辑卷,大小为49GB。

(我不确定要全部使用50GB,这是不明智的,尽管我不确定,但您可能需要将其剃得更近一些:在谈论空白空间时,1GB的空间很大。)

设置Windows HVM

Xen中有不同种类的VM。

对于Windows,我们需要一个HVM(硬件虚拟机),这不仅是因为它可以让我们访问GPU之类的硬件,还因为Windows足够不同,以至于其他类型的VM不能与Windows一起使用(从 我所理解的,至少)。

首先,从Microsoft下载Windows映像。 这可能需要一段时间-这是一个很大的下载。 (由于合法性和恶意软件赠予的机会,我找了一点,找不到正式的torrent,对使用其他未经验证的torrent更加谨慎。)

或者,有一种方法可以从您现有的Windows安装中生成映像。 您需要一个USB才能移动它。 在Windows中,打开\"设置\",然后转到\"系统和安全性\",然后单击\"文件历史记录\"。

应该有一个名为\"系统映像备份\"的选项,它将允许您使用当前安装来创建.iso。 尽管我还没有尝试过,但是它甚至还可以保存用户和其他信息,并且无法确切告诉您保存了什么以及如何保存,因此请不要依赖我,自己做研究。

您需要将其移至USB,以便将其移至Debian(或任何其他版本)安装。

如果您仅需要Windows来测试应用程序开发,安全性研究等,则Microsoft实际上有免费的限时限Windows下载。

如果我没记错的话,它会在三个月后过期,并且没有Windows的全部功能,但是如果适合您的目的,那就去做吧。

将Windows安装放在主目录中。 您可能还想更方便地重命名它。 以下将从\"下载\"中获取文件,将其放在您的主目录中,并将其重命名为win.iso。

mv ~/Downloads/ ~/win.iso

我们将需要为Xen创建一个配置文件。

打开终端,然后输入nano xenwin.cfg。 如果您没有Nano(bash:无法识别命令nano),则可以使用sudo apt install nano安装它。 您也可以使用任何喜欢的文本编辑器-我只是建议使用Nano作为一个简单的选择。

我要坦白。 这个配置文件中有很多东西我一无所知。 我写这篇文章的原因之一是因为我很难找到可靠的最新信息,并且即使我不太了解所有这些信息也认为这将是通用的。

我将尝试解释我可以做的事情,这样一来,您也许可以弄清楚如何进行故障排除,但是不幸的是,我自己并没有掌握所有内容,甚至可能在此处配置了一些其他内容。 买者自负。 输入以下内容:

builder=\'hvm\'

memory=4096

vcpus=4

name=\"win\"

vif=[\'bridge=xenbr0\']

disk=[\'phy:/dev/vg0/win,hda,rw\', \'file:~/win.iso,hdc:cdrom,r\']

boot=\"d\"

sdl=0

serial=\'pty\'

vnc=1

vnclisten=\"0.0.0.0\"

vncpasswd=\"foo\"

如果您使用的是Nano,请按CTRL + X进行保存并退出。 (保存到当前缓冲区意味着保存文件。)

如果Windows VM中的目标分辨率大于800x600,则可能需要添加:

videoram=16

如果大于1280x1024,则将其保留在该位置,但还要添加:

stdvga=1

(再次,按CTRL + X在Nano中弹出保存并退出。)

这是细目,至少我想我知道。

builder指定应该构建哪种VM Xen。 有几种不同的选择,但是对于Windows,您需要HVM,据我微薄的理解,无论如何,这可能是您想要的。

内存是应分配给VM的内存量。 我指定了4GB,但您不应该考虑这个问题,但是如果您拥有一台功能强大的机器,请随意调高该数字(为快速参考,8192和16384是2的下两个幂)。

vcpus是虚拟CPU的数量,而4只是个猜测。 我被警告最好从低处开始然后再增加。 安装后,您也可以增加内存和VCPU的数量。 想起来就像升级硬件。

名称是您的VM的名称。 我选择了胜利,但您可以根据自己的喜好进行自定义。

vif与网络有关,我们将在后面详细介绍。

磁盘说明了.iso的安装位置(然后再运行),以及安装文件的位置。 为了进一步分解,\" phy:/ dev / vg0 / win,hda,rw\"表示VM的物理位置应位于/ dev / vg0 / win。

如果我理解正确的话,hda意味着有关VM内部体系结构的东西,即入口安装点在哪里。 我确实知道,如果hda无法正常工作,您可以尝试使用xvda(并在file:部分中用xvdc替换hdc)。

rw表示可读写,Xen也可以写入更改。 我认为这是默认设置,但明确编写它不会有任何伤害。

\'file:〜/ win.iso,hdc:cdrom,r\'表示安装文件在您的主目录中(〜是/ home /您的用户名的快捷方式),它应该出现在虚拟驱动器中的hdc上 VM,其功能应类似于CD驱动器,并且是只读的。

最后三个条目与VNC有关。 您将需要一个VNC播放器来\"播放\"正在运行的VM,以便在屏幕上看到它并与之交互。 您可能不需要设置密码,但是如果没有,我会遇到问题。 您可以将密码设置为任何喜欢的密码。

运行Windows

我们之前提到过VNC播放器。 任何VNC播放器都可以使用,但是经过一番试验之后,如果要在Debian上使用GNOME,我将使用内置的远程桌面查看器(Vinagre)。

这是我们大家一直在等待的时刻:

sudo xl create xenwin.cfg

如果一切顺利,Windows应该会启动。 不过,您看不到它。 转到应用程序菜单(Windows或超级按钮),然后搜索远程桌面。

您应该有一个名为\" Remote Desktop Viewer\"的选项。 打开它。 单击\"连接\",然后选择VNC作为协议。 键入localhost作为主机,然后单击connect。

如果您在配置文件(上面的模板使用\" foo\")中列出了一个,请输入密码,然后按Enter键。 如果一切顺利,则应该有一个窗口显示Windows引导和启动安装程序。

请注意,您尚未与虚拟机建立Internet连接,因此请选择在安装过程中不连接网络。 (在个人安装之前,我确实已经设置了网络连接,因此,如果这在生成VM时引起了问题,请跳到下面有关网络的部分。)

请注意:启动Vinagre时,您的光标(鼠标,指针等)现在是VM中的光标。 如果要在VM外部移动,请返回Debian-land,按CTRL + ALT。

太棒了!

当然,可能会有一些调整。 这很有可能在第一次运行时就不会起作用。 您可能会发现有用的命令是sudo xl dmesg,它将从Xen输出日志到终端。 仅阅读错误消息可能会让您了解问题所在。

我要强调的一个特殊问题经常出现在具有Intel Integrated Graphics卡的计算机上。

如果遇到问题,则您的xl dmesg日志将充满引用IOMMU的错误。 尽管我怀疑还有更优雅的解决方案还可以提供更好的图形,但是这里有一种解决方法:

首先,找到您的xen.cfg文件。 它可能在
/etc/default/grub.d/xen.cfg中,但如果不是,则可以:

sudo find / -name xen.cfg

用您喜欢的编辑器打开xen.cfg。 应该有一个以#GRUB_CMDLINE_XEN_DEFAULT =\"\"开头的注释行。 删除注释掉该行的#,并在引号中输入iommu = no-igfx。

您需要运行sudo update-grub才能使更改生效,然后重新启动。 (仅重新启动是不够的,您必须告诉Linux更新GRUB。)

如果看起来一切正常,但没有成功,则您的.iso可能已损坏。 您可以尝试获取干净的副本(我知道,下载将永远完成)。

您应该能够使用旧Windows安装中的密钥注册新的Xen Windows安装。 如果您没有安装旧版Windows,则可以在线购买。

如果您仅需要此Windows来进行应用程序开发,我在上面提到,Microsoft专门为此提供了一个有时间限制的免费Windows下载。 如果这是您使用的Windows映像,则不需要注册。

后续步骤(网络,VNC)

联网

目前,Windows没有任何网络连接。 我假设您希望您的Windows可以连接互联网,所以请解决此问题。 在命令行中输入ip a。 您将获得一个输出,其中列出了连接到互联网的设备。

第一个可能是lo。 忽略那个。 接下来的两个可能是您的以太网卡和WiFi(如果有)。 复制以太网设备的设备名称,它应以e开头。 我将在此处使用enp4s0。

sudo apt install bridge-utils

sudo nano /etc/network/interfaces

默认情况下,文件可能看起来像这样(忽略注释):

auto loiface lo inet loopback

在下面直接添加以下内容:

enp4s0 inet manualauto xenbr0 iface xenbr0 inet dhcp bridge_ports enp4s0

Ctrl + X并输入保存。 我们需要重新启动网络服务以使更改生效。

sudo systemctl restart networking

此设置仅连接计算机的以太网(有线连接)。 添加无线网卡(ip a或sudo iwconfig会告诉您它的名称)需要更多技巧。

我还无法使它正常工作,但是,如果您想进行自己的研究,只需搜索\" Debian无线网桥\"即可。 问题围绕着通过网桥与虚拟机建立无线连接。

VNC

我在获取屏幕尺寸和光标的行为时遇到了一些问题,就像我想要的那样。 您可能也想尝试其他一些程序。

Debian附带了gvncviewer,TigerVNC似乎很受欢迎。 要运行前者,请键入gvncviewer localhost,而Tiger具有一个GUI可以从菜单中启动。 您可能需要在它们之间稍作旋转,直到找到适合您的设置。

接下来是什么?

我还有很多想做的。 Windows仍然有点落后,我还想弄些屏幕。 我也希望互联网能在无线网络上工作。

我个人的下一条研究路线可能是看我是否在Xen平台和Windows VM中都正确配置了我的CPU。

这里有大量的东西可供探索,但是我们在这里的个人经历几乎已经达到了极限。 首先,我只想报道一件事…

覆盖旧的Windows安装

Windows目前只有50GB,对于Windows来说确实不是很多。 不过,我们仍然拥有一个强大的旧Windows分区,并且可以覆盖它以为我们的更新的,更凉爽的Windows提供空间。

您应该能够使用fdisk(例如:sudo fdisk / dev / sda3)完成此操作,然后键入d删除该分区。

如果您有兴趣删除其他Windows分区,则可以通过再次按d并选择正确的分区来执行此操作,尽管这样做的回报有限,因为其他分区(如恢复)可能甚至没有 其中一个GB。

注意要删除的分区。 不要删除您的EFI分区。

可能有一些方法可以扩展现有分区以使用这个新的可用空间,如在分区术语中所说的那样,但是我们可以利用已经创建的LVM设置并创建一个新的LVM分区,并将其添加到Windows中。 卷组。

在fdisk中键入n,默认值将提示您在刚刚释放的空间中创建一个新分区。 它会询问您要创建的分区类型,并且您正在这里选择Linux LVM。

在我的机器上,它是选项31,但是您应该检查列表,而不是盲目地使用此数字-L应该列出您的选项,空格键将翻阅它们。

删除旧分区并在其位置创建新的LVM后,请使用w保存并退出fdisk。 此时您可能需要重新启动,因此,如果以下操作不起作用,请假定您需要这样做。

我们已经准备好使用与最初为Windows VM建立卷组时类似的命令。 在我们的示例中,我们假定新的LVM分区为/ dev / sda3,尽管这在您的计算机上可能会有所不同。

sudo pvcreate /dev/sda3sudo vgextend vg0 /dev/sda3

这会将旧的Windows空间添加到您的卷组中。 您仍然需要将其添加到VM使用的逻辑卷中:

sudo lvextend -L + /dev/vg0/win

在加号后加您要添加的大小,后缀g表示千兆字节(t表示千兆字节)。 例如,如果您要向Win LVM添加750GB:

sudo lvextend -L +750g /dev/vg0/win

因此,您现在在卷组中应该有更多的空间,Windows VM现在可以使用该空间。

GPU直通

Xen的一个论点是即使通过VM运行Windows,也能够保持强大的图形设置(阅读:GPU)。 不过,默认情况下不会发生这种情况。

这是一个高级话题,我自己还没有尝试过。 您可以在线搜索\" Xen GPU passthrough\"。 我将来可能会鼓起勇气。

如果您喜欢本文,并且对在GPU通道上看到另一个感兴趣,请让我知道。 这肯定会激发我更多的尝试。

结论

那里! 你做到了! (我希望。)您现在拥有在同一台计算机上运行Linux和Windows的最酷的设置。

当然,现在您可能会开始在Xen中设置VM。 如果要试用一个新发行版,或者可能要使用OSX,则可以像设置Windows VM一样进行设置。

(您可能不需要/想要HVM,但我将其留给您自己研究。)

到目前为止,即使您没有做到,您可能已经意识到了这一点,但这被认为是一项非常艰巨的任务,无论您走到哪里,这都使您万分赞叹。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享