実際のハードウェアとVirtualBox上のvmdk仮想ディスクからLinuxを実行する

仮想マシン(VirtualBox)と実際のハードウェアの両方でLinux操作を提供する必要がありました。複雑すぎるか機能しないWindowsのようなVHDからLinuxを何度も検索して実行しようとした後、私はそれを行うためのかなり簡単な方法を思いつきました。確かに、VHD形式のディスクからではなく、VMDK形式のディスクパーティションイメージからです。







Linuxはパーティションイメージから起動できます。次に、VirtualBoxが理解できるディスクイメージと、grubがロードできるパーティションイメージの両方があることを確認する必要があります。







以下は、不必要な頭痛の種なしに迅速に行う方法です。







それ以外はすべてWindowsから実行されます。







vmdk形式で新しい固定サイズのディスクを作成します。







VBoxManage createmedium disk --format VMDK --variant Fixed --filename test1.vmdk --size 10000
      
      





ファイルが作成されました:







  • test1.vmdk



    -ディスク記述子、テキストファイル
  • test1-flat.vmdk



    -ディスクイメージを含むファイル


次に、ディスクの先頭に1Mサイズのピースをもう1つ追加する必要があります。







1Mファイルtest1-boot.vmdkを作成します。







fsutil file createnew test1-boot.vmdk 1048576
      
      





test1.vmdkで、に変更createType="custom"



createType="monolithicFlat"



ます。これは、ディスクが複数のファイルで構成されていることを意味します。







最初に追加test1-boot.vmdk



test1.vmdk



ます。追加すると、test.vmdk



次のようになります。







...
createType="monolithicFlat"

RW 2048 FLAT "test1-boot.vmdk" 0
RW 20480000 FLAT "test1-flat.vmdk" 0
...
      
      





ここで、2048



は2048 * 512 = 1048576バイト(1M)で、ディスクのこの部分です。







Linux, test1.vmdk



ubuntu/kubuntu/xubunu. , 18.04 ( ) 21.04, .







: 1M. .







/dev/sda, /dev/sda1. .







, , VirtualBox, , Linux .







Linux . .







( usb-) Ventoy (https://www.ventoy.net/).







ventoy\ventoy_grub.cfg



:







menuentry 'boot linux from vmdk part' { 
    set imgfile="/mydisks/test1-flat.vmdk"
    set d_label="MYDISK"
    search --set=root --label ${d_label} 
    loopback loop0 ${imgfile}
    set root=(loop0)
    linux /boot/vmlinuz root=/dev/disk/by-label/${d_label} loop=${imgfile} rw nosplash
    initrd /boot/initrd.img
}
      
      





:







  • imgfile="/mydisks/test1-flat.vmdk"



  • d_label="MYDISK"



    — , test1-flat.vmdk





, F6 , "boot linux from vmdk part". Linux.







OS, VirtualBox Linux .







, , Windows Linux VirtualBox, … .







更新がgrubに影響を与える場合、ブートローダーを備えたパーティションがないため、実際のハードウェアで実行されているシステムでは更新が正しく完了しないことに注意してください。ただし、これは通常の操作を妨げるものではありません。そして、そのような更新はVirtualBoxを介して適用できます。







ちなみに、画像test1-flat.vmdk



をVentoyフラッシュドライブにコピーして実行することもできます。







そして最後に。VentoyはvhdからLinuxを起動できますが、インストールされているLinux(https://www.ventoy.net/en/plugin_vtoyboot.html)で追加の操作が必要です。しかし、残念ながら、私にとってこれらの操作は、ダウンロードが実際のハードウェアまたはVirtualBoxのいずれかで機能するという事実につながりました。そして、あちこちで1つの画像が機能しません。








All Articles