I am using a Nebula server from where it is only possible to install Ubuntu 16.04 with the kernel 4.4.0-210-generic.
I wish to install a newer version of linux on my instance.
Virtualization
I have tried making a virtual machine from within Ubuntu, (with libvirt) but I get the message:
ERROR Host does not support any virtualization options
However, when I check lscpu
I get:
Virtualisation: VT-x
Using grub and another disk with installable ISO
So then I was thinking that I could try to replace the whole operating system manually from within itself.
I have the power to create new drives for the instance.
So I added a 16GB drive
$ 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 /
and made it an Ubuntu disk with
dd if=ubuntu20.04.iso of=/dev/sda
However, I don't have the power to change the drive to boot from.
- My "old" os drive has the id 0
- my new Ubuntu ISO drive has the id 2
the Nebula configuration is hard-coded to boot from id 0 and I cannot change it.
I checked my system on the /boot
directory and I found that the boot system is GRUB.
So I checked the version
grub-install --version
And it seems to be Grub2
grub-install (GRUB) 2.02~beta2-36ubuntu3.32
I was wondering if it is possible to tell grub to boot into my ubuntu20.04 disk and then install over the disk with id0 called vda
?
Replacing the OS by simply replacing files in the system.
If it is not possible to run an installer, then I was thinking about just replacing the kernel and all the operating system files manually. However, I am pretty sure the system will crash if I replace files that the system I currently using -- but maybe there is a way to do it in a correct order.