Ubuntu Server VM ヘッドレスの作成

Ubuntu Server VM ヘッドレスの作成

ターミナル/フルヘッドレスを使用してUbuntuデスクトップホストにUbuntu Serverゲストをインストールして実行する方法はvboxmanage? (これは初期のUbuntuサーバー設定の場合でもGUIがまったくないことを意味します。)

apt-get update私の目標は、TUI(テキストユーザーインターフェイス)ゲスト(ゲストと同じようにコマンドを実行)のみを使用し、ホスト(ゲストからホストへのファイル転送)用の共有フォルダを使用することです。

これは、仮想マシン(VM)を作成して起動するためにこれまでに持っていたスクリプトです。

vm_iso="ubuntu-server-20.04.iso"
vm_name="UbuntuServerTest"
vm_vdi="$HOME/virtualbox/${vm_name}.vdi"

curl -o "$vm_iso" "https://releases.ubuntu.com/20.04.4/ubuntu-20.04.4-live-server-amd64.iso"

vboxmanage createvm \
    --ostype Ubuntu_64 \
    --basefolder "$HOME/virtualbox" \
    --register \
    --name "$vm_name"

# VBoxManage showvminfo "$vm_name"

vboxmanage modifyvm "$vm_name" \
    --memory 1024 \
    --nic1 nat \
    --vrde on --vrdeport 33890

vboxmanage createhd \
    --filename "$vm_vdi" \
    --format VDI --size 10240

vboxmanage storagectl "$vm_name" \
    --name "SATA" \
    --add sata

vboxmanage storageattach "$vm_name" \
    --storagectl SATA --port 0 --type hdd \
    --medium "$vm_vdi"

vboxmanage storageattach "$vm_name" \
    --storagectl SATA --port 15 --type dvddrive \
    --medium "$vm_iso"

vboxmanage startvm "$vm_name" --type headless

# vboxmanage sharedfolder add "$vm_name" --name shared --hostpath "shared_path" --automount

# vboxmanage controlvm "$vm_name" pause --type headless
# vboxmanage controlvm "$vm_name" resume --type headless
# vboxmanage controlvm "$vm_name" poweroff --type headless

スクリプトはVirtualBoxを使用しますが、QEMUまたは他のソフトウェアには問題ありません(任意のコマンドをヘッドレスで実行でき、ゲストからホストにヘッドレスにファイルを転送でき、カーネルが仮想化される限り)。

答え1

QEMUから:

プレーンテキストベースのアプローチに加えて、もう1つの可能性は、VNCサーバーを使用してQEMUを起動することです。これは-vncQEMUのコマンドラインオプションを介して行われます。その後、SSHエージェントまたは他の手段を介して他のシステムから対応するVNCインスタンスに接続し、サポートされているオペレーティングシステムをインストールできるGUIを入手できます。

テキストコンソールのみを使用する場合は、オプションがさらに制限されます。何をしても、UbuntuのインストールISOはグラフィックモードを使用しようとしているようです。ただし、廃止予定のUbuntu mini.isoが動作する可能性があります。 Debianはうまく機能し、どのように使用するかを見てみましょう。

これは、利用可能なDebian ISOインストーライメージがあると想定しています。ここ

# create empty virtual hard drive
qemu-img create -f qcow2 debian.qcow2 16G
# start VM
qemu-system-x86_64 -machine accel=kvm -m 1G -nographic -hda debian.qcow2 -boot d -cdrom debian-11.2.0-amd64-netinst.iso

〜のようにまもなく始まるとすぐにESCまたは CTRL+Cboot:も有効です)プロンプトが表示されます。次に、install console=ttyS0console = ttyS0を追加した別の起動オプション(リストを表示するにはタップします)のいずれかを入力または使用しますtab

ディスク構成/ネットワーク/などを含め、必要な設定に従ってqemuパラメータを変更します。

しかし、同様の方法でOpenBSD(他のBSD?)をインストールできます。プロンプトにboot>入力set tty com0してダブルクリックしますReturn


メモ:

  • -machine accel=kvmうまくいかない場合は削除することをお勧めします。
  • ttyS0(数字「5」以外の文字「S」)です。
  • 完了したら閉じるinstallために使用してください。CTRL+AX
  • 終了後は、プログラムをインストールしなくても正常に実行できます。qemu-system-x86_64 -m 1G -nographic -hda debian.qcow2
  • ゲストからホストにファイルを転送するには:https://unix.stackexchange.com/a/196074

関連情報