Команди нижче є більш загальними, ніж лише для версії ядра 3.13.0-35.
1. Встановіть розділ efi та скопіюйте туди файли ядра
$ mount /dev/sda3 /boot/efi
$ mkdir -pv /boot/efi/EFI/ubuntu/
$ cp -uv /boot/vmlinuz-* /boot/initrd.img-* /boot/efi/EFI/ubuntu/
'/boot/vmlinuz-3.13.0-35-generic' -> '/boot/efi/EFI/ubuntu/vmlinuz-3.13.0-35-generic'
'/boot/initrd.img-3.13.0-35-generic' -> '/boot/efi/EFI/ubuntu/initrd.img-3.13.0-35-generic'
2. Змініть ім’я файлу ядра
Скоротіть ім’я файлу ядра, видаливши, -generic
оскільки , здається, існує обмеження довжини шляху до 39 символів, і перейменувати файли ядра, щоб закінчити .efi
, це забезпечує сумісність з більшістю систем
$ for f in /boot/efi/EFI/ubuntu/vmlinuz-*-generic; do mv -uv -- "$f" "${f//-generic/}.efi"; done
'/boot/efi/EFI/ubuntu/vmlinuz-3.13.0-35-generic' -> '/boot/efi/EFI/ubuntu/vmlinuz-3.13.0-35-generic.efi'`
Скорочення названого файлу ядра вище імені недостатньо для dpkg
встановленого ядра основної лінії , оскільки, наприклад, /EFI/ubuntu/vmlinuz-3.16.0-031600rc6.efi
без -generic
ще 40 символів.
3. Додати новий запис у меню завантаження EFI
Замініть 3.13.0-35
в цьому прикладі свою конкретну версію ядра
$ kv=3.13.0-35;efibootmgr -c -p 3 -L $kv -l \EFI\ubuntu\vmlinuz-$kv.efi -u root=/dev/sda1 initrd=\\EFI\\ubuntu\\initrd.img-$kv-generic ro rootfstype=ext4 debug ignore_loglevel libata.force=dump_id crashkernel=384M-:128M
Цей новий запис меню завантаження стане новим вибором завантаження за замовчуванням.
Ви , можливо , не потрібні додаткові параметри налагодження debug
, ignore_loglevel
, libata.force=dump_id
і crashkernel=384M-:128M
. Initrd
повинно бути присутнім, інакше завантажувальний пристрій висить на " Переключений на тактовий ресурс tsc. ", тому що кореневий пристрій sda1 неможливо відкрити.