[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Create legacy bios/uefi dual boot usb stick
From: |
Andrei Borzenkov |
Subject: |
Re: Create legacy bios/uefi dual boot usb stick |
Date: |
Wed, 23 Dec 2015 18:14:06 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 |
23.12.2015 17:12, John Frankish пишет:
>>>>> ..there is no error message, uefi boot works fine, but legacy bios
>>>>> boot fails with an "invalid partition table" error
>>>>>
>>>> Where this error comes from? I do not see this string in GRUB sources
>>>> and it really does not care; it would stop in rescue mode then
>>>>
>>> I guess the error message comes from the machine's bios - the legacy boot
>>> doesn't get as far as starting grub.
>>>
>>>> Recently someone reported problem with booting rescue image on legacy
>>>> BIOS
>>>> - it would refuse to consider medium bootable unless medium has
>>>> *msdos* partition table with active partition. This sounds like it could
>>>> be the reason.
>>>>
>>> I'm not sure I understand - I thought the "EF02 BIOS boot partition"
>>> achieved this aim?
>>>
>>
>> BIOS boot is still GPT partition.
>>
>>> If not, what would the gpt partition table above look like including an
>>> *msdos* partition table with active partition?
>>>
>>
>> You can start with creating standard MSDOS partition table.
>>
>> EFI should be able to boot from it as well; and there is MSDOS partition
>> type reserved for ESP (0xef).
>> Install grub in MBR. If booting still fails, try to mark second partition
>> bootable.
>>
> Thanks, this works:
>
> $ sudo fdisk /dev/sdc
> ...
> Device Boot Start End Blocks Id System
> /dev/sdc1 * 2 128 1020127+ ef EFI (FAT-12/16/32)
Could you do me a favor and test if it also still works without any
active partition?
> /dev/sdc2 129 3797 29471242+ 83 Linux
> ...
> $ sudo x86_64-grub-install --target=x86_64-efi
> --boot-directory=/mnt/sdc1/EFI/BOOT --efi-directory=/mnt/sdc1 --removable
> Installation finished. No error reported.
>
> $ sudo x86_64-grub-install --target=i386-pc
> --boot-directory=/mnt/sdc1/EFI/BOOT /dev/sdc
> Installation finished. No error reported.
>
Hmm ... are sizes above in cylinders?
> ..and both legacy-bios and uefi boot work.
>
There are reports that some EFI systems need GPT ... but I would suggest
to leave it until you actually hit such system.
> I still don't see why this doesn't work on gpt formatted media, but fine..
>
That's the question to your BIOS vendor :) Apparently it tries to be too
smart and "protect" you against errors.
> ...and now (eventually) for the legacy-bios/uefi boot cd/iso ;)
>
If you aim at pure CD (not hybrid CD/HDD image) that is the most easy
part :)