Dapatkah hypervisor seperti VirtualBox digunakan untuk meluncurkan OS tervirtualisasi yang juga langsung dapat di-boot?

60

Pertanyaan ini agak teoretis:

Misalkan saya memiliki PC dengan dua OS berbeda pada dua partisi berbeda: OS1 pada sda1 dan OS2 pada sda2. Apakah mungkin untuk mengatur program seperti VMWare atau Virtualbox di OS1, yang mengakses sda2, mem-boot-nya, dan menjalankan OS2? Di sisi lain OS2 juga harus bisa di-boot langsung.

Saya menyadari bahwa OS2 yang dicontoh akan menjadi jauh lebih lambat dan mungkin tidak ada yang benar-benar akan menggunakan pengaturan ini, tetapi saya menemukan ini sangat menarik.

Wauzl
sumber
1
@MorrisIriga Anda yakin? Saya ingat bahwa ada alat virtualisasi yang dapat me-mount harddisk aktual. Tidak yakin apakah itu oracle virtualbox atau microsoft virtualpc.
LPChip
1
@ LPChip Maaf, saya salah paham pertanyaannya. Ya, Anda dapat memasang hard disk fisik menggunakan VirtualBox. Lihat ini atau ini . Saya tidak tahu tentang perangkat lunak virtualisasi lainnya.
MorrisIriga
4
VMWare Fusion dapat meluncurkan partisi "Boot Camp" sebagai mesin virtual di dalam host Mac OS X: kb.vmware.com/selfservice/microsites/…
Jacob Krall

Jawaban:

58

Itu mungkin , ya, dan itu tidak harus lebih lambat, karena hari ini ini bukan persaingan lagi, ini adalah virtualisasi - kebanyakan CPU mendukung virtualisasi hardware-assisted (VT-x dan semacamnya), tetapi bahkan tanpa itu, VirtualBox memiliki banyak trik untuk membuat VM virtual-perangkat lunak berjalan cepat.

Bagaimanapun, itu tidak akan lebih lambat daripada mem-boot VM lama yang biasa. Bahkan mungkin lebih cepat (karena menggunakan partisi mentah daripada gambar disk terfragmentasi).


Tapi saya tidak sepenuhnya yakin tentang cara melakukannya di VirtualBox - Saya pikir Anda harus membuat file .vdi khusus menggunakan vboxmanagepoin ke partisi sebenarnya? Juga, saya tidak tahu bagaimana cara membuat bootloader berfungsi dalam situasi seperti itu.

Meskipun saya digunakan untuk men-debug berbagai masalah boot di Linux dengan menjalankan salinan read-only dari OS saat ini di dalam dirinya sendiri, menggunakan qemu-system-x86_64 -enable-kvm -hda /dev/sda -snapshot -monitor stdio.

grawity
sumber
6
Anda benar-benar menjalankan OS tervirtualisasi di dalam dirinya sendiri?
Wauzl
8
Tentu, mengapa tidak? Ini tidak jauh berbeda dari menjalankan VM biasa. Satu-satunya bagian penting adalah -snapshot, yang membuat salinan sementara dari / dev / sda (sehingga kedua sistem tidak akan saling menghancurkan data satu sama lain).
grawity
6
Pernyataan tentatif Anda tentang penggunaan vboxmanage sehingga pengaturan VDI (bukan VHD) sebagai pengganti untuk partisi mentah sudah benar. Manual VBOX menjelaskannya secara rinci. Saya suka trik debug Anda. Namun tidak pernah melakukannya seperti itu tetapi saya sudah memikirkan beberapa kasus penggunaan ;-)
Tonny
28

qemuakan membiarkan Anda menggunakan perangkat blok suka /dev/sda2, dll. sebagai hard drive virtual. VMWare juga melakukannya. Tidak yakin tentang Virtualbox.

Ketika Anda boot /dev/sda2di VM, itu akan memiliki efek yang sama seolah-olah Anda mengambil hard drive dan mem-boot-nya di komputer yang berbeda dengan perangkat keras yang berbeda. Jika OS dapat menangani perubahan itu, maka Anda harus OK menjalankan OS baik dalam VM dan secara native. Windows akan memberi Anda masalah, tentu saja, dan Linux mungkin akan menerimanya dengan sangat baik.

Anda dapat mengurangi potensi masalah dengan membuat kecocokan perangkat keras virtual sedekat mungkin dengan perangkat keras fisik pada sistem Anda - meskipun tentu saja Anda harus menentukan lebih sedikit RAM. Yang paling penting adalah menentukan jenis pengontrol disk yang sama (IDE, SCSI, dll.).

LawrenceC
sumber
8
Rupanya virtualbox dapat melakukan ini juga menggunakan perintah 'VBoxManage internalcommands createrawvmdk' (lihat di sini )
Michael B
19

Ini sangat mungkin, pada kenyataannya, saya biasa melakukan ini!

Saya punya satu partisi / disk (saya lupa yang mana) dengan Windows satu dengan Linux, saya pikir itu pada zaman Windows XP (memang, itu memang berlangsung untuk sementara waktu). Itu adalah cara yang baik untuk memiliki akses ke kedua set data tanpa menggunakan beban ruang disk dengan instalasi berbeda.

Satu-satunya masalah yang saya ingat adalah bahwa saya perlu mengatur dua profil perangkat keras yang berbeda di XP. Itu benar-benar bingung ketika boot ke yang salah.

Saya tidak yakin bagaimana proses aktivasi saat ini akan menanggapi pengalihan perangkat keras. Itu bisa menyebabkan beberapa masalah ... (tetapi jika Anda hanya mem-boot Windows sebagai mesin fisik, dan memiliki Linux sebagai VM / atau fisik, itu akan menyelesaikannya)

