Ada kebutuhan untuk menyediakan operasi Linux pada mesin virtual (VirtualBox) dan pada perangkat keras nyata. Setelah banyak mencari dan mencoba menjalankan Linux dari VHD seperti Windows, yang terlalu rumit atau tidak berfungsi, saya menemukan cara yang cukup sederhana untuk melakukannya. Benar, bukan dari disk dalam format VHD, tetapi dari gambar partisi disk dalam format VMDK.
Linux dapat di-boot dari gambar partisi. Sekarang kita perlu memastikan bahwa kita memiliki gambar disk yang dipahami VirtualBox dan gambar partisi yang dapat dimuat oleh grub.
Berikut ini adalah cara melakukannya dengan cepat dan tanpa sakit kepala yang tidak perlu.
Segala sesuatu yang lain dilakukan dari Windows.
Buat disk ukuran tetap baru dalam format vmdk:
VBoxManage createmedium disk --format VMDK --variant Fixed --filename test1.vmdk --size 10000
Kami memiliki file yang dibuat:
test1.vmdk
- deskriptor disk, file tekstest1-flat.vmdk
- file dengan image disk
Sekarang Anda perlu menambahkan satu bagian lagi dengan ukuran 1M ke awal disk.
Buat file 1M test1-boot.vmdk:
fsutil file createnew test1-boot.vmdk 1048576
Di test1.vmdk, ubah createType="custom"
ke createType="monolithicFlat"
. Ini berarti disk terdiri dari beberapa file.
Menambahkan test1-boot.vmdk
dalam test1.vmdk
, pertama. Setelah menambahkannya test.vmdk
akan terlihat seperti ini:
... createType="monolithicFlat" RW 2048 FLAT "test1-boot.vmdk" 0 RW 20480000 FLAT "test1-flat.vmdk" 0 ...
di mana 2048
adalah 2048 * 512 = 1048576 byte (1M) untuk bagian disk ini.
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, … .
Perlu diingat bahwa jika pembaruan memengaruhi grub, pembaruan tersebut tidak akan diselesaikan dengan benar dalam sistem yang berjalan pada perangkat keras sebenarnya, karena tidak ada partisi dengan bootloader. Namun, ini tidak mengganggu pengoperasian normal. Dan pembaruan semacam itu dapat diterapkan melalui VirtualBox.
Ngomong-ngomong, gambar test1-flat.vmdk
dapat disalin ke flash drive Ventoy, dan dijalankan darinya, itu juga berfungsi.
Dan terakhir. Ventoy dapat mem-boot linux dari vhd, tetapi membutuhkan manipulasi tambahan dengan Linux yang terinstal ( https://www.ventoy.net/en/plugin_vtoyboot.html ). Tapi, sayangnya, bagi saya manipulasi ini mengarah pada fakta bahwa unduhan berfungsi baik pada perangkat keras nyata atau di VirtualBox. Dan di sana-sini dengan satu gambar tidak berfungsi.