Tamu Windows 64-bit di VirtualBox tidak mungkin tanpa dukungan VT-x? [duplikat]

8

Saya telah berhasil menginstal Windows Vista 32-bit dalam VM dengan VirtualBox. Sekarang saya mencoba melakukan hal yang sama dengan Windows Vista 64-bit dan tidak berfungsi. Saya telah membuat VM tetapi tampaknya tidak mau mem-boot dari image ISO Vista 64-bit. Itu memunculkan kesalahan manajer boot ini.

Sebuah

OS host adalah Windows 7 64-bit pada prosesor Intel Core 2 Duo 64-bit. Sekarang, saya telah melakukan hal yang sama dan menginstal versi VirtualBox yang sama di komputer lain, juga menjalankan Windows 7 64-bit, menciptakan VM, dan kemudian ... selama proses setup VM saya perhatikan bahwa ada opsi tambahan untuk dipilih ketika saya memilih Os tamu. Ini screenshotnya.

b

Anda dapat melihat opsi-opsi di antara di mana dikatakan 64-bit, saya tidak memiliki opsi itu di komputer lain. Sekarang, yang ini menjalankan Intel Core 2 Quad, model akhir yang lebih tinggi. Ini mendukung teknologi virtualisasi Intel, sementara yang lain tidak.

Ini adalah tampilan dialog yang sama pada komputer Core 2 Duo. Ini screenshotnya.

c

Mungkinkah ini alasannya? Apakah itu berarti Anda tidak dapat meniru OS tamu Windows 64-bit sama sekali dengan VirtualBox, kecuali jika prosesor Anda mendukung teknologi virtualisasi Intel? Saya mengerti bahwa teknologi ini membuat segalanya lebih cepat, tetapi tidak membiarkan Anda meniru OS itu sama sekali ... itu agak ekstrem, bukan?

Jika demikian, apa yang Anda sarankan agar saya gunakan?

Samir
sumber
@Ramhound Apakah Anda baru saja bertanya apakah saya yakin saya sedang menjalankan sistem operasi 64-bit dan kemudian berubah pikiran? Saya mendapat komentar di kotak masuk saya. Yah, untuk apa pun nilainya, ya, saya yakin kedua komputer menjalankan versi 64-bit Windows 7.
Samir
@Ramhound Batasan perangkat keras? Jadi Anda setuju, ini ada hubungannya dengan dukungan VT-x, atau lebih tepatnya kekurangannya?
Samir
Terlepas dari keterbatasan perangkat keras, Anda harus selalu dapat melakukan hal-hal dalam perangkat lunak. Itulah salah satu manfaat virtualisasi, karena memungkinkan Anda untuk sepenuhnya mengganti perangkat keras fisik dalam perangkat lunak. Saya tahu Intel VT-x bagus untuk dimiliki, tetapi mengapa Anda tidak dapat meniru OS 64-bit di VirtualBox semua dalam perangkat lunak, bahkan jika itu sangat lambat? Mengapa mereka tidak mengizinkan Anda melakukan itu? Ini agak terbatas pada VirtualBox.
Samir
Emm ... bukankah maksud Anda "Anda tidak dapat melakukan sesuatu dalam perangkat lunak jika perangkat keras tidak mendukungnya"?
Samir

Jawaban:

18

Bagian 3.1.2 dari panduan VirtualBox secara eksplisit menyatakan bahwa Anda memerlukan dukungan virtualisasi perangkat keras untuk menggunakan sistem operasi guest 64-bit (penekanan ditambahkan):

VirtualBox mendukung sistem operasi tamu 64-bit, bahkan pada sistem operasi host 32-bit, asalkan kondisi berikut dipenuhi:

  1. Anda memerlukan prosesor 64-bit dengan dukungan virtualisasi perangkat keras (lihat Bagian 10.3, “Virtualisasi perangkat keras vs. perangkat lunak”).

  2. Anda harus mengaktifkan virtualisasi perangkat keras untuk VM tertentu yang Anda inginkan dukungan 64-bit; virtualisasi perangkat lunak tidak didukung untuk VM 64-bit.

  3. Jika Anda ingin menggunakan dukungan tamu 64-bit pada sistem operasi host 32-bit, Anda juga harus memilih sistem operasi 64-bit untuk VM tertentu. Karena mendukung 64 bit pada host 32-bit menimbulkan overhead tambahan, VirtualBox hanya mengaktifkan dukungan ini atas permintaan eksplisit.

Sumber: https://www.virtualbox.org/manual/ch03.html#intro-64bitguests

Bagian 10.3 juga menyatakan ini (penekanan ditambahkan):

