ゲストから設定ファイルを取得する必要がありますVMネットワークサポートなし。これを行う最も簡単な方法は、おそらくシリアルポートを使用することです。私が理解している限り、一種のシリアルポート「ループ」を作成する必要があります。 "たとえば、minicomを使用して/ dev/vttyS0と接続し、/ dev/vttyS1をVirtualBoxゲストに割り当てます。
ゲストはボーレート115200を使用しています。このようなデバイスのペアを作成するにはどうすればよいですか?
私はsocatを試しました:
socat -d -d pty,raw,echo=0 pty,raw,echo=0
ただし、VirtualBoxはそれを正しいシリアルデバイススローエラーとして理解していないようです
Ioctl failed for serial Host device /dev/pts/10 (VERR_INVALID_PARAMETER)
Device will not work properly
ErrorID DrvHostSerialFail
Severity Warning
最初にホストOSでシリアルコンソール設定をセットアップします。
virtualbox設定では、
シリアルポート->ポート1
ポート番号COM1
ポートモード-ホストパイプ
既存のパイプ/ソックに接続-未チェック
パス/アドレス:/ tmp/vbox
今、ミニコムを設定します
Sudo minicom -s -c on
シリアルポートの設定
シリアルデバイス:unix#/ tmp/vbox
出口
ゲストでシリアルコンソールを有効にする
Sudo vi/etc/default/grub
GRUB_CMDLINE_LINUX = "console = ttyS0,115200n8 console = tty0 ignore_loglevel"
Sudoupdate-grub
次に、コンソールttyS0でgettyを有効にします
アップスタートシステムの場合
1)以下を含む/etc/init/ttyS0.confというファイルを作成します。
#ttyS0 --getty # #このサービスは、システムが #開始された時点から、再びシャットダウンされるまで、ttyS0でgettyを維持します。 停止したrcで開始RUNLEVEL = [12345] ランレベルで停止[!12345]
respawn exec/sbin/getty -L 115200 ttyS0 vt102
2)ゲッティを始めるようにupstartに依頼する
Sudo start ttyS0
Systemdシステムの場合
#Sudo systemctl enable [email protected] #Sudo systemctl start [email protected] #Sudosystemctlデーモンリロード
ゲストOSを再起動すると、minicom経由でホストOSにシリアルコンソールが表示されます
ホストからゲストに接続する方法は次のとおりです。
socat unix-connect:/dev/vboxttyS0 -,b57600
またはsocat unix-connect:/dev/vboxttyS0 -,raw,echo=0
私の特定のケースではこれがうまく機能しました。OSベンダーに連絡したところ、ベアメタルデバイスではデフォルトで有効になっていますが、シリアルポートを明示的に有効にする必要があることがわかりました:/