First time ever that I have to hide Unix partitions to succeed in installing Linux … and the winner is Ubuntu 10.10 ! Actually hiding wasn’t enough. I had to remove whole partitions entries. DOS based primary/logical partitions are now called (hd0,msdos1), (hd0,msdos2), etc… And BSD slices would have been (hd0, bsd1), (hd0,bsd2) … I guess I saw those names during installation. update-grub failed in three attempts in a row on 2 machines (32 and 64 bit). Everything went fine after I removed the Unix partitions (which are going to be restored by openSUSE legacy Grub ) However … I don’t need to tell you how I feel about grub2 right now. That installation reminds me of W2K madness (against HPFS). >:(
So where did we obtain grub2 from? When you talk about UNIX partitions, what type do you mean? We have ext2, ext3, ext4 and so forth, is Unix something different? It was my understanding that Ubuntu uses grub2 and works with, or at least able to also load, openSUSE. Did you just have a bad session or is grub2 a Total P.O.S.? I was hoping that grub2 would handle newer hard drives and partition types better. It has not sounded easier to setup however.
Thank You,
Can you clarify exactly what you had in place when installing 10.10
I installed it for a few hours alongside Vista and 11.4 and had no problem
Yes it’s different. BSD uses ufs and ufs2 (Unix File System). In the past, Solaris used another kind of ufs. Now it uses zfs. Mac OSX (which is based on FreeBSD) could use ufs but prefers hfs. Not to mention that Linux is slowly starting to use brtfs. It’s not experimental anymore but hasn’t a checkdisk program yet. By default, the Linux kernel has support for the BSD disklabel (it allows him to read the BSD partition table which is written in the first sectors of the BSD primary partition). So BSD primary partitions - with IDs 0xA5(FreeBSD), 0xA6 (OpenBSD) and 0XA9 (NetBSD) are containers, just like the DOS extended partition. Once the kernel has read the disklabel, it creates devices after the last Linux/DOS logical. These ufs and ufs2 partitions can be mounted read/only (by default) under Linux.
Oh yes absolutely!
I was hoping that grub2 would handle newer hard drives and partition types better. It has not sounded easier to setup however.
In some way it does. Bu that’s also the problem: it thinks it’s clever. It’s not particularly complicated to setup. Most users would probably like it.
This is the first HD. The others are similar. I’ve been using such partition schemes for … ever
sfdisk -q -l /dev/sda
Disk /dev/sda: 60801 cylinders, 255 heads, 63 sectors/track
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sda1 0+ 31 32- 257008+ 6 FAT16
/dev/sda2 4603 22360 17758 142641135 a5 FreeBSD
/dev/sda3 22496 28761 6266 50331645 a5 FreeBSD
/dev/sda4 28762+ 60800 32039- 257353237 f W95 Ext'd (LBA)
/dev/sda5 28762+ 29022 261- 2096451 82 Linux swap / Solaris
/dev/sda6 29023+ 29431 409- 3285261 83 Linux
/dev/sda7 29432+ 31520 2089- 16779861 83 Linux
/dev/sda8 31521+ 32303 783- 6289416 83 Linux
/dev/sda9 32304+ 34392 2089- 16779861 83 Linux
/dev/sda10 34393+ 38912 4520- 36306868+ 83 Linux
/dev/sda11 38913+ 39451 539- 4329486 83 Linux
/dev/sda12 39452+ 42006 2555- 20523006 83 Linux
/dev/sda13 42007+ 43059 1053- 8458191 83 Linux
/dev/sda14 43060+ 43842 783- 6289416 83 Linux
/dev/sda15 43843+ 44381 539- 4329486 83 Linux
/dev/sda16 44382+ 46936 2555- 20523006 83 Linux
/dev/sda17 46937+ 47989 1053- 8458191 83 Linux
/dev/sda18 47990+ 48772 783- 6289416 83 Linux
/dev/sda19 48773+ 49311 539- 4329486 83 Linux
/dev/sda20 49312+ 60800 11489- 92285361 83 Linux
/dev/sda21 5125+ 9302- 4178- 33554432
/dev/sda22 9302+ 17661- 8359- 67142325+
/dev/sda23 17661+ 18705- 1045- 8388608
/dev/sda24 18705+ 19749 1045- 8388608
/dev/sda25 4603 5125- 523- 4194304
/dev/sda26 20272+ 22360 2089- 16778553+
/dev/sda27 19750 20272- 523- 4194304
/dev/sda28 22496 23018- 523- 4194304
/dev/sda29 23018+ 23540- 523- 4194304
/dev/sda30 23540+ 25628 2089- 16777214+
/dev/sda31 25629 26151- 523- 4194304
/dev/sda32 26151+ 28239- 2089- 16777216
/dev/sda33 28239+ 28761- 523- 4194301
The partitions after sda20 are ufs and ufs2. I never had problems with Grub2 in previous Ubuntu releases. At the end of the installation, update-grub scans all partitions of all disks. It does (more or less) a good job with all Linux it finds. As I posted in @avenuemax’s thread, there are still a couple parsing errors with Mandriva based distros syntax, but it would be easy to fix (if somebody would care about that). Now it scans the ufs partitions too, call them bsd7, bsd8 (as opposed to msdos11, msdos12, etc for DOS logicals) but hangs. Here’s a typical Ubuntu 10.10 Grub2 entry:
menuentry "openSUSE 11.3 (Teal) - kernel 2.6.34.7-0.3 (on /dev/sda11)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos11)'
search --no-floppy --fs-uuid --set 316bc15c-b355-4857-98e2-3c623651c1c9
linux /boot/vmlinuz-2.6.34.7-0.3-desktop root=/dev/disk/by-uuid/316bc15c-b355-4857-98e2-3c623651c1c9 resume=/dev/disk/by-uuid/3ee92cf0-d362-44e8-92bc-cf629f6537b6 splash=silent quiet showopts vga=0x31a
initrd /boot/initrd-2.6.34.7-0.3-desktop
}
I did reinstall 3 times on two different machines. Same problem at the same point: update-grub … Then I applied an old trick I used a lot years ago to foul Windows setup on system with OS/2 HPFS partitions: changing partition IDs. But it didn’t work. Grub2 still read the BSD disklabel - didn’t seem to care about partition IDs (that’s why I said it became too clever) - scanned the ufs partitions … expected FreeBSD kernels, might have found OpenBSD and NetBSD kernels and got totally confused. Finally I removed all FreeBSD entries from all disks (as just faking the ID wasn’t enough). Then it was ok of course. But this is the first time ever I have to use such tricks in order to install Linux.
I still don’t know yet - but probably tomorrow or in a couple days - whether or not update-grub is going to work either manually or automatically after a kernel update on HDs with BSD disklabels. If not, I will have to fill BSD partitions entries with 0 and let the kernel reread the partitions tables before running update-grub (or doing a kernel update) but I’m not going to like that.
please_try_again, you take the prize for the most number of partitions that I have ever seen on one hard disk. If any normal user came in with such a setup on a single hard drive I would think that perhaps they had went crazy or something. With your expertise in the many different partition types, have you thought about joining or volunteering for the Grub2 development? There is no way for me to know of the time required or how well received a new person might be but of all of the people I have worked with, your knowledge needs to be included in the grub2 development. You need to think about and see if you could help them out.
Thank You,
@please_try_again](http://forums-opensuse.provo.novell…/…/members/please_try_again.html)
deinstall the grub2 helper package os-prober from ubuntu, instead edit manually /etc/grub.d/40_custom, as nearly every modern distribution installs a symlink to the latest kernel, you should be able to use an fixed entry which also makes any further update-grub unnecessary (this example is using a partition label, you won’t need grub2 set root):
menuentry “Desktop openSUSE 11.3” {
insmod ext2
search --no-floppy --label --set suse113
linux /boot/vmlinuz root=/dev/disk/by-label/suse113
initrd /boot/initrd
}
Actually there would be about 15 more partitions if I were using the ‘real’ disklbabels. I converted OpenBSD and NetBSD disklabels into FreeBSD in order to reduce the number of partitions seen by Linux, as FreeBSD disklabel is limited to 8 partitions (16 for the others). But FreeBSD can also read the DOS extended partition and the others can not. Basically, from a Linux kernel point of vue, you could see the extended partitions and the 2 primary FreeBSD partitions as 3 extended ones.
It is an unconventional setup for sure. But it is also a bug, IMHO, in Grub2. Or let’s say it’s a feature which turns out to be a bug when it comes to scan ufs partitions. I wish Grub2 would just ignore these partitions or take partitions IDs in consideration. I we cannot prevent programs from scanning partitions by changing their ID, what are partitions IDs good for?
However I’m certainly not the only one using (among others) openSUSE + Ubuntu + FreeBSD (or having a partition table which might let Grub2 think so). I would like to ask if anybody having one 0xA5 partition (or better two - but that leaves even less people!) has had trouble installing Ubuntu 10.10 (There were NO problem with 10.04 and others since Grub2 has been included in Ubuntu).
So basically, here’s what I get while running update-grub manually on Ubuntu 10.10. The list is much longer than the snip below.
/usr/sbin/grub-probe: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd1).
/usr/sbin/grub-probe: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd2).
/usr/sbin/grub-probe: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd4).
/usr/sbin/grub-probe: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd5).
/usr/sbin/grub-probe: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd6).
/usr/sbin/grub-probe: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd7).
/usr/sbin/grub-probe: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd8).
/usr/sbin/grub-probe: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd9).
/usr/sbin/grub-probe: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd10).
/usr/sbin/grub-probe: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd11).
/usr/sbin/grub-probe: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd12).
/usr/sbin/grub-probe: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd14).
/usr/sbin/grub-probe: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd15).
...
Despite these warnings, update-grub succeeds on a running system, but it failed every time during the installation, so I wasn’t able to run the installation to the end until I zero-filled the BSD entries in the partition table.
Otherwise I can mount all partitions withouth trouble. The kernel reads the disklabels correctly. That must be a new feature in Grub2 which is still at the bug stage.
/dev/sda21 on /usr/local/mnt/bsd/opt type ufs (ro,ufstype=44bsd)
/dev/sda22 on /usr/local/mnt/bsd/srv type ufs (ro,ufstype=44bsd)
/dev/sda23 on /usr/local/mnt/bsd/share type ufs (ro,ufstype=44bsd)
/dev/sda24 on /usr/local/mnt/bsd/home type ufs (ro,ufstype=44bsd)
/dev/sdb14 on /usr/local/mnt/bsd/src type ufs (ro,ufstype=44bsd)
/dev/sdb15 on /usr/local/mnt/bsd/data type ufs (ro,ufstype=44bsd)
/dev/sdb16 on /usr/local/mnt/bsd/home2 type ufs (ro,ufstype=44bsd)
/dev/sdb19 on /usr/local/mnt/bsd/tmp2 type ufs (ro,ufstype=44bsd)
/dev/sda25 on /usr/local/mnt/openbsd type ufs (ro,ufstype=44bsd)
/dev/sda26 on /usr/local/mnt/openbsd/usr type ufs (ro,ufstype=44bsd)
/dev/sda27 on /usr/local/mnt/openbsd/var type ufs (ro,ufstype=44bsd)
/dev/sdb17 on /usr/local/mnt/openbsd/alt type ufs (ro,ufstype=44bsd)
/dev/sdb18 on /usr/local/mnt/openbsd/alt/var type ufs (ro,ufstype=44bsd)
/dev/sda28 on /usr/local/mnt/freebsd type ufs (ro,ufstype=44bsd)
/dev/sda29 on /usr/local/mnt/freebsd/var type ufs (ro,ufstype=44bsd)
/dev/sda30 on /usr/local/mnt/freebsd/usr type ufs (ro,ufstype=44bsd)
/dev/sdb20 on /usr/local/mnt/freebsd/alt type ufs (ro,ufstype=44bsd)
/dev/sdb22 on /usr/local/mnt/freebsd/alt/var type ufs (ro,ufstype=44bsd)
/dev/sdb23 on /usr/local/mnt/freebsd/alt/usr type ufs (ro,ufstype=44bsd)
/dev/sda31 on /usr/local/mnt/netbsd type ufs (ro,ufstype=44bsd)
/dev/sda32 on /usr/local/mnt/netbsd/usr type ufs (ro,ufstype=44bsd)
/dev/sda33 on /usr/local/mnt/netbsd/var type ufs (ro,ufstype=44bsd)
/dev/sdb24 on /usr/local/mnt/netbsd/alt type ufs (ro,ufstype=44bsd)
/dev/sdb25 on /usr/local/mnt/netbsd/alt/var type ufs (ro,ufstype=ufs2)
So when do we really expect to need to know how to use Grub2 please_try_again? Every time I start to read about it, my head starts spinning and it was doing this way before Halloween was close at hand. Here is a typical Grub2 article:
GRUB 2 bootloader - Full tutorial
I keep asking myself why is this better? Why can’t we have an easy to edit menu with an application that might work with newer hard drives? I guess I just don’t get it right now.
Thank You,
I don’t know, James. I’m afraid sooner or later. But Grub2 is not really out of topic here since a lot of people dual boot with Ubuntu.
IMO it is not. The question is not if I prefer legacy Grub, I need legacy Grub. If I had only Grub2, I won’t be able to rewrite entries in the partition table, as I do with legacy Grub, because the fonction partnew has been removed. So something like the example below is totally impossible with Grub2:
###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.3 (Teal) - kernel 2.6.34.7-0.4 (Desktop)
partnew (hd0,0) 0x06 63 514017
partnew (hd0,1) 0xA5 73947195 285282270
partnew (hd0,2) 0xA5 361398240 100663290
partnew (hd1,1) 0xA5 18539010 534016665
partnew (hd1,2) 0xA5 554724450 79698465
root (hd0,10)
kernel /boot/vmlinuz-2.6.34.7-0.4-desktop root=/dev/disk/by-uuid/316bc15c-b355-4857-98e2-3c623651c1c9 resume=/dev/disk/by-uuid/3ee92cf0-d362-44e8-92bc-cf629f6537b6 splash=silent quiet showopts vga=0x31a
initrd /boot/initrd-2.6.34.7-0.4-desktop
###Don't change this comment - YaST2 identifier: Original name: OpenBSD###
title OpenBSD 4.7
partnew (hd0,0) 0x06 63 514017
partnew (hd0,1) 0xA6 317283750 41945715
partnew (hd0,2) 0xA9 411729885 50331645
partnew (hd1,1) 0xA6 510609960 41945715
partnew (hd1,2) 0xA9 605056095 29366820
rootnoverify (hd0,1)
makeactive
chainloader +1
###Don't change this comment - YaST2 identifier: Original name: FreeBSD###
title FreeBSD 7.2
partnew (hd0,0) 0xA5 514080 73433115
partnew (hd0,1) 0xA5 73947195 285282270
partnew (hd0,2) 0xA5 361398240 100663290
partnew (hd1,1) 0xA5 18539010 534016665
partnew (hd1,2) 0xA5 554724450 79698465
rootnoverify (hd0,2)
makeactive
chainloader +1
###Don't change this comment - YaST2 identifier: Original name: DragonFly###
title DragonFly 2.4.1
partnew (hd0,0) 0x06 63 514017
partnew (hd0,1) 0xA5 2682855 356546610
partnew (hd0,2) 0xA5 359229465 102832065
partnew (hd1,1) 0xA5 514080 552041595
partnew (hd1,2) 0xA5 552555675 81867240
rootnoverify (hd0,1)
makeactive
chainloader +1
I’m aware that very few people rewrite partition tables on the fly (as my wife always says: “You’re one out of six!”). Anyway, the fact is that I need at least one legacy Grub to do that job and I hope openSUSE will keep using it. That feature is the only thing I miss in Grub2. So I can understand hat people who don’t need it prefer Grub2. The fact that it scans ufs partitions without really (or rather properly) knowing what to do with them is annoying too. Otherwise, if it just gets about dual or multibooting Linux and Windows, it more or less does the job as you would expect. update-grub is not bad for the average user. I just wish it would ignore Unix partitions. Having to remove partitions to fool setups before installing an operating system is not fun. I applied the trick many times because of Windows (no comment on that one!), but having to do that with Linux (even Ubuntu) is a shame.
(as my wife always says: “You’re one out of six!”)
So please_try_again, I have no idea where Risa is in this whole wide world of ours, but if every sixth person is just like you there, it must be a very unusual place indeed. lol!
Thank You,
It is a very unusual place.
I do the basically same thing with my hdd but use “PLOP” installed into the first track of hdd to select what partitions I want in the master partition table, before booting into Grub2 or MS Windows.
Well jd take a look at what his guy did on his HD’s. A grub menu booting 100+ systems of Dos, Windows, Linux, BSD and Solaris - JustLinux Forums
Never in my dreams could I have the time for this 100+ systems on one computer.
brad455, if my job was writing about and reviewing the many Linux distros, then maybe I could justify such a setup with 100 partitions. But no normal person would do this and No normal setup will boot this.
So I dual boot my computers and even have one that can be triple booted, but all I really use is one copy of openSUSE 11.3 and one copy of openSUSE 11.2 and trying to keep these two computers up to date on what I am doing seems like a full time time. Imagine being asked the last time you updated Distro #97, Ubuntu version 9.10 out of 100 distros loaded.
Good luck on that one.
Thank You,
Yea no joke. I have 3 laptops and 2 desktops and I just update them once a month any more than that and I would be doing nothing but updating. LOL
It must have taken that dude a month to get them all on there, and just think if you messed up #99 and it screwed your other ones up man that would make me so mad. But I guess you should know what you are doing after about 4 or 5.
Hi! I reopen this old thread because I had to install Grub2 on a partition boot sector to take a look at the bootloader. Now I have an explanation and half of a solution.
The error doesn’t come from os-prober. os-prober is an optional program used to refresh the Grub menu. I didn’t get that far as I could not even install Grub. The error comes from grub-setup:
/usr/sbin/grub-setup: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd7).
/usr/sbin/grub-setup: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd8).
/usr/sbin/grub-setup: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd9).
/usr/sbin/grub-setup: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd10).
/usr/sbin/grub-setup: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd11).
/usr/sbin/grub-setup: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd12).
/usr/sbin/grub-setup: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd14).
/usr/sbin/grub-setup: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd15).
/usr/sbin/grub-setup: warn: Discarding improperly nested partition (hd0,msdos2,bsd8,bsd16).
/usr/sbin/grub-setup: warn: Discarding improperly nested partition (hd0,msdos3,bsd6,bsd2).
/usr/sbin/grub-setup: warn: Discarding improperly nested partition (hd0,msdos3,bsd6,bsd4).
/usr/sbin/grub-setup: warn: Discarding improperly nested partition (hd0,msdos3,bsd6,bsd5).
/usr/sbin/grub-setup: warn: Discarding improperly nested partition (hd0,msdos3,bsd6,bsd6).
/usr/sbin/grub-setup: warn: Discarding improperly nested partition (hd0,msdos3,bsd6,bsd7).
/usr/sbin/grub-setup: warn: Discarding improperly nested partition (hd0,msdos3,bsd6,bsd8).
/usr/sbin/grub-setup: warn: Discarding improperly nested partition (hd0,msdos3,bsd6,bsd9).
etc ...
And finally :
/usr/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
/usr/sbin/grub-setup: error: if you really want blocklists, use --force.
Using the –force option worked indeed. But you can not do that during Ubuntu setup. At least it allows to install Grub2 without removing Unix partition table entries from the partition table. Another possibility would be to boot a Linux kernel without BSD label support … but all Linux kernel can read BSD partitions for many years. I don’t remember if I changed the partitions IDs. I probably did, since it is the first trick I would have tried and it didn’t help.
However I have to admit that my BSD disklabels are pretty ‘unique’ - since the same slices appear several times in different disklabels. That might explain why Linux doesn’t like it. I never had problem with Ubuntu installs prior to maverick though. Will see what nasty ( lol! ) will do… but I’m already prepared for the worst.