Bug#589737: Grub2 upadate - multiple partitions on netbook - eeepc, acer aspire, etc

Bill Blair williamsblair at msn.com
Sun Aug 15 11:31:31 UTC 2010


Hi, 

I'm running debian sid/squeeze on an eeepc 1000 with multiple flash
hard-drives. 

I have a separate partition (sda1) for /boot. My /root (sda2) and /home
(sdb1) are also on separate partitions which are encrypted. [see below
partition table for reference] 

The problem started when I recently accepted an update to install grub2
on my machine. After updating the software, I rebooted to the following
error:

Unknown symbol error in grub2 : 'grub_xputs'

I hope this helps anyone else with this problem. I have read  somewhere
that multiple drives will cause problems with grub2. 

Here's what I did to remove the update and restore my system to the
previous grub-legacy.

1. Get the cd which you used to install your system or the current
'live' cd. 
2. Reboot your system and boot from the cd media. 
3. At the splash screen prompt move the indicator from 'Install' past
'Advanced' to 'Help' and press [enter]. 
4. Enter 'rescue' (without quotes) in command prompt 
5. debian installer with blue screen will start. You should see 'Rescue'
in the upper left-hand corner of the screen (you will not partition any
drives in this mode). You will need to select language, location, and
keyboard (English, USA is default).
6. the installer will try to configure the network. You can skip through
this step or continue without configuring when prompted to do so.
7. You should be prompted to drop to shell in /root. You should choose
the partition which /root is mounted on... If your /root is encrypted
like mine, you will also be prompted for the passphrase in order to
mount the partition. 
8. Once you have been dropped into terminal mode [note the '#' symbol at
the left-bottom of screen], mount the partition where your /boot files
are located. In my system, this is partition 'sda1'. Therefore type
(without quotes)#: 'mount /dev/sdXN' [where 'X' is the LETTER and 'N' is
the NUMBER of the boot drive on your system]
9. You will now remove the grub2 update and restore the working
grub-legacy so that you can boot into your system. You must note which
drive letter [NOT NUMBER] will boot your system (on my system, drive
'sdX' is partitioned into two drives. Drive 'sdX1' is the boot drive but
for these purposes, I am interested to install to the MBR (Master Boot
Record) of drive 'sdX' [again drive LETTER, not NUMBER -where 'X'
represents the drive letter which boots your system]   

10. Type the following lines when prompted:

sudo aptitude purge grub2 grub-pc

sudo aptitude install grub

sudo update-grub

sudo grub-install /dev/sdX  [see #9 above, drive letter, not number]

11. reboot system 
12. enjoy your operating system again

below is my partition table as an illustrative example:

Disk /dev/sda: 8069 MB, 8069677056 bytes
255 heads, 63 sectors/track, 981 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x294a294a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          16      120832   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              16         853     6726656   83  Linux
Partition 2 does not end on cylinder boundary.

Disk /dev/sdb: 32.3 GB, 32279224320 bytes
255 heads, 63 sectors/track, 3924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00014367

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        3925    31520768   83  Linux







More information about the Pkg-grub-devel mailing list