Virtuella maskiner är numera vanliga för att testa olika operativsystem och utföra andra uppgifter. Ett populärt och gratis program för att köra virtuella maskiner är VirtualBox. När du skapar en ny maskin måste du skapa en hårddisk för den och ange dess storlek. Men det är inte alltid man kan gissa hur mycket utrymme en viss maskin kommer att ta upp. Det finns dynamiska virtuella skivor som bara tar upp utrymme när du skriver filer till dem, men det är en ofullständig lösning på problemet eftersom du inte kan planera allt i förväg.
Det finns tre huvudformat som du kan använda i VirtualBox - VDI
, VHD
och VDMK
. Endast VDI
och VHD
kan ändras i storlek. Det finns en lösning för VDMK
.
För att öka storleken måste du använda ett kommando i terminalen eller kommandoraden, tyvärr finns det ingen sådan funktion i GUI. Du måste också veta den fullständiga sökvägen till din skiva. Låt oss säga att vår enhet finns på ~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi
i Linux. Låt oss titta på dess information för att veta dess nuvarande storlek:
$ VBoxManage showhdinfo ~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi
Storleken markeras i kapacitetsfältet och i det här exemplet är den 22075 megabyte. Det är viktigt att känna till kapaciteten i megabyte eftersom det är vad vi kommer att använda för att förstora skivan. För att öka storleken på den virtuella skivan i Virtualbox används samma kommando, men med parametern modifyhd
:
$ VBoxManage modifyhd ~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi --resize 32075
Vi har ökat volymen med 10 GB. Det är viktigt att det belopp som du anger i resize-parametern
inte är mindre än den aktuella skivstorleken, annars kan operativsystemets data skadas och hela poängen med denna operation blir meningslös.
Om din maskin har snapshots bör du ändra storlek på dem också, annars kommer ingenting att fungera. Du kan använda en slinga som denna för att göra detta:
$ for x in ~/VirtualBox VMs/Ubuntu17.04/Snapshots/*.vdi ; do VBoxManage modifyhd $x --resize 32075 ; done
Kom ihåg att storleken och namnen måste matcha i alla kommandon för samma maskin. VirtualBox stöder inte storleksändring av VDMK-format
, men du kan konvertera det till vdi
, förstora det enligt beskrivningen ovan och konvertera det tillbaka:
$ VBoxManage clonehd "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdmk" "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi" --format vdi
$ VBoxManage modifyhd "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi " --resize 32075$ VBoxManage clonehd "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi " "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi_resized.vmdk" --format vmdk
I Windows OS kommer kommandot att se lite annorlunda ut och filvägen börjar från C: -enheten. För att köra kommandot VBoxManage måste du först navigera till mappen VirtualBox körbara filer:
cd “C:Program FilesOracleVirtualBox”
Kör kommandot för att öka storleken på virtualbox som beskrivits tidigare, ersätt filvägen med din egen:
$ VBoxManage showhdinfoC:UsersAdminVirtualBox VMsWindows 7Windows 7.vdi
Och ändra storleken på den här skivan, kom ihåg att storleken ska anges i megabyte och att den ska vara större än den nuvarande.
$ VBoxManage modifyhd "C:UsersAdminVirtualBox VMsWindows 7Windows 7.vdi" --resize 32075
Det faktum att du har ökat den tillgängliga skivstorleken förändrar ingenting, precis som att lägga till en ny hårddisk i ditt system inte förändrar någonting. Därefter måste du starta upp din virtuella maskin, expandera virtualbox-skivan och öka utrymmet som upptas av filsystemet, för detta kan du använda verktyget Gparted. I Linux-distributioner kommer det som standard, kör verktyget:
Du kommer att se det gråmarkerade tillgängliga utrymmet i slutet av enheten. Nu kan du ändra storlek på den sista partitionen genom att högerklicka på den och få upp snabbmenyn och sedan välja "ändra storlek/flytta":
När du är klar, glöm inte att klicka på "Apply" för att tillämpa alla operationer.
Vi har sett hur man ökar storleken på en virtuell skiva i virtualbox med hjälp av kommandoraden och hur man delar det resulterande utrymmet med sitt gästsystem.
Apply the discount by inserting the promo code in the special field at checkout: