41

I'm trying to run Windows 8 in VirtualBox. My laptop's display is exactly 1366x768. Windows 8 disables some of its features if the resolution is less than 1366x768, so I need to run the guest OS fullscreen.

The problem is, VirtualBox refuses to run the guest at 1366x768. When VirtualBox is "fullscreen", the guest is only 1360x768 -- six pixels too narrow. So there's a three-pixel black bar at the left and right sides of the display.

This user had the same problem, but the accepted answer is "install the Guest Additions", which I've already done; that got me to 1360, but not to 1366.

According to the VirtualBox ticket tracker, there used to be a bug where the guest's screen width would be rounded down to the nearest multiple of 8, but they claim to have fixed the bug in version 3.2.12. I'm using version 4.1.18 and seeing the same problem they claim to have fixed, so either they broke it again, they were wrong about ever having fixed it, or my problem is something else entirely.

This answer suggested giving the VM 128MB of video memory, and claimed no problems getting 1366x768 afterward. When I created the VM, its display memory was already defaulted to 128 MB. I tried increasing it to 256MB, but with no effect: the guest is still six pixels too narrow.

My host OS is Windows 7 64-bit, and I'm running VirtualBox 4.1.18.

How can I get VirtualBox to run my guest OS fullscreen at my display's native resolution of 1366x768?

  • Did you bother installing Guest Additions on the guest? That's one of the things it's there for. – b1nary.atr0phy Mar 3 '15 at 0:05
  • 1
    @b1nary.atr0phy, as I said in the question: the accepted answer is "install the Guest Additions", which I've already done. – Joe White Mar 3 '15 at 0:19

15 Answers 15

29

While the VM is running, you can also tell the guest OS to change the resolution by using:

VBoxManage controlvm "Name of VM" setvideomodehint 1366 768 32

The 32 at the end denotes the display color depth.

| improve this answer | |
  • Exact same problem here, but with a Win7 guest -- and this solution also worked. So did turning off the VirtualBox 3D acceleration as advised here: superuser.com/a/443733/26903 – Stabledog Oct 4 '13 at 18:11
  • 2
    This isn't working for me, please help. I'm running ArchLinux, KDE. My VM is listed in VBoxManage list runningvms But unable to change resolution from 800x600 to 1280x1024 – Ravi Dhoriya ツ Mar 24 '14 at 21:13
  • I was able to make this work, but I needed to have the virtualbox guest OS running in fullscreen mode. (Host Key (right-ctrl) - F). Then I ran the command by going to the command prompt and navigating to the virtual box folder under program files\oracle. I similarly set this under File->Preferences of the Oracle VM VirtualBox Manager. – Greg Aug 12 '15 at 14:10
  • 2
    @RaviDhoriyaツ This isn't work on fedora 22 kde on my laptop. But I found the solution from here youtube.com/watch?v=KCSXDjKKaQo now It works on my laptop – Dhiren Hamal Sep 2 '15 at 6:26
  • @ANONDREN: If you could post an answer with the information from the video, that would help a lot :) – Der Hochstapler Sep 2 '15 at 11:18
16

After burning an entire weekend on this, I finally found the culprit: VirtualBox's 3D acceleration.

If you go into your virtual machine's Settings > Display, and uncheck "Enable 3D Acceleration", then the guest will successfully run at 1366x768.

| improve this answer | |
  • This worked for me with a Win7 guest. And so did this solution: superuser.com/a/586538/26903 – Stabledog Oct 4 '13 at 18:15
  • This worked for me with Windows 10. Thanks! – Augusto Barreto May 5 '15 at 3:43
  • 1
    This did not work for me, windows 10 with a server 2012 VM – Devil's Advocate Nov 22 '16 at 14:37
  • After 2020's two days of unfortunate research, this one worked for me. Vbox 6.1.6 on Windows 10Pro – elsadek May 3 at 23:14
12

