是否可以在一个操作系统正在运行时安装另一个操作系统?

是否可以在一个操作系统正在运行时安装另一个操作系统?

我自己认为这可能非常复杂......但也许有这种可能性:

是否可以在计算机上安装操作系统(例如 Windows 7)同时运行另一个操作系统(例如 Linux)?就像您启动虚拟机管理程序一样,它允许安装程序访问其所需的所有内容,并让虚拟运行的操作系统查看其所需的所有硬件(例如主板等)

我知道这可能非常复杂,因为您需要以某种方式管理一个操作系统,使其不收集将锁定虚拟机管理程序的硬件锁...但是虚拟硬件(如 VirtualBox 或 VMWare)也会导致麻烦,因为您无法在安装后启动 Windows...

也许有人早就想到了这一点?

答案1

是的,没有虚拟化;但仅限于第一阶段。

以前,x86 的 Windows NT 3 和 4 版本可以通过 MS-DOS 进行安装,方法是运行名为 的 DOS 程序winnt.exe。(此功能在后来的版本中被删除。MS-DOS 不再兼作“预启动”恢复/安装环境。如今,人们使用的是 Windows NT 本身的精简版 Windows PE,自 Windows NT 5.1 以来一直如此。)

这是一个普通的 DOS 程序,它将启动安装的第一阶段。当然,安装过程的后续阶段需要引导到部分安装的操作系统,因此全部安装过程是在运行另一个操作系统时完成的。

对于任何操作系统来说,理论上可能的编写一个安装程序,该安装程序将在另一个(通用)操作系统上运行,用于至少执行安装的初始阶段(选择启动卷并在其上植入系统文件和第二阶段安装程序)。然而,几乎没有人为当前操作系统制作这样的安装程序。大多数安装程序都在目标操作系统本身上运行,通常是从可移动 DASD 引导的。

答案2

这在 Linux 中可以轻松完成:

1-为您的分区创建一个挂载点(在这个例子中,我将使用 /mnt/fs)。

2——挂载您的分区:mount /dev/[device] /mnt/fs

3 – 将基本目录结构移动到挂载点(这应该包含 binutils 和 shell)。

4 - 如果您的 /var、/boot 或任何其他目录与 / 分区分开,请将它们挂载到您的挂载点。例如:mount --rbind /var /mnt/fs/var

5 – 挂载/proc/dev文件系统:mount -t proc none /mnt/fs/procmount --rbind /dev /mnt/fs/dev

6 – Chroot 进入 fs 并配置您的新安装:chroot /mnt/fs <here goes your shell, ex: /bin/bash>

您可以在Gentoo 手册

编辑:这可能无法在 Windows 或 Mac 安装中完成。

答案3

您可以使用 LiveCD,它会在另一个操作系统的窗口中为您提供虚拟化操作系统,或者您可以使用桌面虚拟机程序(如 VirtualBox)执行相同操作,并且如果第一个操作系统已在硬件上虚拟化,您可以创建另一个 VM 并在其中安装操作系统,因为虚拟化主机管理硬件访问并防止其中一个 VM 操作系统锁定硬件。

但是您不能运行非虚拟化操作系统,然后使用虚拟化框架允许直接访问同一硬件以将另一个操作系统安装到本质上是双启动配置的系统中。

相关内容