Leave boot in UEFI, and press F12 to one time boot to a legacy device. So if wanting to install Win 7, disable secure boot, leave in UEFI mode so the system can see the internal drive, make a bootable DVD/USB using GPT, image with your ISO, put in system, F12 to boot to ISO. I’m trying to create a USB drive that has the Windows 10 installer, the Windows 7 installer, Lubuntu, BitDefender and the Mac OS installer on it. All have their own partition. I want the Windows 7 installer and Lubuntu to be able to boot in legacy mode. So I followed these instructions and successfully installed the legacy bootloader. Sudo bless -mount '/Volumes/BOOTCAMP' -setboot -nextonly -legacy -verbose; sudo reboot. The systemsetup command does not support legacy BIOS OSes. However, if you have an EFI Boot of Windows on the 2013 MPs, then bless will not work. You can check the BIOS mode on the Windows side using msinfo32.
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.
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.
- 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 bottom of the USB disk. So it need to read data out of the Legacy BIOS limitation immediately after boot.
Bless A Usb For Legacy Boots
- Workaround 1
- 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.
Bless A Usb For Legacy Booth
- Notes
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
Just for Legacy BIOS mode, although workaround 1 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.
- Workaround 2
Since Ventoy-1.0.14, you can preserve some space at the bottom of the disk. We can make use of this feature, to preserve some space at the bottom 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.