Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to setup my own home server - headless. It is a Fit-PC2 machine (full tech specs here: http://www.fit-pc.com/web/fit-pc/fit-pc2-specifications/ ) with 160GB HDD so it has limited BIOS settings and infamous Poulsbo graphic card. I killed two days tring to put Debian Squeezy on it. Installation ran okay but GRUB won't get past "Welcome to GRUB!".

I booted LiveCD to edit /etc/default/grub to enable text terminal and ran sudo update-grub2 afterwards. Nothing changed, I could not even find grub.cfg inside /boot! Debian wouldn't boot.

So I gave Ubuntu Server 12.04 LTS a try. I installed it with LVM (one big ext3 partition for main system and 2GB swap. I used ext3 here on purpose for I read there is a bug in GRUB which can cause similar problems under ext4) under LVM group "technodrome". The same error as with Debian. After I turn the machine on, I get only black screen. When holding down Shift, I see message "GRUB loading". That's it.

Again, I used LiveCD to mount /dev/sda and chroot it in order to try terminal setting trick, but this time my whole 160GB drive showed in Ubuntu 10.10 LiveCD as 255 MB partition. I could not mount it. I am royally confused and out of options.

I enclose output of Boot info script for Ubuntu server installation:

                  Boot Info Script 0.61      [1 April 2012]


============================= Boot Info Summary: ===============================

 => Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at sector 1 of 
    the same hard drive for core.img. core.img is at this location and looks 
    for (technodrome-technodrome)/boot/grub on this drive.

sda1: __________________________________________________________________________

    File system:       ext2
    Boot sector type:  -
    Boot sector info: 
    Operating System:  
    Boot files:        /grub/grub.cfg /grub/core.img

sda2: __________________________________________________________________________

    File system:       Extended Partition
    Boot sector type:  -
    Boot sector info: 

sda5: __________________________________________________________________________

    File system:       LVM2_member
    Boot sector type:  -
    Boot sector info: 

============================ Drive/Partition Info: =============================

Drive: sda _____________________________________________________________________

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sda1    *          2,048       499,711       497,664  83 Linux
/dev/sda2             501,758   312,580,095   312,078,338   5 Extended
/dev/sda5             501,760   312,580,095   312,078,336  8e Linux LVM


"blkid" output: ________________________________________________________________

Device           UUID                                   TYPE       LABEL

/dev/loop0                                              squashfs   
/dev/sda1        65e70348-a920-4603-a9da-2867eadfdf76   ext2       
/dev/sda5        m1KgMz-8fsi-UOLw-Qgs4-mYpp-uln2-7E3Na7 LVM2_member 

================================ Mount points: =================================

Device           Mount_Point              Type       Options

/dev/loop0       /rofs                    squashfs   (ro,noatime)
/dev/sda1        /media/65e70348-a920-4603-a9da-2867eadfdf76 ext2       (rw,nosuid,nodev,uhelper=udisks)
/dev/sr0         /cdrom                   iso9660    (ro,noatime)


============================= sda1/grub/grub.cfg: ==============================

--------------------------------------------------------------------------------
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod lvm
insmod part_msdos
insmod ext2
set root='(technodrome-root)'
search --no-floppy --fs-uuid --set=root 61135891-b2f0-438c-be0a-c145bfd48445
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod part_msdos
  insmod ext2
  set root='(hd0,msdos1)'
  search --no-floppy --fs-uuid --set=root 65e70348-a920-4603-a9da-2867eadfdf76
  set locale_dir=($root)/grub/locale
  set lang=en_US
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
    set gfxpayload="$1"
    if [ "$1" = "keep" ]; then
        set vt_handoff=vt.handoff=7
    else
        set vt_handoff=
    fi
}
if [ ${recordfail} != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
menuentry 'Ubuntu, with Linux 3.2.0-23-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 65e70348-a920-4603-a9da-2867eadfdf76
    linux   /vmlinuz-3.2.0-23-generic-pae root=/dev/mapper/technodrome-root ro acpi=off noapic  quiet splash $vt_handoff
    initrd  /initrd.img-3.2.0-23-generic-pae
}
menuentry 'Ubuntu, with Linux 3.2.0-23-generic-pae (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 65e70348-a920-4603-a9da-2867eadfdf76
    echo    'Loading Linux 3.2.0-23-generic-pae ...'
    linux   /vmlinuz-3.2.0-23-generic-pae root=/dev/mapper/technodrome-root ro recovery nomodeset acpi=off noapic
    echo    'Loading initial ramdisk ...'
    initrd  /initrd.img-3.2.0-23-generic-pae
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 65e70348-a920-4603-a9da-2867eadfdf76
    linux16 /memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 65e70348-a920-4603-a9da-2867eadfdf76
    linux16 /memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
if [ "x${timeout}" != "x-1" ]; then
  if keystatus; then
    if keystatus --shift; then
      set timeout=-1
    else
      set timeout=0
    fi
  else
    if sleep --interruptible 3 ; then
      set timeout=0
    fi
  fi
fi
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
--------------------------------------------------------------------------------

=================== sda1: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

   0.195413589 = 0.209823744    grub/core.img                                  2
   0.191498756 = 0.205620224    grub/grub.cfg                                  1
   0.041124344 = 0.044156928    initrd.img-3.2.0-23-generic-pae               62
   0.009570122 = 0.010275840    vmlinuz-3.2.0-23-generic-pae                  22

=============================== StdErr Messages: ===============================

xz: (stdin): Compressed data is corrupt

Gentlemen, please offer your insigts and solutions, because I have freshly ran out of mine. BIG thanks to all of you!

share|improve this question
    
Confirmed working! There was some change made to grub between Lucid and Precise that broke everything. I filed a bug report with Ubuntu, but as we all know, if the problem doesn't affect at least a million plus people, you're going to be ignored. – Hawk Sep 16 '12 at 15:41
up vote 1 down vote accepted

I discovered the solution myself. BIOS must be set to accomodate "Windows XP", not "Other" OS. Only then it works.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .