So ersetzen Sie das Linux-Betriebssystem von innen heraus

So ersetzen Sie das Linux-Betriebssystem von innen heraus

Ich verwende einen Nebula-Server, von dem aus es nur möglich ist, Ubuntu 16.04 mit dem Kernel 4.4.0-210-generic zu installieren.

Ich möchte eine neuere Linux-Version auf meiner Instanz installieren.

Virtualisierung

Ich habe versucht, eine virtuelle Maschine innerhalb von Ubuntu zu erstellen (mit libvirt), aber ich erhalte die Meldung:

ERROR Host does not support any virtualization options

Beim Überprüfen lscpuerhalte ich jedoch:

Virtualisation:        VT-x

Verwenden von Grub und einer anderen Festplatte mit installierbarem ISO

Also dachte ich, ich könnte versuchen, das gesamte Betriebssystem manuell von innen heraus zu ersetzen.

Ich habe die Berechtigung, neue Laufwerke für die Instanz zu erstellen.

Also habe ich ein 16GB-Laufwerk hinzugefügt

$ 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 /

und machte daraus eine Ubuntu-Diskette mit

dd if=ubuntu20.04.iso of=/dev/sda

Ich kann das Laufwerk, von dem gebootet werden soll, jedoch nicht ändern.

  • Mein "altes" OS-Laufwerk hat die ID 0
  • mein neues Ubuntu ISO-Laufwerk hat die ID 2

die Nebula-Konfiguration ist fest auf den Start mit der ID 0 programmiert und ich kann das nicht ändern.

Ich habe mein System im /bootVerzeichnis überprüft und festgestellt, dass das Bootsystem GRUB ist.

Also habe ich die Version überprüft

grub-install --version

Und es scheint Grub2 zu sein

grub-install (GRUB) 2.02~beta2-36ubuntu3.32

Ich habe mich gefragt, ob es möglich ist, Grub anzuweisen, von meiner Ubuntu20.04-Festplatte zu booten und die Installation dann über die Festplatte mit der ID0 namens durchzuführen vda?

Ersetzen des Betriebssystems durch einfaches Ersetzen von Dateien im System.

Wenn es nicht möglich ist, ein Installationsprogramm auszuführen, habe ich darüber nachgedacht, den Kernel und alle Betriebssystemdateien einfach manuell zu ersetzen. Ich bin mir jedoch ziemlich sicher, dass das System abstürzen wird, wenn ich Dateien ersetze, die das System, das ich gerade verwende, enthält – aber vielleicht gibt es eine Möglichkeit, dies in der richtigen Reihenfolge zu tun.

Antwort1

Ein Upgrade von Ubuntu von einer Version auf eine neuere ist über die Befehlszeile möglich

Die Hauptaufgaben bestehen sudo apt install update-manager-coredarin, das Updater zu installieren. Dann sudo do-release-upgrade.

Sehenhttps://www.cyberciti.biz/faq/upgrade-ubuntu-18-04-to-20-04-lts-using-command-line/

Antwort2

Falls Sie Ihre Ubuntu-Installation nicht aktualisieren können, wie in einer anderen Antwort vorgeschlagen, können Sie GRUB auf Ihre Installationsdiskette verweisen, indem Sie dessen Disk-Identifier (in der Form (hdX, msdosY)oder) erfassen (hdX,gptY)und manuell einen Menüeintrag in /boot/grub/grub-cfg[1] erstellen.

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/
}

Außerdem haben Sie möglicherweise mehr Kontrolle über die Startreihenfolge, als Sie denken: efibootmgr(Dokumente) können verwendet werden, um Startgeräte manuell zu ändern.

Alternativ können Sie neu starten und die GRUB-Befehlszeile manuell aufrufen (mit c) und von dort aus in Ihr Installationsprogramm booten (dies ist allerdings ein einmaliger Vorgang). Anweisungen dazu finden Sie hierHier

[1]https://www.gnu.org/software/grub/manual/grub/grub.html#Multi_002dboot-manual-config

verwandte Informationen