回答:
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からすべてのモジュールを削除します。そして、VirtualBox ISOのインストールには、まさにそれが必要な場合があります-ISO9660サポートモジュールをロードします。
実行中のカーネル(.66)が/lib/modules/kernel.66で何も検出しないため、要求されたモジュールを自動ロードできなくなりました。モジュールは存在しますが、/ lib / modules / kernel.67にありますが、現在の.66カーネルはそれについて何も認識していません(不一致のモジュールをロードすることはお勧めしません)。
uname'dカーネルを再インストールすると、もちろん実行中のカーネルモジュールが再インストールされるため、.. /。66 /.../ isofs.koが再び利用可能になり、再起動が不要になります。これはインストールされたカーネルのダウングレードであり、更新の問題は残ります(以下を参照)。
つまり、Additions CDを実行すると、更新された.67カーネル(まだ実行されていない)ではなく、実行中の .66カーネルにインストールされます。
このような状況にある場合は、リブート(新しい.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カーネルとそのモジュールおよびヘッダーを再インストールします。これでgrub
、新しい.67をロードするように設定された両方のカーネルができました。
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であり、実行中のカーネルヘッダーをインストールする必要があるため、これはまだ役に立ちません。実行中のカーネルモジュールが存在しない場合、カーネルヘッダーも存在しない可能性があります。
また、.66モジュールディレクトリがクリーンアップされたため、新しくコンパイルされたVirtualboxモジュールはどこにも行きません。
ただし、すべてを修正するとしましょう。本質的に高価な(および部分的な)カーネルダウングレードを行ったので、上記の場合とまったく同様に、追加は.66カーネルの残りと共に次のアップグレードで失われます。
.67カーネルを削除し、代わりに.66カーネルを再インストールした場合、しばらくの間は物事が厄介になります。上記の「ISOモジュールを強制する」ソリューションのように、再起動する必要はありません。
また、Additionsチャレンジカーネルがインストールされていないため、再起動しても何も失われません。
ただし、この方法ではカーネルは「アップグレード対象」リストに残り、この同じ問題は遅かれ早かれ発生します。
確かに、あなたは今、あなたが選択したより適切な瞬間にそれを起こすことができます。それはかなり価値があるかもしれません。
再起動すると、最新の.67カーネルがアクティブになり、そのすべてのモジュールとヘッダーがそこにあります。
そのため、再起動後にGuest Additionsが機能し、アップグレードが「実行」されます。
手動でマウントしてみてください:
次のコマンドを入力します。
sudo mount /dev/sr0 /mnt
ls -l /mnt
次に、CDの内容が表示された場合、Nautilus(別名ファイルマネージャー)で/ mntを開き、Guest Additionsをインストールします。
これらの手順が機能しない場合は、これを試してください: