虽然引入 TRIM 支持是为了让 SSD 更好地工作,但它也应该帮助虚拟机优化虚拟磁盘(例如,了解虚拟磁盘的哪些部分不需要物理分区上的存储)。是否有任何 VM 机器以这种方式使用 TRIM?
我不确定要使用什么搜索词,浏览 VirtualBox 手册也没有帮助我,所以我在这里问我的两个问题......
我的设置是这样的:双启动到 Windows 7 和 Debian 操作系统(均为 64 位)的 PC。我在 Windows 下创建了一个虚拟机(Kubuntu,64 位),并将它的 VDI 文件放在我的 NAS 的 SMB 共享上。
然后我在 linux 下使用相同的内存等设置创建了一个 VM,并将现有的 VDI 文件分配给它。我的想法是我也可以从 Windows 和 Linux 使用该虚拟机。(1) 这通常应该可以正常工作吗?
我注意到快照给我带来了麻烦,因为它们在其他操作系统中似乎不可见:我在安装来宾系统后拍摄的快照在 Linux 下不可见。这就是为什么我在使用后关闭 VM 并且在它运行时不保存它的状态。
我目前的问题是:我先在 Windows 下使用 VM,然后在 Linux 下使用。现在它只能在 Linux 上启动。在 Windows 上尝试此操作时,来宾操作系统检测到某种硬盘错误并且无法启动,因为它无法安装其驱动器。显然虚拟硬盘不会出故障,所以肯定和我在Linux下使用它有关系。
(2) 我该如何解决这个问题?
更新:看起来我在 Linux 下的 VM 中所做的任何更改都已通过尝试在 Windows 下启动来重置。看起来它回到了最新的快照。我糊涂了...
我的第一个问题的答案可以在下面找到。简而言之:只要您不使用快照,它就可以工作。
我的第二个问题的答案是这样的:在 Windows 下,将 VM 设置回最新的快照,然后丢弃该快照以便合并。最后应该没有留下任何快照。如果您有多个快照,请先丢弃最早的快照(快照 1,然后是 2、3...)。我不确定如果你从最后开始 (.., 3, 2, 1) 会发生什么。
这当然会导致一些数据丢失,因为您恢复了自上次快照以来的所有更改。但至少 VM 又可以使用了。
使用 Virtualbox 设置虚拟机时,在网络配置部分可以从各种模拟适配器中进行选择:

在 VM 创建时自动选择的默认设置是Intel PRO/1000 MT Desktop。
我想知道在虚拟化上下文中这些适配器之间有什么区别,以及何时最好使用其中一个而不是其他。
我也很好奇不同的访客系统是否对其中一个系统有一些偏好。即,如果 Linux 来宾有偏好,比方说,对Intel MT和 Windows 对PCnet Fast有偏好,等等。当然,这些只是随机的例子。
有人告诉我,像 VirtualBox 这样的虚拟化程序不像模拟器那样工作,因为它不模拟寄存器,而是将实际寄存器用于 CPU 上的虚拟化数据。模拟器必须模拟寄存器,因为它们主要是执行依赖于外部环境的软件(例如,Genesis 模拟器需要 Motorola 68000 的寄存器和内存地址,因此开发人员必须将这些资源作为模拟寄存器提供)。
我的主要问题是,虚拟化是如何开发的?我们如何让整个操作系统在虚拟机中作为一个进程运行,同时又让它独立运行,同时仍然使用实际的 CPU?我只知道仿真,不知道虚拟化,所以如果有人能帮忙那就太好了!
PS:我不只是问有什么区别,而是他们运行软件的方式不同。
我是编程课程的助教,任务是创建基于 Ubuntu 14.04 LTS 的虚拟机映像,并预装所有必要的软件(用于 C++ 和 Python 开发),以便学生都运行相同的虚拟系统,我们避免了这些困难让一切都在各种不同的机器和操作系统上工作。我们打算使用 Virtual Box 作为主机 VM 软件,因为它是免费且跨平台可用的。
天真地,我只会使用 Ubuntu 14.04 LTS 磁盘映像,在我的 Virtual Box 中运行它,将其安装到虚拟硬盘 (VDI),使用预定义的密码设置一个“学生”帐户,安装所有必要的软件,然后关闭关闭虚拟机并分发 VDI 文件。我们会要求每个学生将 VDI 导入到 Virtual Box,运行它并设置他们的个人帐户(或仅使用默认的学生帐户)。
我已经使用 VMware 很长时间了。VMware 将一台机器的所有信息保存在一个目录中。这意味着它很容易压缩和复制。
现在我切换到 VirtualBox。
VirtualBox 似乎将机器的信息保存在多个目录中,例如,我称之为“Windows 7 Basic”的机器显然保存在这里:
C:\Users\edward\.VirtualBox\HardDrives\Windows 7 Basic.vdi
C:\Users\edward\.VirtualBox\Machines\Windows 7 Basic\…
(各种目录和文件)
我需要做什么来运输我的“Windows 7 Basic”机器?
数据保存在“.”下的事实。目录和各个地方都表明存在某种导出/导入功能。
我找到了“导出设备”功能,所以我认为就是这样。
但是我在一台空机器上启动它,它说“剩余时间 1 小时 31 分钟”。
我这样做对吗?“导出”一台机器真的需要 1.5 小时,再次导入它可能需要 1.5 小时,所以移动虚拟机需要 3 小时吗?
我在Windows 7 (RTM) 64 位主机上运行Windows Virtual PC (RC)。当我创建一个新的虚拟机并尝试在该虚拟机上安装 64 位 Windows 7 时,我得到“这个 CPU 与 64 位模式不兼容”。
有没有办法创建 64 位虚拟机?
我想连接到两个来宾操作系统。我试图 ping 两个客人,但它不起作用。不过,两位客人都可以 ping 我的 Windows 7 主机。
我使用多个虚拟框进行开发,当我推送 git 提交时,正确的时间和日期对我很重要。我没有关闭我的主机 - 它运行了几个月而没有重新启动。我只在晚上和周末休眠它。这给我的客户操作系统(来自 turnkeylinux.org 的所有 debians)带来了奇怪的问题 - 一段时间后,客户操作系统的日期关闭了几天。
尽管所有来宾都使用 NTP,但如果它检测到日期偏离了一些大值(几个小时似乎就足够了),则它不起作用。即使时差很大,有没有办法强制 NTP 同步?或者任何其他解决方案可以在主机从休眠状态恢复后恢复来宾盒上的正确日期和时间?
在我工作的地方,我们使用 Debian Linux 发行版运行相对强大的 PC。然而,对于我们需要安装的某些程序,最好有 CentOS,它们将是我们的主要工作工具。为我们工作场所中的所有计算机更改操作系统是可能的,但我们正在尝试确定使用 VirtualBox 是否是为了简单起见的更好选择。
这一切都取决于以下几点。我们需要运行的程序是模拟器,它们是处理器密集型任务,每次启动模拟时可以轻松运行长达一个小时或更长时间。我们需要决定使用 Virtual Box 时的性能下降是否足以值得我们更改操作系统。
所以我的问题是,是否有人可以验证地告诉我在虚拟机中运行处理器密集型任务与在本机 PC 上运行它对性能有何影响?
谢谢。
virtual-machine ×10
virtualbox ×8
linux ×4
networking ×2
windows-7 ×2
64-bit ×1
debian ×1
emulation ×1
ntp ×1
performance ×1
trim ×1
ubuntu ×1
vdi ×1
windows ×1