my idea is to create an USB-Boot-Stick with Lubuntu that is able to boot on an older BIOS Laptop and an newer UEFI Systems.
This would be quite easy, when the Stick would be setup as a legacy boot device, but I want it to be an UEFI-able device.
- Does that make even sense?! Or did I understand the UEFI concept horrobly wrong?
- If necessary there can be two diffrent Linux installs (one for UEFI, one for legacy but both on the same drive)
- Boot a GPT Device on legacy Bios - will that work?
I can't see clear, it might be just a better idea to have a seperate legacy Linux boot stick, but I am curious to explore the boundries :)
So, is my idea of a hybrid linux-uefi-boot-usb-stick that would work with legacy bios possible?
(3) seems to be possible for linux with grub http://www.rodsbooks.com/gdisk/booting.html
Further, I do have an EF00 Partition ready on that stick, aside a Swap, Fat32 and two Ext4 partitions.
(1) seems to be possible too http://www.rodsbooks.com/bios2uefi/
This instructions are however from 2012, some time passed since - does anybody have a working example that is easier?
For other researchers of this topic:
Boot of Windows 7 from GPT disk on non EFI motherboard Is there any way to boot Windows 7/8 using BIOS on GPT?
http://www.borncity.com/blog/2012/07/25/uefi-emulation-auf-pcs/
UPDATE:
I have managed to create the UEFI part inlcuding secure Boot setup with rEFInd.
Following the given advice, I have used dd
to copy gptmbr.bin
to my drive, which now seems to do at least something on a BIOS-System: "This is not a bootable disk"
However, I have followed the advice and set the pmbr
flag for the disk and the gpt legacy boot
flag - still gettin this error, any ideas?
My ESP partition is the second partition on the disk and is setup with efi files.
The Setup:
- 64GB Space
- GPT Partitiontable
- Disk has pmbr flag set
- 1st Partition starts at 16MiB and is about 45GB, a fat32 primary for data
- 2nd Partition starts around 45GB and is the EFI System(fat32) with a working rEFInd setup
- 3rd - 5th Partition is home (ext4), swap and root(ext4) of my working Lubuntu 14.04.1
Using dd
I have copied the gptmbr.bin
of my compiled 6.02 Syslinux to the first 440bytes.
Under parted 3.2 I can see that my partition 2 has a boot
and legacy_boot
flag.
During boot I get No bootable disk found - if I set my 5th instead of the 2nd partition to be legacy_boot
I get Missing OS
It's alive!
(As my old Question got deleted https://askubuntu.com/q/516730/319747)
My guess is, that I have to copy some of the
*.c32
and other files to a syslinux folder eighter on my EFI (where?!) or on my root partition (/boot/syslinux
?!) to get it to work - am I right? What files are essential?Further, I guess I will need that
syslinucx.cfg
file too - right?
My goal would be at least a direct boot of the lubuntu system on the root ext4 partition.
Update:
Although I have no idea why, I got it working - but not with a manual install.
- the
pmbr
flag was bad and prohibited my UEFI system from booting the stick as UEFI- the
legacy_boot
flag was necessary for my 5th partition (linux root)- I had to use
extlinux --install /path/to/root/parition
- I had to create a
syslinux.cfg
in the syslinux folder under boot of my root partitionI did all of this on a second smaller stick, then tried to copy just the syslinux folder, but had no luck - the
extlinux --install
seems to be mandatory.Anybody knows what exactly
extlinux --install
does? Can it be done manually or how else could you install a newer version like 6.02 without installing it on to your system?
Got my stick working with the partitions mentioned on BIOS, UEFI and UEFI SecureBoot, hell of a ride, learned a lot, nearly killed 2TB with parted, be careful and good luck.