Replies: 16 comments 4 replies
-
Not quite sure. I just press the '-' key on such unwanted items. Will investigate these at some point |
Beta Was this translation helpful? Give feedback.
-
Just out of interest, do you mean to say the behaviour in RefindPlus is different to rEFInd on this? As an aside, you shouldn't need to load an ISO-9660 driver on a Mac as this has been part of the firmware since the |
Beta Was this translation helpful? Give feedback.
-
I think this nuisance has always been there. |
Beta Was this translation helpful? Give feedback.
-
While working on this I created #131 which may or may not be related. I have not been able to find anything that shows a hybrid table for the internal disks, only shows as GPT, and RP AA did not, AB/AC does. I removed the ISO driver. Thanks. I will test Refind, and look into linux utilities. |
Beta Was this translation helpful? Give feedback.
-
BTW, the reason for this is that I was looking for things to speed up RP time when booting the USB which has multiple Linux's and gparted. I tested Refind and it displays that same erroneous entry on the screen. Linux parted, sfdisk, and fdisk showed as GPT. However, gdisk has a line "MBR: Protective". So it may be a macOS thing, but strange Refind sees it as a bootable partition. If Refind/RP does not find a module to boot, should it not list it? |
Beta Was this translation helpful? Give feedback.
-
Protective MBR is not an issue and basically standard. The issue is as described. rEFIt variants id disk types by looking for "magic" values which should only be present for that type but is apparently not always the case. |
Beta Was this translation helpful? Give feedback.
-
I would use I made dumpvols.sh to look at problems like this while I was playing with Windows XP, Windows Vista, and Windows 7, and FreeDOS partitions on my Mac Pro 2008. Then I replaced Windows XP and Vista with Windows 8 and 10. My Linux partitions boot using EFI. |
Beta Was this translation helpful? Give feedback.
-
Took a quick look and it seems at first glance that EXFAT formatted disks that do not contain any bootable legacy volumes are likely to end up being considered as being bootable. |
Beta Was this translation helpful? Give feedback.
-
Indeed but it is being taken into consideration here on Macs: Later on, for Macs and others, it checks whether a Whole Disk Volume has any legacy items and hides it if so. I got it wrong at the first look though ... the attempt is to exclude EXFAT: So, if this matches on a Mac and the disk is not EXFAT and it later turns out the Whole Disk does not have loaders, it assumes the Whole Disk item is bootable: Presumably that is what is happening here ... potentially due to this:
|
Beta Was this translation helpful? Give feedback.
-
I executed commands on the USB and, however disk0 will not permit operation, but got disk1 to compare to disk5 (USB) which is the problem. The extra entry only shows up when using the USB stick. The USB stick block 0 is nothing that is expected. Disk1 is much closer to yours. Something is strange on the USB stick I guess. BTW, I have 2 of USBs identical so they do the same thing. I wonder if installing GParted could have caused this? Also wonder if I can just copy block 0 of disk1 to disk5 to fix it? Here is my output for the USB stick:
Compare that to an internal drive:
|
Beta Was this translation helpful? Give feedback.
-
Problem solved by : sudo dd if=/dev/disk1 count=1 of=/dev/disk5 When I created the USB, the OpenSUSE, Tumbleweed, and ElementaryOS partitions were created then loaded via rsync. But I don't remember how I created the GParted partition and think that was the cause of the issue, probably loading that code into block 0. That useless entry no longer shows up in RP menu. Thanks for all your help guiding me to a solution! Also, it seems since something was there RP was correct displaying the menu. I think it did not work/boot because it was BIOS code which won't run on a Mac. |
Beta Was this translation helpful? Give feedback.
-
That is not just what is done though. There are hundreds of lines of code dedicated to determining whether an MBR table exists and whether/how this is populated. Everytime a disk is "wrongly" presented, it is because something has filled the MBR table with boot code. A lot of what it done in the code is filtering spurious cases out. |
Beta Was this translation helpful? Give feedback.
-
In this particular case, it is possible to add something to filter it out by excluding stuff that contain strings it contains such as All in all, it seems it already does a reasonable job of determining what is really bootable and for those that have written stuff that can't be booted and are not covered, it is a simple one-time action to click the Upstream might have more capacity to check and update the filters however. |
Beta Was this translation helpful? Give feedback.
-
NTLDR or BOOTMGR are things that the code of the VBR of a Windows partition would look for. Anything can put boot code in the MBR. grub for legacy BIOS boot of linux has boot code for the MBR. The boot code in the MBR (whether it's installed by Windows or Linux) usually just jumps to the boot code that's in the first block of a partition (VBR) that is marked as active in the MBR. The boot code can do anything it wants - it could ignore the partition table and do something else - which means an MBR doesn't need to have a partition table. Since the boot code can do anything, rEFInd can't determine what the boot code needs to work, so rEFInd needs to assume that it does work and will boot something if the Mac or PC supports legacy BIOS boot. There should be no filters on the contents of the boot code - if it's not zero then it's code. Older Macs support legacy BIOS boot via a BootCamp executable in EFI which rEFInd knows about and can look for. These older Macs can boot Linux with EFI since Linux knows how to work with the old EFI version. Extra work is needed for these old Macs to boot Windows using UEFI but people have done it (SSDT patching via something like Open Core is required for some things like audio). Newer Macs don't have the BootCamp executable so rEFInd shouldn't show a legacy BIOS boot in that case. These newer Macs use UEFI to boot Linux and Windows. PCs support legacy BIOS boot via a standard UEFI method which rEFInd knows about. rEFInd may look at the boot code of a VBR to determine what kind of OS is installed to a partition. If there's a file system driver for the partition then rEFInd can look for certain files to determine the OS. rEFInd can either legacy BIOS boot a partition (if the MBR and VBR has boot code) or it can EFI boot a partition. For legacy BIOS boot of a selected partition, rEFInd does have an option to allow changing the active partition of an MBR. |
Beta Was this translation helpful? Give feedback.
-
When doing partitioning, I usually just do it in macOS. |
Beta Was this translation helpful? Give feedback.
-
Windows is easy and already covered:
Indeed.
Correct, but some filters, such as the It does comes with the risk of disabling something else and should really not be done indeed. |
Beta Was this translation helpful? Give feedback.
-
Head scratcher: When booting from a USB stick that has multiple Linux systems in BTRFS, and a Gparted partition. The menu adds an option at the end of the display list on the screen to boot the whole disk in BIOS, of course this does not work. The log shows it found legacy boot code but I looked at the EFI partition and the gparted partition and found nothing. I ran gparted and it shows as GPT only, not a hybrid GPT/MBR table which RP shows. I cannot find anything in the log to direct me to not display that entry. I don't think this is a bug but something I am missing. The log is attached.
22x07w4315.log
Beta Was this translation helpful? Give feedback.
All reactions