I ran a regular update (aptitude safe-upgrade) on my wife's server yesterday (a Hetzner root server with Hardware RAID) and the server hasn't booted properly since. I'm able to boot the server using the Hetzner rescue system (which AFAICS is the same as booting a local PC with a live CD), mount the disks and choot in to the system. I've run fsck against each of the partitions and they're all good. Whilst chroot'd in to the OS from the rescue system I've done the following
- Run
grub-install /dev/sda
andgrub-install --recheck /dev/sda
, and each time the command reports success - Removed the new kernel version that was installed in the bad update yesterday (3.2.0-65)
From looking at /var/log/apt/term.log
I can see the following error happened during the upgrade:
Setting up grub-pc (1.99-21ubuntu3.15) ...
/usr/sbin/grub-setup: warn: Attempting to install GRUB to a partition-less 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, blo
cklists are UNRELIABLE and their use is discouraged..
Installation finished. No error reported.
The list of packages that were installed by the update are:
Install: linux-headers-3.2.0-65-generic:amd64 (3.2.0-65.99, automatic), linux-headers-3.2.0-65:amd64 (3.2.0-65.99, automatic), linux-image-3.2.0-65-generic:amd64 (3.2.0-65.99, automatic)
Upgrade: apt-transport-https:amd64 (0.8.16~exp12ubuntu10.16, 0.8.16~exp12ubuntu10.17), iproute:amd64 (20111117-1ubuntu2.1, 20111117-1ubuntu2.3), uuid-runtime:amd64 (2.20.1-1ubuntu3, 2.20.1-1ubuntu3.1), libmount1:amd64 (2.20.1-1ubuntu3, 2.20.1-1ubuntu3.1), libblkid1:amd64 (2.20.1-1ubuntu3, 2.20.1-1ubuntu3.1), libdrm-radeon1:amd64 (2.4.46-1ubuntu0.0.0.1, 2.4.52-1~precise1), libdbus-1-3:amd64 (1.4.18-1ubuntu1.4, 1.4.18-1ubuntu1.5), util-linux:amd64 (2.20.1-1ubuntu3, 2.20.1-1ubuntu3.1), linux-generic:amd64 (3.2.0.61.72, 3.2.0.65.77), libgnutls26:amd64 (2.12.14-5ubuntu3.7, 2.12.14-5ubuntu3.8), libapt-inst1.4:amd64 (0.8.16~exp12ubuntu10.16, 0.8.16~exp12ubuntu10.17), php5-gd:amd64 (5.3.10-1ubuntu3.11, 5.3.10-1ubuntu3.13), grub-pc:amd64 (1.99-21ubuntu3.14, 1.99-21ubuntu3.15), apt-utils:amd64 (0.8.16~exp12ubuntu10.16, 0.8.16~exp12ubuntu10.17), update-manager-core:amd64 (0.156.14.13, 0.156.14.15), linux-firmware:amd64 (1.79.12, 1.79.16), dbus:amd64 (1.4.18-1ubuntu1.4, 1.4.18-1ubuntu1.5), apt:amd64 (0.8.16~exp12ubuntu10.16, 0.8.16~exp12ubuntu10.17), libdrm2:amd64 (2.4.46-1ubuntu0.0.0.1, 2.4.52-1~precise1), ifupdown:amd64 (0.7~beta2ubuntu11, 0.7~beta2ubuntu11.1), bsdutils:amd64 (2.20.1-1ubuntu3, 2.20.1-1ubuntu3.1), libdrm-nouveau1a:amd64 (2.4.46-1ubuntu0.0.0.1, 2.4.52-1~precise1), linux-headers-generic:amd64 (3.2.0.61.72, 3.2.0.65.77), dpkg:amd64 (1.16.1.2ubuntu7.4, 1.16.1.2ubuntu7.5), libdrm-intel1:amd64 (2.4.46-1ubuntu0.0.0.1, 2.4.52-1~precise1), libxml2:amd64 (2.7.8.dfsg-5.1ubuntu4.6, 2.7.8.dfsg-5.1ubuntu4.9), linux-image-generic:amd64 (3.2.0.61.72, 3.2.0.65.77), libapt-pkg4.12:amd64 (0.8.16~exp12ubuntu10.16, 0.8.16~exp12ubuntu10.17), grub-pc-bin:amd64 (1.99-21ubuntu3.14, 1.99-21ubuntu3.15), libuuid1:amd64 (2.20.1-1ubuntu3, 2.20.1-1ubuntu3.1), tzdata:amd64 (2014a-0ubuntu0.12.04, 2014e-0ubuntu0.12.04), gpgv:amd64 (1.4.11-3ubuntu2.5, 1.4.11-3ubuntu2.6), openssl:amd64 (1.0.1-4ubuntu5.13, 1.0.1-4ubuntu5.16), php5-mysql:amd64 (5.3.10-1ubuntu3.11, 5.3.10-1ubuntu3.13), mount:amd64 (2.20.1-1ubuntu3, 2.20.1-1ubuntu3.1), linux-libc-dev:amd64 (3.2.0-61.93, 3.2.0-65.99), grub-common:amd64 (1.99-21ubuntu3.14, 1.99-21ubuntu3.15), grub2-common:amd64 (1.99-21ubuntu3.14, 1.99-21ubuntu3.15), php5-fpm:amd64 (5.3.10-1ubuntu3.11, 5.3.10-1ubuntu3.13), php5-common:amd64 (5.3.10-1ubuntu3.11, 5.3.10-1ubuntu3.13), libssl1.0.0:amd64 (1.0.1-4ubuntu5.13, 1.0.1-4ubuntu5.16), gnupg:amd64 (1.4.11-3ubuntu2.5, 1.4.11-3ubuntu2.6)
Does anyone know of any other steps I could take to rectify this problem before I re-install the entire server?
--EDIT--
Server OS: Ubuntu 12.04
Disk patitioning table:
root@rescue ~ # fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 400.1 GB, 400087408640 bytes
64 heads, 32 sectors/track, 381553 cylinders, total 781420720 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: 0x000d0317
Device Boot Start End Blocks Id System
/dev/sda1 2048 8390656 4194304+ 83 Linux
/dev/sda2 * 8392704 9441280 524288+ 83 Linux
/dev/sda3 9443328 781420719 385988696 83 Linux
Command (m for help):
I manually added the boot flag on sda2, there wasn't one before. I checked another Hetzner server and that's the same.