Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I've installed Ubuntu without creating a swap partition and with / on a btrfs.# Now I get the message "Sparse file is not allowed" on each boot. This message appears before the splash-screen. Is there a way to kill this warning?

share|improve this question
add comment

2 Answers

up vote 27 down vote accepted
+50

OK after a bit of rummaging around I found a how-to too get rid of this problem at least temporarily it is fairly simple however I don't have my system set-up with btrfs so I can't confirm this fix.

either comment out or remove this line:

if [ -n ${have_grubenv} ]; then save_env recordfail; fi

or

if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env \
recordfail; fi; fi

in this file

/etc/grub.d/00_header

then run

update-grub

the reason for not editing /boot/grub/grub.cfg directly is that it will be over written every time grub is updated in this case you would only have to "re do" the fix if the grub common packages is updated.

This is the bug on launchpad if you want to add yourself bug #736743

Quoting Colin Watson from the bug report

This is actually a misleading error message: what's happening is that GRUB's btrfs implementation doesn't implement the file read hook interface for returning blocklists to calling code. I posted to grub-devel about this and the upstream maintainer pointed out that, even aside from multi-device problems, writing to btrfs from GRUB is fundamentally risky because:

the same block may be used by multiple snapshots every tree which uses a given block will contain its checksum, and so on recursively

However, btrfs reserves space at the start for the boot loader. This space is more than GRUB needs to embed itself, and so we could use 1KB of it for an environment block.

In any case, this is not a new problem that arose from using subvolumes, nor does it prevent booting (you get a spurious "Press any key to continue" prompt, but if you just ignore it it'll boot anyway). Downgrading to wishlist.

Hope this helps

share|improve this answer
1  
Can you find an explanation as to why it spits out this error to begin with? Thanks. :) –  jrg Feb 17 '12 at 21:31
    
In my config file, the line looks like this: if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env recordfail; fi; fi –  FUZxxl Feb 17 '12 at 22:26
    
I would comment out. If it fails to boot you should still be able to uncomment the line using a live disk –  Allan Feb 17 '12 at 22:57
    
okay. I'm going to try this out. –  FUZxxl Feb 18 '12 at 16:27
2  
Nice, it works! –  FUZxxl Feb 18 '12 at 23:27
show 3 more comments

I'm running al development branch of Raring Ringtail.
I experienced the same problem about a sparse file not allowed message. GRUB not showing at all and booting straight into Ubuntu.

I was reading a Linux Magazine (LXF), which had a few articles about recovering and repairing partitions, files, bootloaders and other stuff.

One of the article writers mentioned a simple tool to be used... Boot-Repair.
This tool did the trick for me and in my opinion should get a prominent place in the repositories of Ubuntu.

Add Boot-Repair to your system:

  1. Open a terminal window and copy/paste/type the following:

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
    
  2. Copy/paste/type the following to install and start Boot-Repair:

    sudo apt-get install -y boot-repair && boot-repair
    
  3. The main GUI of Boot-Repair is visible now.

    Click on a button called 'Recommended repair'.
    

    Let the tool do it's 'magic'.

  4. When the magic spell ends,

    create a little note of the url visible. 
    
  5. Reboot the system and check if you can access your recovered operating systems.

  6. When there's no success use the url showed at the end of the repair to seek help.

share|improve this answer
    
I don't think that helps since this is a bug in grub itself. –  FUZxxl Dec 19 '12 at 11:38
    
Why do you think that? I did several virtual installs of 13.04, all had the same problem. Edited the grub.cfg, no results. That didn't solve the 'sparse file not allowed' message for me at all. GRUB wasn't even visible either. After I tried the solution I provided in my post earlier today, it worked like a charm and still is. –  C Schilder Dec 19 '12 at 16:50
    
thanks a lot - it did the job for me! :) –  user27825 Feb 3 '13 at 11:55
add comment

protected by Community Oct 5 '13 at 17:57

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.