I had it working by doing this:

  1. Shutdown VM

  2. Navigate to C:\Program Files\Oracle\VirtualBox\

  3. Shift + Right-Click > Open command window here

  4. Run command VBoxManage.exe setextradata "Windows 8 RTM Evaluation" CustomVideoMode1 1366x768x32

  5. Start VM

  6. Launch Desktop, Right-Click > Screen Resolution

  7. Choose 1366 x 768

But, it broke...

I updated VirtualBox and installed new Guest Additions. Now it's using "VirtualBox Graphics Adapter for Windows 8" and I cannot select a wide resolution.

| improve this answer | |
  • 3
    This is the one that worked for me. Modified the commands a little for bash : VBoxManage setextradata "Windows1" CustomVideoMode1 1366x768x32 – Tejas Kale Mar 30 '15 at 9:07
  • I wondered why it wasn't working for me until I noticed it's CustomViewMode{ONE} not CustomViewMode{L}.. anyways, I ended up with setvideomodehint which did the trick at runtime – quetzalcoatl Jul 12 '17 at 12:13
  • The answer should be edited to give the bash version as well. I am happy that I read Tejas comment ! Also, it did not brake... – Dominic108 Jan 6 at 1:16
12

I solved the same problem on Fedora 22 KDE by using following command:

$ VBoxManage setextradata global GUI/MaxGuestResolution any
$ VBoxManage setextradata "Win 10" "CustomVideoMode1" "1366x786x32"

Note that your virtualbox window should be closed.

| improve this answer | |
  • 1
    This is exactly what I was looking for. Thank you very much. – Demir Aug 8 '18 at 12:39
  • 1
    This helped me on Ubuntu 18.04 64bit for Windows 8.1 VM. – Digin Dominic Aug 28 '18 at 4:24
  • It worked on Ubuntu 18.04 64-bit for Windows 7 32-bit VM – Yuri Santos Jul 9 '19 at 16:32
  • Yes! Thank you! The global setting was the key. Thank you! – maxwell Jul 26 at 1:53
6

Make sure that your hardware supports whatever resolution you intend to use.

