
실행 중인 게스트 머신은 Virtualbox에서 전원이 꺼진 것으로 표시됩니다.
질문:
virtualbox에는 많은 VM이 있고 일부 VM은 Vagrant에서 생성되었고 다른 VM은 GUI를 통해 수동으로 생성되었습니다. 그러나 를 사용하여 VM을 시작할 때마다 vboxmanage starvm
VM 상태는 VM이 GUI에서 실행 중이더라도 Powerd Off
GUI 또는 와 같이 표시됩니다.vboxmanage showvminfo
호스트 OS는 R9-7945HX 프로세서를 갖춘 Manjaro이며 보안 부팅이 비활성화되어 있습니다.
(base) 0x00 in ~/Hypervisor/virtual-machines/Tools/Gparted/Logs λ inxi
CPU: 16-core AMD Ryzen 9 7945HX with Radeon Graphics (-MT MCP-)
speed/min/max: 1055/400/5461 MHz Kernel: 6.7.0-0-MANJARO x86_64 Up: 4h 8m
Mem: 8.47/30.53 GiB (27.8%) Storage: 2.75 TiB (22.9% used) Procs: 544
Shell: Zsh inxi: 3.3.33
낳다:
예. Gparted라는 VM을 시작합니다.
(base) 0x00 in ~/Hypervisor/virtual-machines/Tools/Gparted/Logs λ vboxmanage startvm Gparted
Waiting for VM "Gparted" to power on...
VM "Gparted" has been successfully started.
(base) 0x00 in ~/Hypervisor/virtual-machines/Tools/Gparted/Logs λ vboxmanage showvminfo Gparted | grep State
State: powered off (since 2024-02-22T08:25:59.000000000)
(base) 0x00 in ~/Hypervisor/virtual-machines/Tools/Gparted/Logs λ vboxmanage list runningvms
(base) 0x00 in ~/Hypervisor/virtual-machines/Tools/Gparted/Logs λ
GUI가 팝업되면 뚜렷한 오류는 없지만 시스템 상태가 예상한 것과 일치하지 않는 것을 볼 수 있습니다.
평판이 10이 아니어서 이미지를 업로드할 수 없습니다. VM GUI 상태를 보여주는 그림을 보려면 아래 링크를 확인하세요.
그러나 프로세스 목록에서 VM은 실행 중인 것으로 표시됩니다.
(base) 0x00 in /var/log λ ps -ef | grep -iE 'vbox|virtual|slot' | grep -v grep
root 467 2 0 12:39 ? 00:00:00 [iprt-VBoxTscThread]
0x00 53520 1638 0 15:51 ? 00:00:11 /usr/lib/virtualbox/VirtualBox
0x00 53539 1096 0 15:51 ? 00:00:02 /usr/lib/virtualbox/VBoxXPCOMIPCD
0x00 53545 1096 0 15:51 ? 00:00:06 /usr/lib/virtualbox/VBoxSVC --auto-shutdown
0x00 72847 1096 0 16:51 ? 00:00:01 /usr/lib/virtualbox/VBoxXPCOMIPCD
0x00 72853 1096 0 16:51 ? 00:00:05 /usr/lib/virtualbox/VBoxSVC --auto-shutdown
0x00 72881 72853 0 16:51 ? 00:01:09 /usr/lib/virtualbox/VirtualBoxVM --comment Gparted --startvm 4c830005-8675-45da-bc9f-a11964d3f610 --no-startvm-errormsgbox
dmesg -C
지우기 후 (VM 시작 전) 커널 링 버퍼
(base) 0x00 in /var/log λ sudo dmesg
[15066.546635] vboxdrv: 0000000037a5da6e VMMR0.r0
[15066.652917] vboxdrv: 00000000a81b79f7 VBoxDDR0.r0
vbox.log에는 뚜렷한 오류가 없습니다.
https://gist.github.com/dhay3/a19d46e3231790b9f926d6610f70888c
전체 정보vboxmanage showvminfo Gparted
https://gist.github.com/dhay3/6013ae1e704a26cac0c7e6337410e868
내가 시도한 것:
.vbox-<username>-ipc
아래 링크에서 디렉토리 언급을 제거하십시오.업그레이드/다운그레이드 virtualbox/linux 커널이 작동하지 않았습니다.
virtualbox를 루트로 시작하고 동일한 ISO를 사용하여 가상 머신을 만든 다음 위에서 언급한 단계를 재현합니다. 상태는 예상대로 계산되었습니다 !!! (달리기-달리기)
부터 다양해요
starvm
일부 소스 코드를 읽으려고 했지만 하위 명령을 처리하는 함수를 찾지 못했습니다.
해결 방법이나 힌트를 주시면 감사하겠습니다.
답변1
며칠 동안 근본 원인은 0x00
명령을 혼란스럽게 만든 색다른 사용자 이름(16진수 0) 이라는 것을 알았습니다.
SERVER_PID=`ps -U \`whoami\` | grep VBoxSVC | awk '{ print $1 }'`
스크립트 에서 VBox
. 리터럴 이름 대신 모든 루트 프로세스를 가져옵니다 0x00
. 따라서 starvm
VM이 생성될 때마다 VBoxSVC
프로세스가 생성됩니다.