Author |
Message |
hrs
|
|
Post subject: warn: GRUB installed using blocklists is UNRELIABLE
Posted: 30.01.2013, 19:32
|
|
Joined: 2012-04-08
Posts: 20
Status: Offline
|
|
Hi,
I just did a dist-upgrade and saw the following:
Code:
/usr/sbin/grub-setup: warn: Attempting to install GRUB to a partitionless disk or to a partition. This is a BAD idea..
/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..
What was different from normal was a dialogue about MD arrays which defaulted to "all". The dialogue said (paraphrasing) that if you don't have any RAID you can replace "all" with "", which I did. Not sure if that has anything to do with with GRUB.
Is there anything I should do about GRUB and where it's installed? |
|
|
|
|
|
slh
|
|
Post subject: RE: warn: GRUB installed using blocklists is UNRELIABLE
Posted: 30.01.2013, 20:04
|
|
Joined: 2010-08-25
Posts: 962
Status: Offline
|
|
If you partitioned your harddisk long ago (~1.5-2 years, which isn't that long), popular partitioning applications defaulted to beginning the partitions at a 512 byte offset, nowadays -in order to provide better alignment to 4k harddisks and SSD erase block sizes- it typically suggests a 2048 byte alignment instead.
The problem now is that grub2's stage1 needs to go into that 'unclaimed' space, which the grub developers call "embedding area", due to supporting modern filesystems grub2's stage1 is unfortunately growing in size. Depending on your local configuration, it might become too small for these 512 byte (of which several bytes aren't usable, be it partition table or well-known windows userspace applications which abuse several bytes of this unclaimed space for their activation data…). Normally, grub2 has basic readonly filesystem drivers (ext[2-4], etc.) to find stage2 and kernel/ initrd based on their filenames - if, for whatever reason, grub2's stage1 doesn't fit into this space anymore, it has to resort to blocklist addressing as a last resort. This blocklist addressing is rather fragile, as they need to be updated whenever the files are moved on the disk (like lilo), therefore -while it certainly works- it's strongly recommended to avoid it.
There are two workarounds for this:
- using GPT partitions tables, rather than MSDOS partition tables, and adding a small "BIOS Boot Partition, 0xEF02" (this only works if you don't dual-boot with windows) or an "EFI System Partition, 0xEF00" (this requires an UEFI compatible mainboard, and if dual-booted with windows at least vista64 SP2 or newer - 32 bit variants don't support UEFI/ GPT).
- repartitioning with 2048 byte offsets (the default of all modern partitioning programs), rather than the traditional 512 bytes - with the drawback that the harddisk needs to be repartitioned/ reformatted.
- with the third 'option' to ignore the warning and keep using blocklist based addressing - fragile, but also 'working'. |
|
|
|
|
|
hrs
|
|
Post subject: RE: warn: GRUB installed using blocklists is UNRELIABLE
Posted: 30.01.2013, 21:34
|
|
Joined: 2012-04-08
Posts: 20
Status: Offline
|
|
Yes it's been at least 2 years since I partitioned the drive. Option 2 seems most flexible and not a big deal since I've got a separate home partition. I only need to repartition / right? It's the first one on the disk.
Thanks for your help.
[edit]
Some more info:
Code:
fdisk -lu /dev/sda
Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0008b8c2
Device Boot Start End Blocks Id System
/dev/sda1 63 31246424 15623181 83 Linux
/dev/sda2 31246486 488392064 228572789+ 5 Extended
/dev/sda5 483829668 488392064 2281198+ 82 Linux swap / Solaris
/dev/sda6 31246551 483829604 226291527 83 Linux
Partition table entries are not in disk order
sda1 is / and sda6 is /home.
[/edit] |
|
|
|
|
|
|
|
|