32-bit vs 64-bit CPU selection

Here you can provide suggestions on how to improve the product, website, etc.
Post Reply
dlharper
Posts: 291
Joined: 25. Aug 2011, 19:17
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: MS Windows (several versions); DOS

32-bit vs 64-bit CPU selection

Post by dlharper »

Would it make sense to have the selection of a 32-bit or 64-bit CPU as a check-box, maybe on the System | Processor tab of the machine settings?

Currently to set this you have to choose a 32-bit or 64-bit machine type in General (or at initial setup). No other machine properties are defined this way. Other than this, selecting a machine type at setup just selects a template. All features (except the CPU bit-width) can then be altered on appropriate Settings pages, or with a VBoxManage command.

The current way of doing things feels like an anomaly.
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: 32-bit vs 64-bit CPU selection

Post by mpack »

I'm not sure I understand the suggestion. The CPU is the CPU, you can't select it. What you can do is select a 32bit or 64bit guest OS template, with the latter of course only being available if the hardware is capable.
scottgus1
Site Moderator
Posts: 20945
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: 32-bit vs 64-bit CPU selection

Post by scottgus1 »

Virtualbox does not emulate or virtualize the CPU itself. The host's CPU passes into the guest directly and is the only piece of host hardware that appears in the guest. Thus there is no ability to choose a 32-bit or 64-bit CPU for the guest. What your host has is what the guest sees.
dlharper
Posts: 291
Joined: 25. Aug 2011, 19:17
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: MS Windows (several versions); DOS

Re: 32-bit vs 64-bit CPU selection

Post by dlharper »

Yes, of course, but there is a little more to it. See the manual section 3.1.2, paragraph 3.

If you are going to run in 64-bit, then obviously you have to have a 64-bit CPU and choose a 64-bit OS. But you also have to select a 64-bit machine type. You cannot just start from a 32-bit template and make changes in Settings.

This is different from all other features of a VM. Everything else can be selected from machine settings.

For example, if you compare (say) a template for Windows 2000, and one for Windows 7-32, then there are obvious differences but you can change from one to the other by altering things like RAM size (from 168Mb to 512Mb) hard disk controller (from IDE to SATA), etc. There will be quite a lot to change (and I don't know why you would want to do it) but the result could be made identical to having selected the Windows 7-32 template to begin with.

However, you cannot make changes like this and get to a machine the same as a Windows 7-64 template. To do that you have to actually change the machine type to a 64-bit one. Of course you have to use a 64-bit OS for it to run in 64-bits, but you cannot run a 64-bit OS on a machine based on a 32-bit template.

In other words, there is a property of a VM that we might call "runnable in 64-bits" which must be selected (in addition to having the right CPU and OS) in order to use the wider bus. At present this can only be selected by choosing the right machine type. It seems to me that it would be consistent with other properties to have it selectable as a check-box.

On reflection, though, having tried to explain what I mean and finding how awkward it is, it is probably less confusing to leave things as they are.
Perryg
Site Moderator
Posts: 34369
Joined: 6. Sep 2008, 22:55
Primary OS: Linux other
VBox Version: OSE self-compiled
Guest OSses: *NIX

Re: 32-bit vs 64-bit CPU selection

Post by Perryg »

On reflection, though, having tried to explain what I mean and finding how awkward it is, it is probably less confusing to leave things as they are.
I have to agree with this statement. Most users have enough issues trying to get the settings right and if they don't read and find out how to find this new check box they will be right back here saying this is just too hard. Sadly there is never a one size fits all GUI so the way it is now should probably be left alone.
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

Re: 32-bit vs 64-bit CPU selection

Post by michaln »

The OP is right, there is a setting. The property is called "long mode" and it can in fact be changed through VBoxManage.

On a 32-bit host CPU (quite rare nowadays), there will be no 64-bit support and no options. But on a 64-bit CPU, it can be controlled whether the guest will see the 64-bit capabilities or not. That can be useful for testing, but it's also useful for performance -- a 32-bit VM has less state to save and restore so it can run faster.

I cannot explain why (in the GUI) the long mode support can only be changed by changing the guest OS type because that's something which never made sense to me.
dlharper
Posts: 291
Joined: 25. Aug 2011, 19:17
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: MS Windows (several versions); DOS

Re: 32-bit vs 64-bit CPU selection

Post by dlharper »

I didn't know it was called "long mode". This isn't mentioned in the manual other than to say that it can be turned On or Off with a VBoxManage command.

Can I suggest, then, that there should be a mention in the manual of what "long mode" is.
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

Re: 32-bit vs 64-bit CPU selection

Post by michaln »

It's very hard to guess what users do or don't know. Long mode is standard terminology: https://en.wikipedia.org/wiki/Long_mode
socratis
Site Moderator
Posts: 27329
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: 32-bit vs 64-bit CPU selection

Post by socratis »

michaln wrote:The OP is right, there is a setting.
More than one actually. I can even go for a 16-bit processor if I was so inclined:
  • VBoxManage modifyvm <vmname> [--cpu-profile "host|Intel 80[86|286|386]"]
and there's more if you care to search. But that's not the point. The whole subject is without merit if you ask me. There's a whole lot more than the bitness to a VM.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
dlharper
Posts: 291
Joined: 25. Aug 2011, 19:17
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: MS Windows (several versions); DOS

Re: 32-bit vs 64-bit CPU selection

Post by dlharper »

socratis wrote:The whole subject is without merit if you ask me. There's a whole lot more than the bitness to a VM.
I don't deny that. My initial suggestion was simply prompted by a feeling of tidiness regarding templates.

In all other ways, a template is just that, like it is in something like a word-processor (.dotx files in MS-Word, for instance). A machine template simply defines a starting point from which you build a VM. You select one for your VM, and if you wish you can change everything about it. There is just this one property specific to one set of templates and not another, and which cannot not be selected from the GUI.

I felt there was an inconsistency here that, if it were modified, would make the concept of a template neater.
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

Re: 32-bit vs 64-bit CPU selection

Post by michaln »

The inconsistency is there, no denying it.
Post Reply