Legacy BIOS Access Range Limitation
- Background
There is an access limitation in some Legacy BIOS of some vendors. For example, some Legacy BIOS can't read the disk beyond 137GB.
If you search "Legacy BIOS 137GB" in the internet, you will get many informations about that.
This is a BIOS issue and can not be fixed by any software unless you update the BIOS in the motherboard.
So if that's the case with the BIOS in your machine and you install Ventoy into a USB drive with large capacity(e.g. 256GB), you will run into problem when booting.
It should be noted that, 137GB is just a more common value. Different BIOS may have different limitation values.
Some HP server even has a 8GB limitation!
- Typical behavior
1. This problem is Legacy BIOS only, UEFI is OK.
2. Directly dropped into a grub shell when boot Ventoy
3. Works fine with a small USB drive(e.g. 32GB)
- Why no problem with other tools (e.g. Rufus)
When you make a bootable USB with other tools like Rufus, the USB drive will be reformatted and all the data in the ISO will be written into the USB from the begginning.
So normally these data will not exceed the BIOS limitation and there is no need to read data from where is out of the range during boot.
But with Ventoy, as mentioned in Disk Layout, the 2nd partition is at the end of the USB disk. So it need to read data out of the Legacy BIOS limitation immediately after boot.
- Workaround 1 (Recommend)
You can preserve some space at the end of the disk. We can make use of this feature, to preserve some space at the end of the disk and to
"extrusion" Ventoy's part1 and part2 within the BIOS's access range.
Take a 256GB USB drive for example, if the BIOS access limitation is 137GB, we can preserve 150GB space when install Ventoy. So the part1 and part2 of Ventoy will
be at the first 106GB space and will not trigger the BIOS's limitation. Please refer Notes for detailed information of the feature.
- Workaround 2
- Reformat the 1st partition manually (NTFS/exFAT ...)
- Copy ventoy.disk.img.xz to the 1st partition
To make sure that the file in step 2 will be saved within the BIOS access range.
Get ventoy.disk.img.xz
from the install package (under ventoy directory). Create a ventoy
directory in the 1st partition and copy ventoy.disk.img.xz
into it.
That's /ventoy/ventoy.disk.img.xz
in the 1st partition.
- Notes For Workaround 2
It should be noted that, this is just a workaround. There is no software solution for the BIOS limitation. If all the ISO files are within the valid range, there will be no problem. But if you put many many ISO files to the USB disk and some of them will be out of the range. For these ISO files, BIOS can't read them and
there will definitely be problems when boot them.
Extra benefits for workaround 2
Just for Legacy BIOS mode, although workaround 2 is used for the limitation of the BIOS, but it can also be used to avoid the situation where the data of the 2nd partition is damaged.
Because the workaround proces is to get data from the file mentioned above when failed to access the 2nd partition. The access failure may be due to the limitation of the BIOS, or the file may be damaged.