Dukungan tamu VirtualBox 64-bit (ditambahkan dengan versi 2.0) dan multiprosesor (SMP, ditambah dengan versi 3.0) keduanya memerlukan virtualisasi perangkat keras yang harus diaktifkan . (Ini tidak banyak pembatasan karena sebagian besar dari 64-bit dan multicore CPU saat ini dikirimkan dengan virtualisasi perangkat keras; Pengecualian untuk aturan ini misalnya Intel Celeron yang lebih lama dan CPU AMD Opteron.)

Sumber: https://www.virtualbox.org/manual/ch10.html#hwvirt

Dengan demikian, Anda memerlukan prosesor yang mendukung VT-x atau AMD-V untuk menggunakan tamu 64-bit dengan VirtualBox. Namun , QEMU, Bochs dan VMWare Player mendukung semua tamu 64-bit tanpa dukungan virtualisasi perangkat keras (setidaknya sesuai dengan halaman ini ).

nc4pk
sumber
Ya ... dan itu sangat disayangkan. Saya pikir yang dimaksud hanya untuk tamu 64-bit pada host 32-bit. Tetapi dari bab 10 mereka secara khusus mengatakan bahwa virtualisasi perangkat keras adalah persyaratan. Saya bertanya-tanya, bagaimana mungkin ini bukan persyaratan untuk tamu 32-bit? Kenapa hanya 64-bit?
Samir
Saya telah memberikan Anda suara meskipun saya telah memposting teks yang tepat ini dalam jawaban saya sendiri. Terima kasih atas usahanya! Saya akan menggabungkan jawaban saya dengan jawaban Anda jika itu tidak masalah.
Samir
Apakah Anda tahu perangkat lunak virtualisasi lain (lebih disukai sumber bebas dan terbuka) yang dapat meniru Windows 64-bit tanpa dukungan virtualisasi perangkat keras?
Samir
@sammyg sepertinya QEMU, Bochs dan VMWare Player semuanya mendukungnya, lihat revisi terbaru saya.
nc4pk
Tidak benar. VMware player juga membutuhkan virtualisasi untuk menjalankan tebakan 64-bit dan juga hypervisor lainnya. Anda hanya dapat menjalankan tebakan 64-bit tanpa virtualisasi pada emulator seperti Bochs atau qemu atau perangkat lunak paravirtualization seperti Xen en.wikipedia.org/wiki/Vt-x#Software-based_virtualization
phuclv
0

Tidak ada hypervisor mesin virtual yang mendukung mesin virtual 64-bit dalam CPU x86 tanpa virtualisasi, karena isolasi mesin virtual tidak akan mungkin tanpa itu.

Alasannya disebutkan di Wikipedia (penekanan milikku):

Versi awal x86-64 (AMD64) tidak memungkinkan untuk virtualisasi penuh hanya perangkat lunak karena kurangnya dukungan segmentasi dalam mode lama , yang membuat perlindungan memori hypervisor menjadi tidak mungkin , khususnya, perlindungan penangkap perangkap yang berjalan di ruang alamat kernel tamu.

Revisi D dan kemudian prosesor AMD 64-bit (sebagai aturan praktis, yang diproduksi dalam 90 nm atau kurang) menambahkan dukungan dasar untuk segmentasi dalam mode panjang, sehingga memungkinkan untuk menjalankan tamu 64-bit di host 64-bit melalui terjemahan biner. . Intel tidak menambahkan dukungan segmentasi ke implementasi x86-64 (Intel 64), membuat virtualisasi hanya perangkat lunak 64-bit menjadi mustahil pada CPU Intel, tetapi dukungan Intel VT-x membuat virtualisasi berbantuan perangkat keras 64-bit dimungkinkan pada platform Intel

VMWare juga mengatakan bahwa kurangnya virtualisasi membuatnya menantang perlindungan VM

Tantangan Virtualisasi x86-64

  • Arsitektur AMD64 awal tidak termasuk segmentasi dalam mode 64-bit
    • Segmentasi juga hilang dari EM64T

Bagaimana kita melindungi VMM?

  • Dukungan tamu 64-bit membutuhkan bantuan perangkat keras tambahan
    • Pemeriksaan batas segmen tersedia dalam mode 64-bit pada prosesor AMD yang lebih baru
    • VT-x dapat digunakan untuk melindungi VMM pada EM64T
      • Membutuhkan pendekatan jebakan dan tiru bukannya BT

Baca lebih banyak:

CPU Intel membutuhkan dukungan EM64T dan VT di dalam chip dan di BIOS untuk menjalankan mesin virtual 64-bit. Artikel ini membantu Anda memastikan prosesor Anda berkemampuan VT, dan juga menginstruksikan Anda tentang cara mengaktifkan fitur ini
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1003944


Satu-satunya cara dalam hal ini adalah menggunakan emulator seperti QEMU atau Bochs , atau perangkat lunak paravirtualization seperti Xen.

Baca lebih lanjut: Menjalankan x86-64 ASM pada prosesor x86-32

phuclv
sumber