grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: workaround for MS Windows' insanity (ignores partition types / hidde


From: Nicholas Vinson
Subject: Re: workaround for MS Windows' insanity (ignores partition types / hidden flag since 2018)
Date: Mon, 18 Nov 2019 07:01:40 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0

On 11/13/19 18:13, Marcel Partap wrote:
Dear grub devs,
as we have just last week released a hundred of our debian-based 
https://github.com/fsfw-dresden/usb-live-linux/ sticks .. and at the moment are rolling 
out a version for primary schools, I have stumbled over the pure stupidity that is 
Windows 10's handling of partitioned usb drives. As seems abundantly documented, windows 
changed its behaviour sometime last year and now blatantly ignores the hidden flag, 
displaying partitions regardless of type and prominently offering to format non-windows 
filesystems. I was somewhat shocked at this ridiculous demeanour.. After an hour of 
investigating this I found the very sole workaround was to set the partition type to 0 - 
empty/none. This was the only way to windows not show and offer to format partitions 
beyond the exchange FAT partition. Rejoicing, on restart I found out that grub would not 
proceed booting from a partition of type "empty". Now semantically, that is 
totally correct. However, in order to provide us with a coping mechanism for such live 
linux use scenarios, I propose to add a flag that overrides this code:
Why wouldn't the following work?

Partition 1: type: FAT32        Linux mount point:      /boot
Partition 2: type: 0            Linux mount point:      /

The kernel image, initramfs, and all the files GRUB needs to boot are placed in partition 1, the rest of Linux in partition 2. At that point you won't be relying on GRUB to mount partition 2 as your initramfs would be handling it.

Regards,
Nicholas Vinson

   static inline int
   grub_msdos_partition_is_empty (int type)
   {
     return (type == GRUB_PC_PARTITION_TYPE_NONE);
   }
to allow booting from partitions of type 0 empty/none.
This should cause less confusion to the hundreds of young students atm wondering about 
"what the hell is formatting" ..

Best Regards,
#marcel
_______________________________________________
Grub-devel mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/grub-devel


reply via email to

[Prev in Thread] Current Thread [Next in Thread]