64-bit Ubuntu seems to contain the 32-bit version as well

chrstrbrts

Senior member
Aug 12, 2014
522
3
81
Hi,

I burned 32-bit Ubuntu version 16 to a USB and successfully ran it on a 64-bit machine without installing.

This is to be expected as 32 bit Intel code will run on a 64 bit Intel machine as long as you stay in protected mode or go into legacy mode.

I checked the files burned on the USB and saw that under the dists/xenial/main and dists/xenial/restricted folders there is a binary-i386 folder.

This makes sense.

Then, I burned the 64-bit Ubuntu version 16 to a USB.

I checked the files burned on the USB and saw that under the dists/xenial/main and dists/xenial/restricted folders there is a binary-amd64 folder and a binary-i386 folder.

Apparently, the 64-bit version has both the 64-bit code and the 32-bit code.

Why?

What happens if you take the 64-bit version and try to run it on a 32 bit system?

Will the bootloader load the 32-bit version and successfully run the OS?
 

mv2devnull

Golden Member
Apr 13, 2010
1,526
160
106
64-bit version cannot run in 32-bit only CPU.

Yes, there are some 32-bit packages, just like 64-bit MS Windows contains 32-bit "files" that allow 32-bit applications to run. For same reason too.

While most binaries in 64-bit Ubuntu are packaged for it and compiled 64-bit, it is possible to obtain proprietary binaries from third parties that are still 32-bit. I particularly detest certain (expensive) 64-bit commercial applications that come with 32-bit installer.

In other words, the files you see are mostly dynamically loaded libraries that dynamically linked 32-bit binaries require to run. Kind of "backward compatibility wrappers".


Disclaimer: I don't actually know what Ubuntu has, but other distros have them for that purpose.
 
  • Like
Reactions: edcoolio