Seingat saya saya melakukan ini dengan workstation VMware. Itu pasti mendukung boot dari disk mentah. Saya yakin versi MS tidak. Saya tidak begitu yakin tentang Linux VMs, tetapi saya akan sangat terkejut jika tidak.

Michael B
sumber
Oh, profil perangkat keras ... Saya belum pernah menyentuh fitur itu. Perizinan pasti akan merusaknya sekarang.
sinni800
@ sinni800 Ini adalah satu-satunya waktu saya menggunakan mereka, menurut ini mereka masih ada, tetapi telah pindah ke driver kit sebagai devconx64.exe
Michael B
Profil perangkat keras
dihapus
8

Menariknya, bagi mereka yang menjalankan VMware Fusion di Mac, dengan partisi bootcamp Windows, dimungkinkan untuk memulai mesin virtual yang menjalankan partisi bootcamp:

VMware Fusion memungkinkan Anda untuk meluncurkan partisi Boot Camp yang sudah diinstal tanpa memengaruhi kemampuannya untuk boot secara bawaan. Ini memberi Anda kemampuan untuk mengakses partisi Boot Camp dari keduanya di dalam Mac OS menggunakan Fusion, dan dengan me-reboot dan meluncurkan Windows secara langsung.

Namun, perhatikan:

Anda mungkin diminta untuk mengaktifkan kembali Windows karena perangkat keras yang berbeda dikenali oleh sistem operasi.

Sumber: VMware - Meluncurkan partisi Boot Camp Anda di VMware Fusion

magma
sumber
3
Mereka menyarankan Anda untuk menginstal alat mereka terlebih dahulu sehingga proses aktivasi melihat "perangkat keras" yang sama di kedua situasi. Ikuti instruksi atau Anda akhirnya akan berbicara dengan server aktivasi Microsoft di telepon.
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen saran yang bagus - terima kasih
magma
7

Saya melakukan itu . Ini cukup berguna, tetapi ada beberapa batasan dan pengaturannya tidak sepele.

  • OS asli-atau-VM harus toleran terhadap perangkat keras yang digunakannya. Kebanyakan distro Linux tidak peduli dan hanya menjalankan apa pun yang Anda boot mereka selama arsitektur CPU cocok. Tidak semulus itu dengan Windows. Anda juga dapat menghadapi masalah aktivasi / lisensi.

  • Di Windows, Anda tidak dapat mem-boot OS di mesin virtual saat partisinya dipasang pada host. Ini bukan masalah besar, karena dalam hal ini Anda mungkin ingin mem-boot Linux di dalam Windows dan Windows exttoh tidak mendukung sistem file.

  • Mengatur bootloader itu rumit. Anda memerlukan konfigurasi boot terpisah untuk boot di VM dan untuk boot secara native. Saya telah menggunakan Grub4DOS / NeoGrub sebagai bootloader tahap 1 saat mem-boot secara native, maka saya dapat mem-chainload bootloader Windows atau mem-boot ke Ubuntu. VM memiliki drive kecil (beberapa MB) yang dipasang dengan prioritas lebih tinggi daripada drive utama. Drive itu berisi GRUB2 yang diinstal secara manual yang saya gunakan untuk mem-boot Ubuntu di dalam VM.

  • Setup bootloader yang tidak biasa membutuhkan pembaruan yang cermat. Misalnya memperbarui GRUB ketika menjalankan Linux secara native dapat memutus rantai bootloader Anda. Memperbarui di dalam VM memerlukan menginstalnya secara manual ke partisi boot.

gronostaj
sumber
0

Itu mungkin dengan mudah .. Jika Anda menggunakan hard disk terpisah untuk setiap instalasi!

Lihat di sini misalnya: http://www.serverwatch.com/server-tutorials/using-a-physical-hard-drive-with-a-virtualbox-vm.html - atau cari situs web VirtualBox (yang sedang down saat ini) untuk kata kunci ini.

Saya menggunakannya untuk dapat mengakses partisi Linux saya ketika saya melakukan beberapa pekerjaan Windows, seperti hal-hal Adobe atau hal-hal lain yang tidak akan berjalan dengan lancar di bawah Wine atau Virtualisasi Windows di Linux.

Juga, karena saya sering mengakses menara saya dari jarak jauh - dan seluruh hard disk Linux saya dienkripsi, sedangkan hard disk Windows saya tidak dan hanya memiliki data yang tidak sensitif. Jadi saya memulai Windows (entri Windows di GRUB sudah dipilih sebelumnya) masuk ke Teamviewer, mulai Virtualbox dan kemudian hard disk Linux saya.

Dalam arah ini - Windows -> Virtualbox -> HD lain dengan Linux -> sangat mungkin sederhana, karena deteksi perangkat keras yang superior, dengan cepat, yang didukung oleh Linux, yaitu Ubuntu.

Di arah lain, Anda akan berakhir berantakan. Windows tidak suka mengganti perangkat keras .. Ini dapat mengacaukan sistem Anda, tidak memulai sama sekali, atau bahkan jika itu berubah, mungkin memberitahu Anda bahwa lisensi Anda tidak berlaku lagi karena terlalu banyak perubahan perangkat keras yang terjadi terlalu sering.

Yang mengatakan, Anda ingin menjaga Windows sebagai entri boot yang dipilih sebelumnya di GRUB, tetapi benar-benar berhati-hati bahwa Anda memilih entri yang tepat di GRUB ketika berjalan di Virtualbox. Jika Anda memiliki masalah dengan keterlambatan jarak jauh, tingkatkan batas waktu boot Anda di GRUB agar aman.

Semoga itu bisa membantu Anda :)

Markus
sumber