linux /boot/vmlinuz-4.4.0-45-generic root=UUID=... ro persistent quiet nosplash $vt_handoff
Зачем здесь параметр "persistent"? В системе установленной на диск он не нужен. На live-системе сталкивался с такой ситуацией. Ubuntu 14.04.3 и новее, если параметр "persistent" установлен а persistent-файла нет - система не загружалась. Попробуй удалить этот параметр из загрузки.
Предлагаю такой вариант.
1. Подключи диск с Ubuntu. Запусти ее.
2. В файл /etc/grub.d/40_custom добавь следующий код
menuentry "Linux" --class ubuntu --class gnu-linux --class gnu --class
src="uuid-ubuntu-partition"
key="root=UUID=$src nosplash quiet --"
savedefault
insmod part_gpt
insmod gzio
search -u ${src} -n -s
linux /vmlinuz ${key}
initrd /initrd.img
}
menuentry 'Windows 10' --class windows --class os {
src='/EFI/Microsoft/Boot/bootmgfw.efi'
insmod part_gpt
insmod fat
search -f ${src} -n -s
chainloader ${src}
}
Пояснения к коду.
Если на диске таблица разделов "ms-dos", то строку "insmod part_gpt" заменить на "insmod part_msdos"
Для ссылки "Linux" в переменную src вписать UUID раздела ubuntu.
3. В терминале выполнить
update-grub
В меню груб появяться две новые ссылки: "Linux" и "Windows 10". Подключай второй диск. Попробуй загрузить системы новыми ссылками.