私は Nebula サーバーを使用していますが、そこからはカーネル 4.4.0-210-generic の Ubuntu 16.04 のみをインストールできます。
インスタンスに新しいバージョンの Linux をインストールしたいと考えています。
仮想化
Ubuntu 内から (libvirt を使用して) 仮想マシンを作成しようとしましたが、次のメッセージが表示されます:
ERROR Host does not support any virtualization options
しかし、確認してみるとlscpu
次のようになります:
Virtualisation: VT-x
grubとインストール可能なISOを備えた別のディスクを使用する
そこで、オペレーティング システム全体を手動で置き換えてみようと考えました。
インスタンス用に新しいドライブを作成する権限があります。
そこで16GBのドライブを追加しました
$ 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
ただし、起動するドライブを変更する権限がありません。
- 私の「古い」OSドライブのIDは0です
- 私の新しいUbuntu ISOドライブのIDは2です
Nebula の設定は ID 0 から起動するようにハードコードされており、変更できません。
ディレクトリ上のシステムを確認した/boot
ところ、ブート システムは GRUB であることがわかりました。
そこでバージョンを確認しました
grub-install --version
そしてそれはGrub2のようだ
grub-install (GRUB) 2.02~beta2-36ubuntu3.32
grub に ubuntu20.04 ディスクを起動して、id0 という名前のディスクにインストールするように指示することは可能でしょうかvda
?
システム内のファイルを置き換えるだけで OS を置き換えます。
インストーラーを実行できない場合は、カーネルとすべてのオペレーティング システム ファイルを手動で置き換えることを考えていました。ただし、現在使用しているシステムのファイルを置き換えると、システムがクラッシュすることは間違いありません。ただし、正しい順序でそれを実行する方法があるかもしれません。
答え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
(hdX, msdosY)
他の回答で示唆されているようにUbuntuのインストールを更新できない場合は、ディスク識別子(またはの形式で)を取得し、 [1](hdX,gptY)
にメニューエントリを手動で作成することで、GRUBをインストールディスクに向けることができます。/boot/grub/grub-cfg
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 回限りの作業です)。その方法については、ここ
[1]https://www.gnu.org/software/grub/manual/grub/grub.html#Multi_002dboot-manual-config