web-dev-qa-db-ja.com

ゲスト追加機能をインストールできません:不明なファイルシステムタイプ「iso9660」

Oracle VirtualBox 4.3.24でUbuntu 14.04を実行し、ゲストの追加を完全に停止しました。私はオンラインで解決策を探すのにかなりの時間を費やしましたが、何も助けませんでした...

enter image description here

以下に示すように、手動でマウントし、WebからISO(VirtualBoxに一致するバージョン)もダウンロードしようとしました。同じエラー:

enter image description here

編集:

現在、いくつかのフォルダは「読み取り専用」になり、大きな問題が発生します。Ubuntu14.04の新しいイメージをインストールしても解決しません...したがって、VirtualBox自体の再インストール...

26
Oleg Shirokikh

Linuxイメージを再インストールすることで、マウントの問題を解決できました。

Sudo apt-get install --reinstall linux-image-$(uname -r)

ところで、それはすべてVirtualBoxのアップグレードから始まりました。双方向クリップボードが機能しなくなったため、Guest Additions ISOを再挿入しようとしました。これは上記のものを引き起こしました。これで、Guest Additionsがマウントされましたが、クリップボードが機能しません...

42
Oleg Shirokikh

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

(最新の古いカーネルは、セキュリティ上の理由から自動削除されず、「戻る」ことができます)。

どうしてそうなった? (以前の長い答え)

まさにこの種の問題は次の場合に発生します。

  • カーネルをアップグレードします(たとえば.66から.67に)
  • apt-get autoremoveを実行し、何らかの方法で実行中のカーネルを削除するか、「古い」カーネルを手動で削除して、/ lib/modules/kernel.66からすべてのモジュールを削除します。
  • 再起動しないでください。これにより、「古い」0.66カーネルが実行されたままになります。ロードされたモジュールはメモリ内に残り、すべてが機能しますが、新しいモジュールはロードできません .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カーネルになります。

Re-grubおよびre-bootで古いカーネルイメージを再インストールしても、実際の問題は修正されません。

上記のように、リブートすると、ダウングレードされたカーネルが見つかります。すぐに、Ubuntuはそれをアップグレードしようとし、あなたは始めたところに戻ります(以下を参照してください:「カーネルのダウングレード」)。

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であるため、これはまだ役に立ちません。これにはrunningカーネルヘッダーをインストールする必要があります。実行中のカーネルモジュールが存在しない場合、カーネルヘッダーも存在しない可能性があります。

また、新たにコンパイルされたVirtualboxモジュールには、.66モジュールディレクトリが削除されているため、どこにも行くことができません。

ただし、すべてを修正するとしましょう。本質的に高価な(部分的な)カーネルダウングレードを行ったので、上記の場合とまったく同様に、追加は.66カーネルの残りと共に次のアップグレードで失われます。

カーネルのダウングレードは動作します...しばらくの間

remove .67カーネルを使用し、代わりにモジュールを使用して.66カーネルを再インストールすると、しばらくの間は物足りないことになります。上記の「ISOモジュールの強制」ソリューションのように、再起動は必要ありません。

アディションにチャレンジされたカーネルがインストールされていないため、再起動しても何も失われません。

しかし、この方法ではカーネルは「アップグレード対象」リストに残り、この同じ問題は遅かれ早かれ発生するはずです。

確かに、あなたは今、あなたが選択したより適切な瞬間にそれを起こすことができます。それは非常に価値があるかもしれません。

リブートするだけです!

再起動すると、最新の.67カーネルがアクティブになり、そのすべてのモジュールとヘッダーがそこにあります。

したがって、after再起動後、Guest Additionsは機能し、アップグレードは「実行」されます。

13
LSerni

他の回答によると、これは通常、再起動することで修正できます。

何らかの理由で「iso9660」モジュールがロードされていません。 depmodはすべてのモジュールをスキャンし、モジュールの依存関係を作成します。

Sudo depmod -a
Sudo mount /dev/sr0 /mnt
ls -l /mnt

これにより問題が修正されます。

4
Arul

パッケージをアップグレードして再起動することで、これを解決しました(Ubuntu 16.04):

Sudo apt-get update
Sudo apt-get upgrade
Sudo reboot
1
Johannes Hoff

私の場合、次の回避策が役立ちました:

ゲストubuntuで

Sudo apt-get install virtualbox-guest-additions-iso

インストールされたいくつかの依存関係が問題を解決したと思う

1
Lostboy

手動でマウントしてみてください:

  • ターミナルを開きます。
  • 次のコマンドを入力します。

    Sudo mount /dev/sr0 /mnt
    ls -l /mnt
    
  • 次に、CDの内容が表示された場合、Nautilus(ファイルマネージャー)で/ mntを開き、ゲスト追加をインストールします。

これらの手順が機能しない場合は、これを試してください:

  • VMからゲストの追加ISOをダウンロードします(virtualbox Webサイト経由)。
  • それを右クリック->で開く...->ディスクイメージマウンター。
  • 新しくマウントされたディスクを開きます。
0
Helio