Linux 是否有可以启动 VHD 的等效项?

M.U*_*M.U 3 linux vhd virtual-disk boot-to-vhd disk-image

我已经搜索了很多,但我只能找到VLite。顺便说一句,我说的是 Windows 本机 VHD 启动的等效项,而不是虚拟化。

phu*_*clv 5

Grub可以映射几乎任何磁盘映像文件并从中启动

  • grub4dos和 grub1 支持从只读映像map启动的命令。我不确定他们启动读写映像的能力。有 2 种映射类型

    • 内存映射:映像在映射为磁盘之前加载到内存中,通常与软盘映像一起使用。当使用内存映射时,磁盘映像文件可以是不连续的。例如:

      map (hd0,0)/win98.ima (fd0)
      
      Run Code Online (Sandbox Code Playgroud)
    • 直接映射:使用int13映射文件,要求文件是连续的

      map (device)/path/file.iso (hd32)
      
      Run Code Online (Sandbox Code Playgroud)

      完成所有映射后,您需要使用以下命令提交它们map --hook

      这些类型的映射允许您轻松启动任何实时 Linux 发行版。如有必要,您可以使用casper rw 持久磁盘映像来存储非易失性数据。欲了解更多信息,请阅读LiveCD/持久性

  • 您必须grub2使用loopback可用于启动只读和读写映像的命令

    5.2 环回启动

    GRUB 能够读取存储在任何可访问存储上的映像(无论是 CD 还是 HDD)(请参阅环回命令)。然而操作系统本身应该能够找到它的根。

    这通常涉及在发现真正的根之前运行用户空间程序。这是通过 GRUB 加载特制的小映像并将其作为 ramdisk 传递给内核来实现的。这是通过命令kfreebsd_moduleknetbsd_module_elfkopenbsd_ramdiskinitrd(参见initrd)、initrd16(参见initrd)、multiboot_modulemultiboot2_module来实现的,xnu_ramdisk具体取决于加载程序。

过去,wubi使用相同的技术从没有 ext4 根分区的映像启动 Ubuntu


如果您使用 syslinux,那么有一个名为MEMDISK 的等效功能

MEMDISK 旨在允许引导旧版操作系统。MEMDISK 可以启动软盘映像、硬盘映像和一些 ISO 映像。

MEMDISK 通过为磁盘声明一块高内存和为驱动程序本身声明一块(非常小 - 通常为 2K)低(DOS)内存块来模拟磁盘,然后挂接 INT 13h(磁盘驱动程序)和 INT 15h(内存)查询)BIOS 中断。