Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Author Message
hrsOffline
Post subject: warn: GRUB installed using blocklists is UNRELIABLE  PostPosted: 30.01.2013, 19:32



Joined: 2012-04-08
Posts: 18

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?
 
 View user's profile Send private message  
Reply with quote Back to top
slhOffline
Post subject: RE: warn: GRUB installed using blocklists is UNRELIABLE  PostPosted: 30.01.2013, 20:04



Joined: 2010-08-25
Posts: 732

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'.
 
 View user's profile Send private message  
Reply with quote Back to top
hrsOffline
Post subject: RE: warn: GRUB installed using blocklists is UNRELIABLE  PostPosted: 30.01.2013, 21:34



Joined: 2012-04-08
Posts: 18

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]
 
 View user's profile Send private message  
Reply with quote Back to top
Display posts from previous:     
Jump to:  
All times are GMT - 12 Hours
Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Powered by Zafenio