Авторитетно утверждаю - init=/bin/bash это решение.
Проверил только что. Поневоле

Рассказываю подробно.
Загрузился с init=/bin/bash первый раз, смонтировал корень rw. Отредактировал /etc/passwd чтобы проверить. Записал (на самом деле вставил и удалил строку в конце), НО! Забыл сделать sync и просто кнопкой выключил ноутбук.
При перезагрузке - не загрузился. При попытке загрузиться в single на терминал сыпались какие-то (не суть) ошибки про D-Bus.
Чистота эксперимента былоа полная - лайвCD у меня нашелся только 8.10, а корень - ext4, которую этот лайвCD не знает.
Гружусь с init=/bin/bash еще раз, и вижу, что /etc/passwd просто пустой. Вообще.
Перемонтирую корень в rw (mount -o remount,rw /dev/sda4 / ), копирую cp /etc/passwd- /etc/passwd и правлю ему разрешения chmod 644 /etc/passwd
При перезагрузке - вуаля, все нормально.
Итого: метод рабочий 100%.
Резюме: не забывайте делать sync...
