Есть ли эквивалент Linux для VHD, с которого он может загружаться?

Я искал это довольно много, но все, что я мог найти, это VLite. Кстати, я говорю об эквивалентной для Windows загрузке VHD, а не виртуализации.

1 ответ

Решение

Grub может отображать практически любые файлы образов дисков и загружаться с них

  • grub4dos и grub1 поддерживают map Команда для загрузки из изображений только для чтения. Я не уверен в их возможностях загружать изображения для чтения и записи. Есть 2 типа картирования

    • Карта памяти: образ загружается в память перед отображением в качестве диска, обычно используется с образами дискет. Когда используется отображение памяти, файл образа диска может быть несмежным. Например:

      map (hd0,0)/win98.ima (fd0)
      
    • Прямая карта: сопоставьте файл с помощью int13, требует, чтобы файл был смежным

      map (device)/path/file.iso (hd32)
      

      После того, как все сопоставления будут выполнены, вам необходимо зафиксировать их map --hook

      Эти типы сопоставления позволяют легко загружать любые живые дистрибутивы Linux. При необходимости вы можете использовать постоянный образ диска casper rw для энергонезависимых данных. Для получения дополнительной информации читайте LiveCD / Постоянство

  • В grub2 вам придется использовать loopback команда, которая может быть использована для загрузки изображений только для чтения и чтения-записи

    5.2. Петлевая загрузка

    GRUB может читать изображения (будь то компакт-диски или жесткие диски), хранящиеся на любом из доступных хранилищ (см. Команду loopback). Однако сама ОС должна быть в состоянии найти свой корень.

    Обычно это включает в себя запуск программы из пользовательского пространства до обнаружения реального корня. Это достигается за счет того, что GRUB загружает специально созданное маленькое изображение и передает его как ramdisk в ядро. Это достигается командами kfreebsd_module, knetbsd_module_elf, kopenbsd_ramdisk, initrd (см. initrd), initrd16 (см. initrd), multiboot_module, multiboot2_module или же xnu_ramdisk в зависимости от загрузчика.

В прошлом wubi использовал ту же технику для загрузки Ubuntu из образа без корневого раздела ext4


Если вы используете syslinux, то есть эквивалентная функция под названием MEMDISK

MEMDISK предназначен для загрузки устаревших операционных систем. MEMDISK может загружать образы дискет, образы жестких дисков и некоторые образы ISO.

MEMDISK имитирует диск, запрашивая кусок большой памяти для диска и (очень маленький - обычно 2 КБ) кусок низкой (DOS) памяти для самого драйвера, затем перехватывая INT 13h (дисковый драйвер) и INT 15h (память запрос) BIOS прерывает.

Увидеть

Другие вопросы по тегам