скопировировать все на внешний ssd и запустить ubuntu с него, не трогая его grub, т.е с текущего grub-а
Я верно предположил. Ты черезчур все усложнил.
Беглый взгляд на grub.cfg.
menuentry 'Ubuntu 19.04 (19.04) (on /dev/sdb1)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-12e719d8-f2d9-46ab-a3a5-dea65c9df3a6'
Твоя Ubuntu на sdb1.
linux /boot/vmlinuz-5.0.0-16-generic root=UUID=ed4173ee-0fb1-4c3c-a0d4-e4cf91d1afd9 ro quiet
А корневой раздел берет с sda1(судя по УУИД).
Пользователь добавил сообщение 09 Июля 2019, 14:03:52:
"Нормальные герои всегда идут в обход."
Для осуществления задуманного тобой, как минимум два пути.
Простой классический.
Собственно ты по нему пошел. Осталось только заставить 30_os-prober, чтобы при автоматической генерации grub.cfg он подставил правильный УУИД.
Как это сделать я не знаю.
Сложный мой.
Два его основных момента: вместо UUID используется LABEL, вместо 30_os-prober используется 40_custom.
1. Запусти гпартед и разделу sdb1 назначь метку тома, например "hd1_1".
2. В текстовом редакторе, запущенном с правами суперпользователя, открой файл /etc/grub.d/40_custom.
sudo nano /etc/grub.d/40_custom
3. После тех строк, что там уже есть, добавь код:
menuentry "Linux hd1_1" --class ubuntu --class gnu-linux --class gnu --class os {
src='hd1_1'
key="acpi=force $vt_handoff root=LABEL=${src} fastboot noresume quiet"
savedefault
search -n -s -l ${src}
linux /vmlinuz ${key}
initrd /initrd.img
}
Сохрани.
В src - метка тома. Этот раздел будет искать груб и с него будет пытаться запустить систему.
В key - параметры, передаваемые ядру. "acpi=force" и "$vt_handoff" взял из твоего конфига.
"root=LABEL=" - говорит ядру, с какого раздела брать корневую файловую систему.
"noresume" - не останавливается загрузка, при проблемах со свапом.
4. Для генерации нового конфига выполни update-grub.
5. В файле /etc/fstab на разделе sdb1 пропиши монтирование корневого раздела с использованием метки тома:
#UUID=ed4173ee-0fb1-4c3c-a0d4-e4cf91d1afd9 / ext4 errors=remount-ro 0 1
LABEL=hd1_1 / ext4 errors=remount-ro 0 1
Заодно проверь правильность записи о свап-разделе. Временно можео его закомментировать.
Сохрани.
Перезагружайся и пробуй загрузить систему новым пунктом меню "Linux hd1_1".