TL; DR 재부팅하면 빠르게 고칠 수 있습니다 . 그런 다음 CD-ROM이 작동하고 Guest Additions를 설치할 수 있습니다.
sudo reboot
추가로 VirtualBox에서 커널을 업데이트하는 "최상의"순서는 다음과 같습니다.
apt-get update
apt-get upgrade (or apt-get dist-upgrade)
reboot
(re)install VirtualBox Additions on the new kernel that is now running
apt-get autoremove
(다음으로 최신 커널은 보안상의 이유로 자동으로 제거되지 않아 "돌아갈 수"있습니다.
어떻게 이런일이 일어 났습니까? (이전의 긴 답변)
다음과 같은 경우 이러한 종류의 문제가 발생합니다.
- 커널 업그레이드 (예 : .66에서 .67)
- 실행
apt-get autoremove
하고 실행중인 커널을 제거하거나 "이전"커널을 수동으로 제거하여 / lib / modules / kernel에서 모든 모듈을 제거하십시오 .66
- "이전".66 커널을 계속 실행하여 재부팅하지 마십시오. 로드 된 모듈은 메모리에 남아 있고 모든 것이 작동하지만 .66 모듈이 삭제 된 이후 에는 새 모듈을로드 할 수 없습니다 .
- 아직로드되지 않은 모듈을로드해야하는 작업을 시도하십시오.
VirtualBox ISO를 설치하려면 ISO9660 지원 모듈을로드해야합니다.
실행중인 커널 (.66)이 /lib/modules/kernel.66에서 아무것도 찾지 못하므로 요청 된 모듈을 더 이상 자동으로로드 할 수 없습니다. 이 모듈은 존재 하지만 /lib/modules/kernel.67에 있으며 현재 .66 커널은 알지 못합니다 (일치하지 않는 모듈을로드하지 않는 것이 좋습니다).
uname'd 커널을 다시 설치하면 실행중인 커널 모듈이 다시 설치되므로 ../.66/.../isofs.ko를 다시 사용할 수있게되고 다시 부팅 할 필요가 없습니다. 이것은 설치된 커널의 다운 그레이드이며 업데이트 문제는 계속 남아 있습니다 (아래 참조).
당신이 추가 CD를 실행할 때 즉, 그것은을 위해 설치됩니다 실행 0.66 커널, 하지 (아직 실행되지 않음) 업데이트 된 0.67 커널.
그러한 상황이라면 재부팅 (커널을 실행하는 새로운 .67에서 모듈을 찾음)을 통해 확실히 고칠 수 있으며 아마도 새 커널에 속한 모듈을로드하여 ( isofs
아주 안정적입니다), 아마도 중요한 커널 업그레이드는 여전히 호환 가능합니다 ( 여전히 권장하지 않습니다! ) :
# mount /dev/cdrom /mnt
mount: unknown filesystem type 'iso9660'
위의 오류는 루트 오류입니다 ( "알 수없는 파일 시스템 유형").
# uname -a
Linux virtual 3.13.0-66-generic ...
따라서 어떤 버전의 모듈이 설치되어 있는지 확인합니다. .66이어야합니다 :
# ls /lib/modules
3.13.0-67-generic
...하지만 디렉토리는 하나 뿐이며 .67입니다 (.66 디렉토리는 있지만 비어있을 수 있습니다.이 경우 du -sh /lib/modules/*
여러 디렉토리가 차지하는 공간을 알려 빈 디렉토리와 전체 디렉토리를 알 수 있습니다).
다시 시작하지 않고 이전 커널 이미지를 다시 설치해도 실제 문제가 해결되지 않습니다
모듈과 헤더를 사용하여 .66 커널을 다시 설치합니다. 이제 grub
최신 .67을로드하도록 설정된 두 커널이 있습니다 .
ISO CD-ROM을 마운트 할 수 있으며 (모듈이 있으므로) VBox 모듈이 컴파일됩니다 (헤더가 설치 되었기 때문에).
실행중인 .66 커널에 대한 모듈을 컴파일하고 잠시 동안 작동합니다.
처음 재부팅 할 때 VirtualBox를 추가하지 않고 .67 커널을 사용하게됩니다.
다시 시작 및 다시 부팅으로 이전 커널 이미지를 다시 설치해도 실제 문제가 해결되지 않습니다.
위와 같이 재부팅 한 후 다운 그레이드 된 커널로 자신을 찾을 수 있습니다. 곧 우분투가 업그레이드를 시도 할 것이고 시작한 곳으로 돌아갈 것입니다 ( "커널 다운 그레이드"참조).
ISO 모듈에서 패치해도 실제 문제는 해결되지 않습니다
커널 66과 67 사이에서 아무런 작업도 수행하지 않았으며 바이너리는 변경되지 않았으므로 ISO9660 모듈을 모두 동일하게 강제로드 할 수 있습니다.
# insmod /lib/modules/3.13.0-67-generic/kernel/fs/isofs/isofs.ko
오류가 없습니다. 효과가있었습니다. 커널 .66은 커널 .67에서 모듈을로드했습니다. CD-ROM을 다시 마운트하십시오 :
# mount /dev/cdrom /mnt
mount: block device /dev/sr0 is write-protected, mounting read-only
설치되는 CD가 VirtualBox Additions이므로 실행중인 커널 헤더를 설치 해야하므로 여전히 도움이되지 않습니다 . 실행중인 커널 모듈이 더 이상 존재하지 않으면 커널 헤더도 마찬가지입니다.
또한 새로 컴파일 된 Virtualbox 모듈은 .66 모듈 디렉토리가 정리되었으므로 갈 곳이 없습니다.
그러나 모든 것을 고치십시오 : 본질적으로 고가의 (그리고 부분적인) 커널 다운 그레이드를 수행했으며, 위의 경우와 마찬가지로 나머지 .66 커널과 함께 다음 업그레이드에서 추가 사항이 손실됩니다.
커널을 다운 그레이드하면 잠시 동안 작동합니다 ...
.67 커널 을 제거 하고 그 대신 .66 커널을 모듈과 함께 다시 설치하면 잠시 동안 황량한 일이 벌어 질 것입니다. 위의 "force ISO module"솔루션과 같이 재부팅 할 필요가 없습니다.
추가 문제가 발생한 커널이 설치되어 있지 않기 때문에 재부팅해도 아무런 손실이 없습니다.
그러나 이런 식으로 커널은 여전히 "업그레이드 될"목록에있게되며이 같은 문제는 조만간 발생할 것입니다.
물론, 당신은 이제 당신이 선택한 더 적절한 순간에 일어날 수 있습니다.
그냥 재부팅하십시오!
재부팅하면 최신 .67 커널이 활성화되고 모든 모듈과 헤더가 있습니다.
따라서 재부팅 후 게스트 추가가 작동하고 업그레이드가 "취득"됩니다.