Boot your Linux guest in VirtualBox and press c in the GRUB menu (it's a blue screen in Debian) and then in the grub> prompt use the vbeinfo command to check the supported resolutions by your hardware. It's in the format of 1366x768x32.

Press Esc to exit grub> prompt and proceed. Then:

  1. login to the system as root
  2. vim /etc/default/grub
  3. edit, using one of the modes supported:

    GRUB_GFXMODE=1366x768x24
    GRUB_GFXPAYLOAD_LINUX=keep
    
  4. update your Grub configuration (the command in Debian is update-grub, and in OpenSUSE is grub2-mkconfig -o /boot/grub2/grub.cfg)

  5. log out
  6. in Windows (or whatever the host OS) run this command:

    C:\>...\vboxmanage setextradata "your_guest_os_name" "CustomVideoMode1" "1366x768x32"
    
  7. reboot your guest OS

| improve this answer | |
  • worked flawlessly for my debian vm on a win7 host. thanks! – danmcb Aug 3 '18 at 8:25
3

My issue was running Windows XP (in VB) in Ubuntu 14.04. Running that since it is the only way to connect remotely into work. ANyway, max res was 1024X800 until I did the follwoing:

  1. Under the Oracle VM VirtualBox Manager, Select the File Menu
  2. Select the Preferences option
  3. Select Display from the left hand side options
  4. Change the Maximum Guest Screen Size to HINT (From Automatic or None)
  5. Set your max pixel width and height (mine is 1440X900)
  6. CLick on OK
  7. Start up your Virtual Session
| improve this answer | |
1

If you're using a Mac OS on your Virtual Machine, it's not possible to set the screen resolution of 1366x768.

Here are some resolutions you can use:

  • 640×480
  • 800×600
  • 1280×1024
  • 1440×900
  • 1900×1200

To set it on VirtualBox from Windows:

VBoxManage.exe setextradata "Your OS name" CustomVideoMode1 800x600

also, to set it from a Linux OS:

VBoxManage setextradata "MacOS Mojave" VBoxInternal2/EfiGraphicsResolution 800x600
| improve this answer | |
1

I solved my problem this way:

  1. Start your virtual OS (Windows 8), while it's already running
  2. From the menu select Device
  3. Install the Guest Additions
  4. Continue until the installation finishes.
  5. Restart VirtualBox
| improve this answer | |
  • 1
    Yes, this question is obsolete. Just installing guest additions works. Well, I also had to go make sure that VirtualBox Manager -> Tools -> Preferences -> Display -> Maximum Guest Screen Size : Automatic is selected. Also, one should not have the physical CD/DVD mounted, because you cannot have the virtual CD for Guest additions and the physical CD at the same time. – Dominic108 Jan 7 at 10:19
0

I figured out how the guy from Indonesia did it and managed to make it work , but on Win XP guest OS . Should probably work for Win 8 just as well .

  1. You must have the VB guest additions installed on host OS

  2. Start the VM and from the mini toolbar , right click on CD/DVD and select "Choose a virtual CD/DVD file" .

  3. When prompted , browse to VB installation folder and select the VBoxGuestAdditions.ISO

  4. Setup will start running on your guest OS and will install the VB guest additions

  5. Restart and it works even with 3d video acceleration enabled .

| improve this answer | |
0

I recently experienced the same problem. Fortunately, for me I was able to fix my resolution issues by using this link: https://www.youtube.com/watch?v=KCSXDjKKaQo . I followed the instructions step by step and now everything is functioning perfectly. The guy on the video is using a MAC to access the terminal which would make the changes to the screen resolution. I'm using Windows 7 to access Command Prompt (CMD). Interestly enough, the commands work on both Terminal and CMD.

As a FYI make sure to use "1366 768 32" exactly how Oliver's posting described

Hopefully this helps.

| improve this answer | |
  • Thank you very much. I followed the given solution and now it works on fedora 22 kde laptop. – Dhiren Hamal Sep 2 '15 at 6:35
  • 1
    Please include the instructions in your answer in case the youtube video is removed. – Devil's Advocate Nov 22 '16 at 14:42
0

Follow these instructions and you will solve your problem:

  • I am running VirtualBox 4.3.32
  • Installed OS is Windows 7

Now with the virtual machine turned off do the following:

  1. Go to the following folder of your PC: C:\Program Files\Oracle\VirtualBox
  2. Press Shift + right-click and choose "Open command prompt here".
  3. Type the following: VBoxManage.exe setextradata windows7 CustomVideoMode1 1366x768x32
  4. Replace windows7 with the name of the VirtualBox.
  5. Press Enter.
  6. Start virtual machine.
  7. Right-click on the virtual machine desktop and choose Screen Resolution.
  8. In the Resolution list you will find the option 1366 x 768.
  9. Choose 1366 x 768 and click OK.
| improve this answer | |
0

GO to Settings -> Display -> Scale factor (All monitors). Increase it. It will maximize the screen of os running in VM window

| improve this answer | |
0

For people coming here because they have a very small resolution (like 800x600), just go in the running VM in your screen settings, and change the resolution of the screen from there.

| improve this answer | |
0

I have a much easier method : Change the Graphics controller in the virtual box settings to VBoxSVGA. Now open your VM and in the menu click : View -> Virtual Screen 1 -> [choose the resoltuion]

| improve this answer | |
0

To set screen size to 1366x768 in fullscreen do this:

Steps (in command prompt):

  1. cd "C:\Program Files\Oracle\Virtualbox"
  2. VBoxManage setextradata "macOS name" VBoxInternal2/EfiGraphicsResolution 1366x768

Change “macOS name” to the name of your virtual OS.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.