[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: grub-mkrescue: Problem with MBR partition table at start of EFI part
From: |
Daniel Kiper |
Subject: |
Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition |
Date: |
Thu, 16 May 2019 12:29:30 +0200 |
User-agent: |
NeoMutt/20170113 (1.7.2) |
On Wed, May 15, 2019 at 12:57:58PM +0200, Thomas Schmitt wrote:
> Hi,
>
> > Again, this is an FDD 2880K image and there is no MBR there. Your
> > interpretation is wrong.
>
> In respect to MBR partition table, mformat source has at
> https://sources.debian.org/src/mtools/4.0.23-1/mformat.c/#L1375
> code with this comment:
>
> /* install fake partition table pointing to itself */
OK, but why it is also done for FDD images?
> > What kind of image is used on MS ISO Win image? FDD or HDD one?
>
> Probably FDD (however this might be exactly defined).
> There is a 0xaa 0x55 signature, piossibly x86 boot code, and clearly
> no partition table.
>
> Chris Murphy exposed on
> https://drive.google.com/open?id=1JgPv8EBHDn5A7hTEwewGK1MuFHvHbJnr
> as block 0 of the Microsoft El Torito boot image for EFI:
>
> 00103800 eb 3c 90 4d 53 44 4f 53 35 2e 30 00 02 01 01 00 |.<.MSDOS5.0.....|
> 00103810 02 e0 00 40 0b f0 09 00 12 00 02 00 00 00 00 00 |address@hidden|
> 00103820 00 00 00 00 00 00 29 c0 56 ef 00 45 46 49 53 45 |......).V..EFISE|
> 00103830 43 54 4f 52 20 20 46 41 54 31 32 20 20 20 fa 33 |CTOR FAT12 .3|
> 00103840 c0 8e d0 bc 00 7c 16 07 bb 78 00 36 c5 37 1e 56 |.....|...x.6.7.V|
> 00103850 16 53 bf 3e 7c b9 0b 00 fc f3 a4 06 1f c6 45 fe |.S.>|.........E.|
> 00103860 0f 8b 0e 18 7c 88 4d f9 89 47 02 c7 07 3e 7c fb |....|.M..G...>|.|
> 00103870 cd 13 72 79 33 c0 39 06 13 7c 74 08 8b 0e 13 7c |..ry3.9..|t....||
> 00103880 89 0e 20 7c a0 10 7c f7 26 16 7c 03 06 1c 7c 13 |.. |..|.&.|...|.|
> 00103890 16 1e 7c 03 06 0e 7c 83 d2 00 a3 50 7c 89 16 52 |..|...|....P|..R|
> 001038a0 7c a3 49 7c 89 16 4b 7c b8 20 00 f7 26 11 7c 8b ||.I|..K|. ..&.|.|
> 001038b0 1e 0b 7c 03 c3 48 f7 f3 01 06 49 7c 83 16 4b 7c |..|..H....I|..K||
> 001038c0 00 bb 00 05 8b 16 52 7c a1 50 7c e8 92 00 72 1d |......R|.P|...r.|
> 001038d0 b0 01 e8 ac 00 72 16 8b fb b9 0b 00 be e6 7d f3 |.....r........}.|
> 001038e0 a6 75 0a 8d 7f 20 b9 0b 00 f3 a6 74 18 be 9e 7d |.u... .....t...}|
> 001038f0 e8 5f 00 33 c0 cd 16 5e 1f 8f 04 8f 44 02 cd 19 |._.3...^....D...|
> 00103900 58 58 58 eb e8 8b 47 1a 48 48 8a 1e 0d 7c 32 ff |XXX...G.HH...|2.|
> 00103910 f7 e3 03 06 49 7c 13 16 4b 7c bb 00 07 b9 03 00 |....I|..K|......|
> 00103920 50 52 51 e8 3a 00 72 d8 b0 01 e8 54 00 59 5a 58 |PRQ.:.r....T.YZX|
> 00103930 72 bb 05 01 00 83 d2 00 03 1e 0b 7c e2 e2 8a 2e |r..........|....|
> 00103940 15 7c 8a 16 24 7c 8b 1e 49 7c a1 4b 7c ea 00 00 |.|..$|..I|.K|...|
> 00103950 70 00 ac 0a c0 74 29 b4 0e bb 07 00 cd 10 eb f2 |p....t).........|
> 00103960 3b 16 18 7c 73 19 f7 36 18 7c fe c2 88 16 4f 7c |;..|s..6.|....O||
> 00103970 33 d2 f7 36 1a 7c 88 16 25 7c a3 4d 7c f8 c3 f9 |3..6.|..%|.M|...|
> 00103980 c3 b4 02 8b 16 4d 7c b1 06 d2 e6 0a 36 4f 7c 8b |.....M|.....6O|.|
> 00103990 ca 86 e9 8a 16 24 7c 8a 36 25 7c cd 13 c3 0d 0a |.....$|.6%|.....|
> 001039a0 4e 6f 6e 2d 53 79 73 74 65 6d 20 64 69 73 6b 20 |Non-System disk |
> 001039b0 6f 72 20 64 69 73 6b 20 65 72 72 6f 72 0d 0a 52 |or disk error..R|
> 001039c0 65 70 6c 61 63 65 20 61 6e 64 20 70 72 65 73 73 |eplace and press|
> 001039d0 20 61 6e 79 20 6b 65 79 20 77 68 65 6e 20 72 65 | any key when re|
> 001039e0 61 64 79 0d 0a 00 49 4f 20 20 20 20 20 20 53 59 |ady...IO SY|
> 001039f0 53 4d 53 44 4f 53 20 20 20 53 59 53 00 00 55 aa |SMSDOS SYS..U.|
>
>
> > If FDD then you cannot interpret boot sector as MBR. This is wrong.
>
> It's others who interpret it and at least one takes the "fake" partition
> table entry by mformat for a reason to early stall its boot process.
>
> I just have to explain users of grub-mkrescue ISOs why they don't work.
> The plight of the programmer whose software was the last to touch it.
>
>
> > > The only thing that was found to not work is a MBR partition entry 1 which
> > > starts at LBA 0. Probably it needs to have non-zero block count and
> > > non-zero
> > > type.
>
> > Again, on what type of image? FDD or HDD?
>
> Made by the mformat run of grub-mkrescue.
> Vladimir can probably tell you more about what kind of image he expects.
>
>
> > First of all look at mformat code
>
> I did before starting this thread.
> The bytes in question are intended as "fake" partition table.
>
>
> > If mkfs.fat images work on Macbooks then I would leave mformat as
> > default and add an option to switch between mformat and mkfs.fat.
>
> Why that ? Either mformat's result is ok or it is not.
I would say that in most cases it works but is some it does not. This
is difficult to say right now where is the bug. Is it in Macbook
firmware or in mformat? Anyway, for some reason somebody decided to
create fake partition table even for FDDs. It looks that it confuses
Macbooks but not others. So, first of all I would like to understand why
somebody decided to do that before blindly dropping fake partition
table. I think that you should ask about that mformat folks on relevant
mailing list.
> Offering an alternative could start a new branch of cargo cult. Explaining
> the differences will quickly raise the question why staying with the
> unusual block0 bytes from mformat at all.
First of all I would like to understand the problem and then we will
make a decision what we do.
> I understand that GRUB wants to use a GNU program, and i am careful not
> to spoil anything that works. Thus my proposal as it is.
>
>
> I will not be overly sad if the proposal is rejected. After all it is
I have not rejected your proposal. At this point we are looking for the
best solution for the issue.
> quite easy to override the ideas of grub-mkrescue before the ISO gets
> packed up. In practice, it's preference for GPT makes more problems than
> its preference for mformat.
This is not good idea. I would like to see a fix or at least a kind of
workaround in GRUB upstream.
Daniel
- Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition, (continued)
- Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition, pelzflorian (Florian Pelz), 2019/05/11
- Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition, Thomas Schmitt, 2019/05/11
- Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition, pelzflorian (Florian Pelz), 2019/05/11
- Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition, Thomas Schmitt, 2019/05/11
- Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition, pelzflorian (Florian Pelz), 2019/05/11
- Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition, Thomas Schmitt, 2019/05/11
- Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition, Daniel Kiper, 2019/05/13
- Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition, Thomas Schmitt, 2019/05/14
- Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition, Daniel Kiper, 2019/05/15
- Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition, Thomas Schmitt, 2019/05/15
- Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition,
Daniel Kiper <=
- Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition, Thomas Schmitt, 2019/05/16
- Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition, Daniel Kiper, 2019/05/20
- Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition, Thomas Schmitt, 2019/05/20
- Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition, Thomas Schmitt, 2019/05/14
Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition, Chris Murphy, 2019/05/09
Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition, Michael Schierl, 2019/05/11