Dear Maintainer,
*** Reporter, please consider answering these questions, where appropriate ***
* What led up to the situation?
apt-get dist-upgrade ignored the fact that grub2 is pinned to never and
installed grub2 anyway. update-grub promptly installed a bad configuration
file. The pin file is still present.
It is not possible to use UUID search on this system as this will not
result in a sane configuration. There are multiple paths to /, only 1
of which may be used, and the first choice on the list is not it.
* What exactly did you do (or not do) that was effective (or
ineffective)?
apt-get remove grub2
lilo -t && lilo
I know from experience that editing /boot/grub/grub.cfg is futile.
* What was the outcome of this action?
* What outcome did you expect instead?
*** End of the template - remove these template lines ***
So the real problem is grub.cfg contains lines that look like this: search --no-floppy --fs-uuid --set=root d847c628-aa10-4bef-92b6-72ebacc07d7b The probe tries to activate builtin protected-mode drivers, and the drivers "work", so the probe finds two paths to the disk. Both of them are wrong. In fact this error would be harmless, except for grub will later write to the disk (the grub environment block). This desyncs the RAID array. The correct solution is to explicitly specify the driver is to be used.
The problem is /boot/grub/grub.cfg contains lines that look like: search --no-floppy --fs-uuid --set=root d847c628-aa10-4bef-92b6-72ebacc07d7b search doesn't work because it starts the protected mode driver, which finds multiple copies of the disk (because it's a full-disk RAID array), selects one of them to try to use, and access it. Besides the fact that this won't work very well if one of the disks were to develop bad sectors, this is wrong because grub will later write to the environment block, which resets the NVRAM flip-flop, causing the automatic RAID resync to not work anymore. The solution is to specify the device (hd0,1) explicitly everywhere and never use any search directive anywhere in the config file. Device hd0 uses bios 0x13 calls to access the disk, allowing the boot-time RAID driver to do its job until the kernel is loaded.