grub은 virtualbox에서 게스트 가상 머신으로 시작할 때 사용자 입력을 기다립니다.

grub은 virtualbox에서 게스트 가상 머신으로 시작할 때 사용자 입력을 기다립니다.

Mac OS X virtualbox 호스트 내에 여러 우분투 게스트가 있습니다. 시작하면 제대로 시작되고 로그인 화면으로 이동하거나 모든 서비스를 시작하는 시간이 약 절반입니다. 나머지 절반의 시간에는 앉아서 내가 운영 체제를 선택하기를 기다립니다. 앞에 앉아 있을 때는 괜찮지만 머신이 부팅될 때 가상 머신이 자동으로 시작되기를 원합니다.

게스트 OS 내에서 재부팅해도 동일한 문제가 발생하지 않는 것 같습니다.

내가 시도한 것:

GRUB_HIDDEN_TIMEOUT주석을 제거 하고 실행을 시도하여 update-grub게스트 OS가 더 자주 올바르게 부팅되도록 했지만 문제가 해결되지 않았습니다. 헤드리스로 부팅하는 것도 도움이 되지 않습니다.

막히는 부분:

거의 반쯤 봤네요

/etc/default/grub:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

버전:

Grub 1.99-21ubuntu3.9
Ubuntu Server LTS
Virtualbox 4.2.10

답변1

@nick의 답변을 확장하면 이는 실제로 로깅 실패 기능입니다.

그러나 /etc/grub.d/00_header다음 줄을 추가할 수 있습니다./etc/default/grub

GRUB_RECORDFAIL_TIMEOUT=2

(또는 시간 제한을 원하는 만큼) 다음을 실행합니다.sudo update-grub

답변2

그래서 이것은 다음과 같은 것으로 밝혀졌습니다.grub의 문서화된 기능. 컴퓨터가 비정상적으로 종료되면 자동으로 운영 체제로 부팅되지 않습니다. 그렇기 때문에 OS 내에서 재부팅했을 때 문제가 발생하지 않았습니다.

비활성화하는 방법

해당 링크가 작동하지 않는 경우를 대비해 다음을 수행하세요.

Grub2의 기록 실패 기능 비활성화

대부분의 사람들에게 Grub 2의 이 새로운 기능은 의심할 여지 없이 좋은 것입니다. 하지만 이러한 버그 중 하나로 인해 고통받고 있거나 다른 이유로 해당 버그를 비활성화하려는 경우:

/etc/grub.d/00_header다음 방법으로 파일을 엽니다.

sudo nano /etc/grub.d/00_header

찾다

if [ ${recordfail} = 1 ]; then
    set timeout=-1
else
    set timeout=${GRUB_TIMEOUT}
fi

그것을로 바꾸다

set timeout=5

파일을 저장하고 실행하세요.

sudo update-grub

답변3

/boot/grub/menu.lst를 수정하고 시간 제한을 0으로 설정해 보셨나요?

답변4

필요한 것은 /etc/default/grub에서 GRUB_TIMEOUT을 0으로 설정하는 것입니다. 자세한 내용을 보려면 다음을 실행하세요.info -f grub -n "Simple configuration"

vi /etc/default/grub

GRUB_TIMEOUT=0으로 설정

sudo update-grub

지금 다시 시작

관련 정보