背景:我是第二个这个问题- 具有共享数据分区的双启动系统,并且希望在另一个操作系统的 VM 上运行其中一个操作系统。经过思考,我意识到可以通过将磁盘安装移出/etc/fstab
并移入单独的启动脚本来解决此问题,该脚本直接从驱动器或 VM 软件共享的文件夹中安装数据分区,具体取决于系统是否在 VM 中运行。无论哪种方式,都可以在文件系统中的同一位置安装。
我更喜欢一种可以有三种状态的方法:“在 VM 中运行”、“在 VM 外运行”和“无法判断”。这样,如果它在 VM 中运行,但 VM 软件配置错误,导致共享文件夹未出现在虚拟化操作系统中(我以前遇到过这种情况),它就不会尝试安装实际驱动器并破坏一切。不幸的是,这排除了我唯一的想法,即“检查共享文件夹,如果它不在那里,则假设不是 VM。”
那么,该怎么做呢?最好不需要我每次启动时手动安装它。
如果相关的话,一个操作系统是 Windows 10,另一个是 Linux Mint,并且 Mint 可能是 VM 中的操作系统(有时)。
答案1
在 Linux 中,任何Linux 在 VM 环境中运行,通过以下方式表示虚拟机管理程序标记/proc/cpu信息。因此,在 Debian 主机中运行 Arch Linux 客户机,我得到(如须藤!):
# 猫/proc/cpuinfo 处理器:0 vendor_id:GenuineIntel CPU 系列:6 型号:61 型号名称:Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz 步进:4 CPU频率:2394.460 缓存大小:4096 KB 物理 ID:0 兄弟姐妹:1 核心 ID:0 CPU 核心:1 酸碱度:0 初始 apicid : 0 fdiv_bug :否 f00f_bug : 没有 coma_bug :否 fpu:是 fpu_exception :是 cpuid级别:20 wp :是的 标志:fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 系统调用 nx rdtscp lm constant_tsc xtopology nonstop_tsc eagerfpu pni pclmulqdq 监视器 ssse3 cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx rdrand虚拟机管理程序lahf_lm abm 3dnowprefetch rdseed 错误: 博戈米普斯:4790.45 clflush 大小:64 缓存对齐:64 地址大小:39 位物理地址,48 位虚拟地址 能源管理:
有时人们会使用一个名为虚拟什么(在大多数存储库中可用)来执行此操作,但这对你的情况来说麻烦多于它的价值;此外,它需要安装额外的软件(虚拟什么和解码如果您的发行版中没有默认附带此功能(例如 Arch Linux 的情况)。