VirtualBox - VirtualBox

VirtualBox
VirtualBox -logo siden 2010
VirtualBox -logo siden 2010
VirtualBox 6.1.16 med Ubuntu 20.10 20210128 10 03 15.png
Kører Ubuntu 20.10 med Oracle VM VirtualBox på Windows 10
Originale forfattere Innotek
Udvikler (er) Oracle Corporation
Første udgivelse 17. januar 2007 ; 14 år siden ( 2007-01-17 )
Stabil udgivelse
6.1.26 / 28. juli 2021 ; 2 måneder siden ( 2021-07-28 )
Depot
Skrevet i C , C ++ , x86 Assembly , Python
Operativ system Windows , macOS (kun Intel-baserede Mac'er ), Linux og Solaris
Platform kun x86-64 (version serie 5.x og tidligere arbejde på IA-32 )
Type Hypervisor
Licens Basepakke (kun USB -understøttelse til USB 1.1 ): GNU General Public License version 2 (valgfrit CDDL for de fleste filer i kildedistributionen), "Extension Pack" (inklusive USB 3.0 -understøttelse): PUEL
Internet side www .virtualbox .org Rediger dette på Wikidata

Oracle VM VirtualBox (tidligere Sun VirtualBox , Sun xVM VirtualBox og Innotek VirtualBox ) er en gratis og open source hostet hypervisor til x86-virtualisering , udviklet af Oracle Corporation . Oprettet af Innotek, blev det opkøbt af Sun Microsystems i 2008, som igen blev opkøbt af Oracle i 2010.

VirtualBox kan installeres på Windows , macOS (op til 10.15 Catalina , ingen officiel support af macOS 11 Big Sur og senere versioner på trods af tilgængeligheden til Intel-baserede Mac'er), Linux , Solaris og OpenSolaris . Der er også porte til FreeBSD og Genode . Det understøtter oprettelse og administration af virtuelle gæstemaskiner, der kører Windows, Linux, BSD , OS/2 , Solaris, Haiku og OSx86 , samt begrænset virtualisering af macOS -gæster på Apple -hardware. For nogle gæstoperativsystemer er der en "Guest Additions" -pakke med enhedsdrivere og systemapplikationer tilgængelig, hvilket typisk forbedrer ydeevnen, især grafik, og gør det muligt at ændre gæstens OS -opløsning automatisk, når vinduet på den virtuelle maskine på værten OS ændres i størrelse.

Licensering

Kernepakken er siden version 4 i december 2010 gratis software under GNU General Public License version 2 (GPLv2). Den separate "VirtualBox Oracle VM VirtualBox -udvidelsespakke", der understøtter USB 2.0 og 3.0 -enheder, Remote Desktop Protocol (RDP), diskkryptering, NVMe og Preboot Execution Environment (PXE) boot er under en proprietær licens, kaldet Personal Use and Evaluation License (PUEL) , som tillader gratis brug af softwaren til personlig brug, uddannelsesmæssig brug eller evaluering. Siden VirtualBox version 5.1.30 definerer Oracle personlig brug som installation af softwaren på en enkelt værtscomputer til ikke-kommercielle formål. I modsætning til noget software, der bruger en proprietær licens, er "VirtualBox Oracle VM VirtualBox-udvidelsespakken" ikke tilgængelig som kilde, da den indeholder lukkede kildekomponenter, hvilket ikke gør kildekoden offentligt tilgængelig.

Før version 4 var der to forskellige pakker med VirtualBox -softwaren. Den fulde pakke blev tilbudt gratis under PUEL, med licenser til anden kommerciel implementering, der kunne købes fra Oracle. En anden pakke kaldet VirtualBox Open Source Edition (OSE) blev frigivet under GPLv2. Dette fjernede de samme ejerskabskomponenter, der ikke var tilgængelige under GPLv2.

Opbygning af BIOS til VirtualBox siden version 4.2 kræver brug af Open Watcom -kompilatoren, for hvilken Sybase Open Watcom Public License er godkendt som "Open Source" af Open Source Initiative, men ikke som "gratis" af Free Software Foundation eller under de Debians retningslinier for fri software .

Selvom VirtualBox har eksperimentel support til macOS-gæster, tillader slutbrugerlicensaftalen for macOS ikke operativsystemet at køre på ikke-Apple-hardware, og dette håndhæves i operativsystemet ved opkald til Apple System Management Controller (SMC) i alle Apple -maskiner, som verificerer hardwareens ægthed.

Emuleret miljø

Kører Ubuntu Live CD under VirtualBox på Ubuntu

Brugere af VirtualBox kan indlæse flere gæst OS'er under et enkelt vært operativsystem (host OS). Hver gæst kan startes, sættes på pause og stoppes uafhængigt i sin egen virtuelle maskine (VM). Brugeren kan uafhængigt konfigurere hver VM og køre den under et valg af software-baseret virtualisering eller hardware-assisteret virtualisering, hvis den underliggende værtshardware understøtter dette. Værts -OS og gæst OS og applikationer kan kommunikere med hinanden gennem en række mekanismer, herunder et fælles udklipsholder og en virtualiseret netværksfacilitet. Gæst VM'er kan også direkte kommunikere med hinanden, hvis de er konfigureret til at gøre det.

Software-baseret virtualisering

Funktionen blev droppet fra og med VirtualBox 6.1.

Version 6.0 og tidligere

I mangel af hardware-assisteret virtualisering anvender VirtualBox en standard software-baseret virtualiseringsmetode . Denne tilstand understøtter 32-bit gæst OS'er som kører i ring 0 og 3 af Intel ring arkitektur.

  • Systemet omkonfigurerer gæst OS -koden, som normalt ville køre i ring 0, til at udføre i ring 1 på værtens hardware. Fordi denne kode indeholder mange privilegerede instruktioner, som ikke kan køre indbygget i ring 1, anvender VirtualBox en Code Scanning and Analysis Manager (CSAM) til at scanne ring 0 -koden rekursivt før den første udførelse for at identificere problematiske instruktioner og derefter kalder Patch Manager (PATM) at udføre in-situ patching. Dette erstatter instruktionen med et spring til et VM-sikkert tilsvarende kompileret kodefragment i hypervisorhukommelse.
  • Gæstens brugerkode, der kører i ring 3, kører generelt direkte på værtens hardware i ring 3.

I begge tilfælde bruger VirtualBox CSAM og PATM til at inspicere og lappe de krænkende instruktioner, når der opstår en fejl. VirtualBox indeholder også en dynamisk rekompiler , der er baseret på QEMU for at genkompilere enhver reel tilstand eller beskyttet tilstandskode helt (f.eks. BIOS -kode, en DOS -gæst eller enhver opstart af operativsystemet).

Ved hjælp af disse teknikker kan VirtualBox opnå en ydelse, der kan sammenlignes med VMware .

Hardware-assisteret virtualisering

VirtualBox understøtter både Intel 's VT-x og AMD ' s AMD-V hardware-virtualisering. Ved hjælp af disse faciliteter kan VirtualBox køre hver gæst VM i sit eget separate adresserum; gæstens OS-ring 0-kode kører på værten ved ring 0 i VMX ikke-rodtilstand frem for i ring 1.

Fra og med version 6.1 understøtter VirtualBox kun denne metode. Indtil da understøttede VirtualBox specifikt nogle gæster (herunder 64-bit gæster, SMP-gæster og visse proprietære operativsystemer) kun på værter med hardware-assisteret virtualisering .

Enhedsvirtualisering

VirtualBox emulerer harddiske i tre formater: det native VDI (Virtual Disk Image), VMDK for VMware og VHD i Microsoft Windows . Det understøtter således diske, der er oprettet af anden hypervisor -software. VirtualBox kan også oprette forbindelse til iSCSI -mål og til rå partitioner på værten ved hjælp af enten som virtuelle harddiske. VirtualBox emulerer IDE (PIIX4 og ICH6 controllere), SCSI , SATA (ICH8M controller) og SAS controllere, hvortil der kan tilsluttes harddiske.

VirtualBox har understøttet Open Virtualization Format (OVF) siden version 2.2.0 (april 2009).

Både ISO -billeder og fysiske enheder, der er forbundet til værten, kan monteres som cd- eller dvd -drev. VirtualBox understøtter kørende operativsystemer fra live -cd'er og dvd'er .

Som standard giver VirtualBox grafikunderstøttelse via et brugerdefineret virtuelt grafikkort, der er VESA- kompatibelt. Gæstetilføjelserne til Windows, Linux, Solaris, OpenSolaris eller OS/2-gæster inkluderer en særlig videodriver, der øger videoydelsen og indeholder yderligere funktioner, såsom automatisk justering af gæstens opløsning ved ændring af størrelsen på VM-vinduet eller skrivebordssammensætning via virtualiseret WDDM chauffører.

For en Ethernet -netværksadapter virtualiserer VirtualBox disse netværkskort :

  • AMD PCnet PCI II (Am79C970A)
  • AMD PCnet-Fast III (Am79C973)
  • Intel Pro/1000 MT Desktop (82540EM)
  • Intel Pro/1000 MT Server (82545EM)
  • Intel Pro/1000 T Server (82543GC)
  • Paravirtualiseret netværksadapter (virtio-net)

De emulerede netværkskort tillader de fleste gæst OS'er at køre uden behov for at finde og installere drivere til netværkshardware, da de sendes som en del af gæst OS. En særlig paravirtualiseret netværksadapter er også tilgængelig, hvilket forbedrer netværksydelsen ved at eliminere behovet for at matche en bestemt hardware -grænseflade, men kræver særlig driverstøtte hos gæsten. (Mange distributioner af Linux leveres med denne driver inkluderet.) Som standard anvender VirtualBox NAT, hvorigennem internetsoftware til slutbrugere som Firefox eller ssh kan fungere. Brobaseret netværk via et værtsnetværksadapter eller virtuelle netværk mellem gæsterne kan også konfigureres. Op til 36 netværkskort kan tilsluttes samtidigt, men kun fire kan konfigureres via den grafiske grænseflade.

For et lydkort virtualiserer VirtualBox Intel HD Audio, Intel ICH AC'97 og SoundBlaster 16 -enheder.

En USB 1.1 -controller emuleres, så alle USB -enheder, der er tilsluttet værten, kan ses i gæsten. Den proprietære udvidelsespakke tilføjer en USB 2.0- eller USB 3.0 -controllere, og hvis VirtualBox fungerer som en RDP -server, kan den også bruge USB -enheder på den eksterne RDP -klient, som om de var forbundet til værten, dog kun hvis klienten understøtter denne VirtualBox -specifik udvidelse (Oracle giver klienter til tynde Solaris-, Linux- og Sun Ray -klienter, der kan gøre dette, og har lovet support til andre platforme i fremtidige versioner).

Funktionssæt

  • Snapshots
  • Problemfri tilstand - muligheden for at køre virtualiserede applikationer side om side med normale desktop -applikationer
  • Delt udklipsholder
  • Delte mapper
  • Særlige drivere og værktøjer til at lette skift mellem systemer
  • Kommandolinjeinteraktion (ud over GUI)
  • Offentlig API ( Java , Python , SOAP , XPCOM ) til styring af VM -konfiguration og -udførelse
  • Indlejret personsøgning til AMD-V og Intel VT (kun til processorer, der understøtter SLAT og med SLAT aktiveret)
  • Begrænset understøttelse af 3D-grafik acceleration (herunder OpenGL op til (men ikke inklusive) 3,0 og Direct3D 9.0c via Wine 's Direct3D til OpenGL oversættelse)
  • SMP -understøttelse (op til 32 virtuelle CPU'er pr. Virtuel maskine), siden version 3.0
  • Teleportation (også kendt som Live Migration )
  • 2D video output acceleration (må ikke forveksles med video dekodning acceleration), siden version 3.1
  • EFI er blevet understøttet siden version 3.1 (Windows 7 -gæster understøttes ikke)
Lagringsemuleringsfunktioner
Understøttelse af opbevaring
  • Rå harddiskadgang - tillader fysiske harddiskpartitioner på værtsystemet at blive vist i gæstesystemet
  • Understøttelse af VMware Virtual Machine Disk ( VMDK ) format - tillader udveksling af diskbilleder med VMware
  • Microsoft VHD -understøttelse
  • QEMU qed og qcow diske
  • HDD -formatdiske (kun version 2; version 3 og 4 understøttes ikke), der bruges af Parallels virtualiseringsprodukter
Siden version 3.2
  • Mac OS X Server gæstesupport - eksperimentel
  • Hukommelsesballon (ikke tilgængelig på Solaris -værter)
  • RAM- deduplikering (Page Fusion) til Windows-gæster på 64-bit-værter
  • CPU hot-plugging til Linux (hot-add og hot-remove) og visse Windows-gæster (kun hot-add)
  • Sletning af snapshots, mens VM'en kører
  • Multi-monitor gæstopsætninger i GUI , til Windows-gæster
  • LSI Logic SAS controller emulering
  • Remote Desktop Protocol (RDP) videoacceleration via en ikke-fri udvidelse
  • Kør og kontroller gæsteapplikationer fra værten - til automatiserede softwareimplementeringer
Siden version 4.0
  • PUEL/OSE -adskillelsen blev opgivet til fordel for et open source -basisprodukt og en udvidelsespakke med lukket kilde, der kan installeres oven på basisproduktet. Som en del af denne ændring blev yderligere komponenter i VirtualBox gjort til open source (installatører, dokumentation, enhedsdrivere)
  • Intel HD -lydcodec -emulering
  • Intel ICH9 chipset emulering
  • Et nyt VM -lagringsskema, hvor alle VM -data er gemt i en enkelt mappe for at forbedre VM -portabilitet
  • Flere UI -forbedringer, herunder et nyt look med VM -forhåndsvisning og skaleringstilstand
  • På 32-bit værter kan VM'er hver bruge mere end 1,5 GB RAM
  • Ud over OVF understøttes enkeltfilens OVA -format
  • CPU -brug og I/O -båndbredde kan begrænses pr. VM
  • Understøttelse af Apple DMG -billeder (DVD)
  • Gæsteopstillinger med flere skærme til Linux/Solaris-gæster (tidligere kun Windows)
  • Ændring af størrelse på diskbilledformater fra Oracle, VDI (VirtualBox disk image) og Microsoft, VHD (Virtual PC hard disk)
Siden version 4.1
  • Windows Aero support (eksperimentel)
  • Kloning af virtuel maskine
Siden version 4.2
  • Virtuelle maskingrupper - tillader administration af en gruppe virtuelle maskiner som en enkelt enhed (tænd eller sluk dem, tag snapshots osv.)
  • Nogle VM -indstillinger kan ændres under VM -udførelse
  • Understøtter op til 36 NIC'er i tilfælde af ICH9 -chipsættet
  • Understøttelse af begrænsning af netværks -I/O -båndbredde
  • Kan automatisk køre VM'er ved opstart af værtssystem (undtagen på Windows -værter)
Siden version 4.3
  • Understøttelse af VM-videooptagelse
  • Understøttelse af værtsberøringsenhed (GUI videregiver berøringsbegivenheder til gæst)/USB -virtualisering af sådanne enheder
Siden version 5.0
  • Understøttelse af paravirtualisering til Windows- og Linux-gæster for at forbedre tidsnøjagtigheden og ydeevnen
  • USB3 -controller baseret på Intels hardwareimplementering. Det understøttes af enhver Windows -version, der starter fra Windows 8 , enhver Linux -kerne, der starter fra 2.6.31 og Mac OS X fra version 10.7.4.
  • Tovejs træk og slip support til Windows, Linux og Solaris -gæster
  • VM disk image-kryptering via en ikke-fri udvidelse
  • VM -outputskalering og HiDPI -skærme understøtter
  • Hotplugging af SATA -diske ved hjælp af GUI
  • USB -trafikoptagelse
  • VM'er kan afbrydes fra en GUI -session og køre i baggrunden
  • AVX , AVX-2, AES-NI , SSE 4.1/4.2 instruktioner (hvis det understøttes af værtens CPU)
Siden version 6.0
  • Understøttelse af eksport af virtuelle maskiner til Oracle Cloud
  • En filhåndtering, der gør det muligt at styre gæstefilsystemet og kopiere filer fra/til det
  • VMSVGA GPU -driver til Linux -værter
  • Opsætning af surroundhøjttalere
  • Understøttelse af hardware-assisteret indlejret virtualisering på AMD-CPU'er
Siden version 6.1
  • Understøttelse af import af virtuelle maskiner fra Oracle Cloud
  • Tilføjet indlejret virtualiseringsunderstøttelse til Intel CPU'er (den var allerede tilgængelig for AMD CPU'er) startende med Intel Core i5 Broadwell
  • Eksperimentel support til filoverførsler via træk-n-slip kun til Windows-vært og gæster (deaktiveret som standard, skal være aktiveret ved hjælp af VBoxManage)
  • Understøttelse af virtio-scsi til harddiske og optiske drev, herunder understøttelse af boot
  • Understøttelse af værter med op til 1024 CPU'er
  • DXVA (hardware -accelereret videoafkodning) support til Windows -gæster
  • NVRAM -understøttelse af EFI, som forbedrer kompatibiliteten med mange gæst OS'er
  • Softwaretastatur til indtastning af nøgler til en gæst
  • Gæst -CPU -brugsovervågning
  • Faldet support til software -CPU -virtualisering - en CPU med hardware -virtualiseringsunderstøttelse er nu påkrævet
  • Faldet understøttelse af PCI -gennemgang for Linux -værter

Begrænsninger

  • 3D -grafikacceleration for Windows -gæster tidligere end Windows 7 blev fjernet i version 6.1. Dette påvirkede Windows XP og Windows Vista.
  • VirtualBox har en meget lav overførselshastighed til og fra USB2 -enheder.
  • På trods af at det er et open source -produkt, er nogle af dets funktioner kun tilgængelige i binær form under en kommerciel licens (se "VirtualBox Extension Pack" nedenfor).
  • USB3 -enheder, der passerer igennem, understøttes ikke af ældre gæst OS'er som Windows Vista og Windows XP på grund af manglen på drivere, men starter med version 5.0 VirtualBox tilbyder eksperimentel Renesas uPD720201 xHCI USB3 -controller, der gør det muligt at bruge USB3 i disse operativsystemer gennem manuel ændring af konfiguration filer.
  • Gæstetilføjelser til macOS er ikke tilgængelige på nuværende tidspunkt.
  • Gæstetilføjelser til Windows 9x ( Windows 95 , 98 og ME ) er ikke tilgængelige. Dette resulterer i dårlig ydeevne på grund af manglen på grafikacceleration med standard 16-bit farvetilstand (ekstern tredjepartssoftware er tilgængelig for at muliggøre understøttelse af 32-bit farvetilstand, hvilket resulterer i bedre ydeevne).
  • EFI -understøttelse er ufuldstændig, f.eks. Understøttes ikke EFI -opstart til en Windows 7 -gæst. Sikker UEFI -opstart til gæst OS'er mangler.
  • Kun ældre versioner af DirectX- og OpenGL -gennemførelse understøttes (funktionen kan aktiveres ved hjælp af 3D Acceleration -indstillingen for hver VM individuelt).
  • Video RAM er begrænset til 128 MiB (256 MiB med 2D Video Acceleration aktiveret) på grund af tekniske vanskeligheder (blot at ændre GUI'en for at give brugeren mulighed for at allokere mere video RAM til en VM eller manuelt redigere konfigurationsfilen for en VM fungerer ikke og vil resultere i en dødelig fejl ).
  • Windows 95/98/98SE/ME kan ikke installeres eller fungere upålideligt med moderne CPU'er (AMD Zen eller nyere) og hardwareassisteret virtualisering (VirtualBox 6.1 og nyere). Dette skyldes, at disse operativsystemer ikke er kodet korrekt.

VirtualBox udvidelsespakke

Nogle funktioner kræver installation af den lukkede kilde "VirtualBox Extension Pack":

  • Understøttelse af en virtuel USB 2.0/3.0 controller (EHCI/xHCI)
  • VirtualBox RDP : understøttelse af den proprietære fjernforbindelsesprotokol udviklet af Microsoft og Citrix Systems .
  • PXE -boot til Intel -kort.
  • VM disk image -kryptering
  • Kamera / webcam support

Mens VirtualBox selv er gratis at bruge og distribueres under en open source -licens, er VirtualBox Extension Pack licenseret under VirtualBox Personal Use and Evaluation License (PUEL). Personlig brug er gratis, men kommercielle brugere skal købe en licens. Oracle kontrollerer rutinemæssigt logfiler for download af VirtualBox Extension Pack fra ikke -residente IP -adresser og kontakter ulicenserede brugere for at håndhæve overholdelse.

Mens gæstetilføjelser er installeret i hver passende gæstevirtualmaskine, er udvidelsespakken installeret på den vært, der kører VirtualBox.

Host OS -understøttelse

De understøttede operativsystemer omfatter:

Historie

Image
Logo for VirtualBox OSE, 2007–2010

VirtualBox blev først tilbudt af Innotek GmbH fra Weinstadt , Tyskland , under en proprietær softwarelicens , hvilket gør en version af produktet tilgængelig uden omkostninger til personlig eller evalueringsbrug, underlagt VirtualBox Personal Use and Evaluation License (PUEL). I januar 2007 udgav Innotek GmbH , baseret på råd fra LiSoG , VirtualBox Open Source Edition (OSE) som gratis og open source-software , underlagt kravene i GNU General Public License (GPL), version 2.

Innotek GmbH bidrog også til udviklingen af OS/2 og Linux support i virtualisering og OS/2 porte på produkter fra Connectix, som senere blev erhvervet af Microsoft . Specifikt udviklede Innotek "tilføjelser" -koden i både Windows Virtual PC og Microsoft Virtual Server , som muliggør forskellige vært -gæst -OS -interaktioner som delte udklipsholder eller ændring af dynamisk visningsport.

Sun Microsystems købte Innotek i februar 2008.

Oracle Corporation erhvervede Sun i januar 2010 og genmærkede produktet som "Oracle VM VirtualBox".

I december 2019 begyndte VirtualBox kun at understøtte hardware-assisteret virtualisering og droppede understøttelse af software-baseret en.

Se også

Noter

Referencer

eksterne links