내가 사용하는 Nebula 서버는 커널 4.4.0-210-generic과 함께 Ubuntu 16.04만 설치할 수 있습니다.
내 인스턴스에 최신 버전의 Linux를 설치하고 싶습니다.
가상화
Ubuntu에서 libvirt를 사용하여 가상 머신을 생성하려고 시도했지만 다음 메시지가 나타납니다.
ERROR Host does not support any virtualization options
그러나 확인하면 다음과 같은 결과 lscpu
가 나타납니다.
Virtualisation: VT-x
마운트 가능한 ISO와 함께 grub 및 다른 디스크 사용
그래서 내부에서 전체 OS를 수동으로 교체해 볼 수 있겠다는 생각이 들었습니다.
인스턴스에 대한 새 드라이브를 생성할 권한이 있습니다.
그래서 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 /
우분투 디스크로 만드세요
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
제안된 다른 답변에 따라 Ubuntu 설치를 업데이트할 수 없는 경우 (hdX, msdosY)
디스크 식별자( 또는 형식)를 잡고 [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]https://www.gnu.org/software/grub/manual/grub/grub.html#Multi_002dboot-manual-config