Я использую сервер Nebula, с которого можно установить только Ubuntu 16.04 с ядром 4.4.0-210-generic.
Я хочу установить на свой экземпляр более новую версию Linux.
Виртуализация
Я попытался создать виртуальную машину из Ubuntu (с помощью libvirt), но получил сообщение:
ERROR Host does not support any virtualization options
Однако при проверке lscpu
я получаю:
Virtualisation: VT-x
Использование grub и другого диска с устанавливаемым ISO
Тогда я подумал, что могу попробовать заменить всю операционную систему вручную, изнутри нее самой.
У меня есть возможность создавать новые диски для экземпляра.
Поэтому я добавил диск на 16 ГБ.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 16G 0 disk
├─sda1 8:1 0 2,9G 0 part
└─sda2 8:2 0 3,9M 0 part
sr0 11:0 1 364K 0 rom
vda 253:0 0 500G 0 disk
└─vda1 253:1 0 500G 0 part /
и сделал его диском Ubuntu с
dd if=ubuntu20.04.iso of=/dev/sda
Однако у меня нет возможности сменить диск для загрузки.
- Мой «старый» диск ОС имеет идентификатор 0
- мой новый диск Ubuntu ISO имеет идентификатор 2
Конфигурация Nebula жестко запрограммирована на загрузку с идентификатора 0, и я не могу это изменить.
Я проверил свою систему в /boot
каталоге и обнаружил, что загрузочная система — GRUB.
Итак, я проверил версию.
grub-install --version
И это, кажется, Grub2
grub-install (GRUB) 2.02~beta2-36ubuntu3.32
Мне было интересно, можно ли заставить grub загрузиться с моего диска ubuntu20.04, а затем установить его на диск с именем id0 vda
?
Замена ОС путем простой замены файлов в системе.
Если невозможно запустить установщик, то я думал просто заменить ядро и все файлы операционной системы вручную. Однако я почти уверен, что система рухнет, если я заменю файлы, которые в настоящее время использует система -- но, возможно, есть способ сделать это в правильном порядке.
решение1
Обновление Ubuntu с версии на более новую возможно из командной строки
Основные задачи sudo apt install update-manager-core
это установить программу обновления. Затем sudo do-release-upgrade
.
Видетьhttps://www.cyberciti.biz/faq/upgrade-ubuntu-18-04-to-20-04-lts-using-command-line/
решение2
Если вы не можете обновить свою установку Ubuntu, как предлагается в другом ответе, вы можете указать GRUB на свой установочный диск, взяв его идентификатор диска (в форме (hdX, msdosY)
или (hdX,gptY)
и вручную создав пункт меню в /boot/grub/grub-cfg
[1]
menuentry "New Ubuntu Install Disk" {
search --set=root --label GRUB --hint hdX,msdosY
linux /path/to/vmlinuz #likely in /boot/
initrd /path/to/initrd #also likely in /boot/
}
Также, возможно, у вас больше контроля над порядком загрузки, чем вы думаете: efibootmgr
(документы) можно использовать для ручного изменения загрузочных устройств.
В качестве альтернативы вы можете перезагрузиться и вручную ввести командную строку GRUB (с помощью c
), а затем загрузиться в свой установщик оттуда (хотя это одноразовое действие). Инструкции о том, как это сделатьздесь
[1]https://www.gnu.org/software/grub/manual/grub/grub.html#Multi_002dboot-manual-config