Díky moc Tibore, fungovalo to. Taky díky Pataponovi, ale v této chvíli jsem prioritně zkusil to, co mi přišlo rychlejší. Takže tady pro jistotu zrekapituluji celý postup, snad to někomu zachrání probdělou noc
Jen upozornění - tohle NENÍ záchrana vážně rozbitého grub2, ale pouze "zmršené" konfigurace!
1) Před jakýmikoliv experimenty s grub2 si zazálohovat ještě funkční adresář
/etc/grub.d, třeba jen přejmenováním na
/etc/grub-zaloha nebo tak nějak, při záchraně pak před spuštěním
update-grub stačí jen adresáře správně přejmenovat. (Myslím, že ještě lepší by bylo zazálohovat si funkční
/boot/grub/grub.cfg, pak by vůbec nebyl potřeba
chroot a stačilo by nahradit nefunkční
grub.cfg jeho funkční zálohou.)
2) Na záchranu použít LiveUSB se systémem, který odpovídá nainstalovanému systému, tj. 64-bitový systém zachraňovat 64-bitovým LiveUSB, jinak nepůjde
chroot! Já jsem na záchranu systému s Ubuntu 12.04 64-bit použil konkrétně LiveUSB s Ubuntu 12.04.3 64-bit.
Zjištění stavu oddílů na disku:
sudo parted -l
sudo blkid
Po zjištění systémového disku (
/dev/sda3) jsem jej připojil do
/mnt a "chrootnul":
sudo mount -t ext4 /dev/sda3 /mnt
sudo chroot /mnt
Pak ještě připojení oddílů /proc, /sys a /dev:
mount proc
mount sys
mount dev
Pak už jen nahrazení vadného
/etc/grub.d jeho funkční zálohou a spuštění
update-grub:
mv /etc/grub.d /etc/grub.nefunkcni
mv /etc/grub.zaloha /etc/grub.d
update-grub
Po vypnutí notebooku a jeho opětovném zapnutí systém normálně naběhl.
A teď ještě kde byl (možná) zakopaný pes. V tomhle návodu
https://help.ubuntu.com/community/Grub2/Passwords se v určitém místě doporučuje následující úprava do souboru 10_linux:
printf "menuentry '${title}' ${CLASS} --users '' {\n" "${os}" "${version}". Je tam i zdůvodnění, že --users'' má být s apostrofy místo uvozovek právě kvůli hrozícímu "alloc magic is broken". Já jsem použil apostrofy a přesto mě to potkalo
Buď je ten návod zastaralý, anebo byl problém v tom, že jsem mezi --users a první apostrofem neměl mezeru. Nevím, v téhle chvíli to nemám valnou chuť zkoušet znovu.
Mimochodem, pokud někdo víte o spolehlivém návodu na zaheslování recovery položek v boot menu pro Ubuntu 12.04, tak jej sem prosím přidejte