Oracle VirtualBox 4.3.24でUbuntu 14.04を実行し、ゲストの追加を完全に停止しました。私はオンラインで解決策を探すのにかなりの時間を費やしましたが、何も助けませんでした...
以下に示すように、手動でマウントし、WebからISO(VirtualBoxに一致するバージョン)もダウンロードしようとしました。同じエラー:
編集:
現在、いくつかのフォルダは「読み取り専用」になり、大きな問題が発生します。Ubuntu14.04の新しいイメージをインストールしても解決しません...したがって、VirtualBox自体の再インストール...
Linuxイメージを再インストールすることで、マウントの問題を解決できました。
Sudo apt-get install --reinstall linux-image-$(uname -r)
ところで、それはすべてVirtualBoxのアップグレードから始まりました。双方向クリップボードが機能しなくなったため、Guest Additions ISOを再挿入しようとしました。これは上記のものを引き起こしました。これで、Guest Additionsがマウントされましたが、クリップボードが機能しません...
TL; DRこれは、再起動することですばやく修正できます。その後、CD-ROMが機能し、Guest Additionsがインストール可能になります。
Sudo reboot
Additionsを使用して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
(最新の古いカーネルは、セキュリティ上の理由から自動削除されず、「戻る」ことができます)。
まさにこの種の問題は次の場合に発生します。
apt-get autoremove
を実行し、何らかの方法で実行中のカーネルを削除するか、「古い」カーネルを手動で削除して、/ lib/modules/kernel.66からすべてのモジュールを削除します。実行中のカーネル(.66)が/lib/modules/kernel.66で何も見つけられないため、要求されたモジュールを自動ロードできなくなりました。 モジュールは存在しますですが、それは/lib/modules/kernel.67にあり、現在の.66カーネルはそのことを何も知りません(不一致のモジュールをロードすることは推奨されません)。
Uname'dカーネルを再インストールすると、もちろん実行中のカーネルモジュールが再インストールされるため、.. /。66 /.../ isofs.koが再び利用可能になり、再起動が不要になります。 これはインストールされているカーネルのダウングレードであり、更新の問題は残ります(以下を参照)。
つまり、Additions CDを実行すると、running .66カーネル、notの更新された.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
...ただし、ディレクトリは1つだけで、.67です(.66ディレクトリが存在する可能性がありますが、空です。この場合、du -sh /lib/modules/*
は、さまざまなディレクトリがどれだけのスペースを使用しているかを示し、空のディレクトリ間を区別します。および完全なもの)。
.66カーネルとそのモジュールおよびヘッダーを再インストールします。これで、新しい.67をロードするようにgrub
が設定された両方のカーネルができました。
ISO CD-ROMは(モジュールが存在するため)マウントでき、VBoxモジュールはコンパイルされます(ヘッダーがインストールされているため)。
実行中の.66カーネル用にモジュールをコンパイルし、しばらく動作します...
最初の再起動時に、VirtualBoxがまったく追加されていない.67カーネルになります。
上記のように、リブートすると、ダウングレードされたカーネルが見つかります。すぐに、Ubuntuはそれをアップグレードしようとし、あなたは始めたところに戻ります(以下を参照してください:「カーネルのダウングレード」)。
カーネル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であるため、これはまだ役に立ちません。これにはrunningカーネルヘッダーをインストールする必要があります。実行中のカーネルモジュールが存在しない場合、カーネルヘッダーも存在しない可能性があります。
また、新たにコンパイルされたVirtualboxモジュールには、.66モジュールディレクトリが削除されているため、どこにも行くことができません。
ただし、すべてを修正するとしましょう。本質的に高価な(部分的な)カーネルダウングレードを行ったので、上記の場合とまったく同様に、追加は.66カーネルの残りと共に次のアップグレードで失われます。
remove .67カーネルを使用し、代わりにモジュールを使用して.66カーネルを再インストールすると、しばらくの間は物足りないことになります。上記の「ISOモジュールの強制」ソリューションのように、再起動は必要ありません。
アディションにチャレンジされたカーネルがインストールされていないため、再起動しても何も失われません。
しかし、この方法ではカーネルは「アップグレード対象」リストに残り、この同じ問題は遅かれ早かれ発生するはずです。
確かに、あなたは今、あなたが選択したより適切な瞬間にそれを起こすことができます。それは非常に価値があるかもしれません。
再起動すると、最新の.67カーネルがアクティブになり、そのすべてのモジュールとヘッダーがそこにあります。
したがって、after再起動後、Guest Additionsは機能し、アップグレードは「実行」されます。
他の回答によると、これは通常、再起動することで修正できます。
何らかの理由で「iso9660」モジュールがロードされていません。 depmod
はすべてのモジュールをスキャンし、モジュールの依存関係を作成します。
Sudo depmod -a
Sudo mount /dev/sr0 /mnt
ls -l /mnt
これにより問題が修正されます。
パッケージをアップグレードして再起動することで、これを解決しました(Ubuntu 16.04):
Sudo apt-get update
Sudo apt-get upgrade
Sudo reboot
私の場合、次の回避策が役立ちました:
ゲストubuntuで
Sudo apt-get install virtualbox-guest-additions-iso
インストールされたいくつかの依存関係が問題を解決したと思う
手動でマウントしてみてください:
次のコマンドを入力します。
Sudo mount /dev/sr0 /mnt
ls -l /mnt
次に、CDの内容が表示された場合、Nautilus(ファイルマネージャー)で/ mntを開き、ゲスト追加をインストールします。
これらの手順が機能しない場合は、これを試してください: