web-dev-qa-db-ja.com

シンボル 'grub_file_filters'がKali Linuxに見つかりませんVM

Apt-get updateの後; Kali Linux VMでapt-getのアップグレードが正常に終了し、一部のインストールを完了するために再起動し、GRUBレスキューモードに移行しました。

救急時>

ls、次を返します:

(hd0) (hd0,msdos1) (hd0,msdos5)

set、次を返します:

cmdpath=(hd0)
prefix=(hd0,msdos1)/boot/grub
root=hd0,msdos1

私はls on(hd0)/ boot、(hd0、msdos1)/ boot、(hd0、msdos5)/ bootを実行し、(hd0、msdos1)でのみブート可能なイメージの結果を確認しました

insmod linux、次のGRUBエラーを返します:

symbol 'grub_file_filters' not found 

Grubがどこを探しているかを確認したかったinsmod kali返された:

/boot/grub/i386-pc/kali.mod not found

したがって、エラーが発生する前にLinuxモジュールが見つかったようです。

調査の結果、このエラーはファイルシステム/ USBデバイスに関連していることがわかりましたが、これは仮想イメージであるため(そして私はVirtualBoxを使用しているため)、修正方法がわかりません。

最初から再インストールしても問題ありませんが、このエラーとそれが何を参照しているか、どのように解決できるかについて興味があります。

洞察をありがとう

追記:これは、VMを起動した瞬間からの画面の出力で、上記のlsコマンドのいくつかを実行した後です。

error: symbol ‘grub_file_filters’ not found. 
Entering rescue mode... 
grub rescue> ls 
(hd0) (hd0,msdos5) (hd0,msdos1) 
grub rescue> ls (hd0) 
(hd0): Filesystem is unknown. 
grub rescue> ls (hd0,msdos5) 
(hd0,msdos5): Filesystem is unknown. 
grub rescue> ls (hd0,msdos1) 
(hd0,msdos1): Filesystem is ext2. 
grub rescue> ls (hd0)/boot
error: unknown filesystem
grub rescue> ls (hd0,msdos5)/boot
error: unknown filesystem
grub rescue> ls (hd0,msdos1)/boot
./ . ./ System.map-4.18.0-kali2-AMD64 config-4.18.0-kali2-AMD64 
initrd.img—4.18.0-kali2-AMD64 vmlinuz-4.18.0-kali2-AMD64 
grub/ config-4.19.0-kali5-AMD64 vmlinuz-4.19.0-kali5-AMD64 
System.map-4.19.0-kali5-AMD64 initrd.img-4.19.0-kali5-AMD64
grub rescue> 
4
AlexiaK

OSXで私にとってうまくいったのは、Daniel Simonの回答とddburrjrのコメントを組み合わせたものです。

  1. Kali Linuxの公式Webページから新しい.isoイメージをダウンロードします。
  2. VirtualBoxを起動し、Kali Linux仮想マシンの設定を開きます。ダウンロードしたISOイメージを仮想CDとして「ストレージページ」に追加します。どうやって? 「コントローラ:IDE」を選択し、右側の「CDを選択」ボタンをクリックして、ダウンロードした.isoファイルを選択します。
  3. ブート中にF12を押し、「C」を押してCD_ROMからブートします
  4. ブートメニューで[Live(AMD64)]を選択して、.isoファイルからKali Linuxを実行します。
  5. 次の手順に従ってください https://www.youtube.com/watch?v=5spKO02G5v4
  6. できた! Kali Linuxが仮想ハードドライブから再起動します
2
IanD

GRUBインストールがArchLinuxで更新された後、手動で作成したgrubイメージを(grub-mkimageコマンドを使用して)起動しようとしたときに、同様の問題が発生しました。私の場合、再インストールGRUB/bootパーティションに問題を解決しました。

OS全体が起動しないため、現在のブートローダーのインストールのバックアップを作成した後(たとえば、元の構成ファイルを確実に保持するため)、Kaliのライブイメージを起動し、そこからブートローダーを再インストールすることをお勧めします。

問題が発生した理由として考えられるのは、モジュールGRUBロードしようとしたモジュールが前のバージョンのGRUBに属しているのに、イメージがそうではないためです。

手順:
1。 Kali Linuxの公式Webページから新しいイメージをダウンロードしてください。
2。 VirtualBoxを起動し、Kali Linux仮想マシンの設定を開きます。
2.1ダウンロードしたISOイメージを仮想CDとして「ストレージページ」に追加します。
2.2「システム」タブで起動順序を変更して、VMが最初に光学式から起動するようにします。
3。仮想マシンを起動し、ライブモードでイメージを起動します。 4.ブートパーティションをフォルダー(/ mntなど)にマウントし、grubフォルダーを別の場所にコピーします。ブートパーティションがない場合、ファイルはブートフォルダー内のメインパーティションにある必要があります。この場合、メインパーティションをマウントし、手順5と6をスキップします。
5。ブートパーティションを再度マウント解除し、メインパーティション(/ home、/ etc、/ boot、...フォルダーを使用)をそのポイントにマウントします。
6。メインパーティションのマウントポイントの下にある/ bootフォルダにブートパーティションを再度マウントします。構造は次のようになります。

/mnt/ (mount folder of main partition)
  etc/
  home/
  boot/ (mount folder of boot partition)
    grub/
    (other boot files)
  (other folders)
  1. chrootコマンドを使用して、ルートをマウントされたOSファイルに変更します。
  2. grub-install /dev/sdXコマンドを使用してgrubを再インストールします。Xは、Kali Linuxがインストールされているデバイスの記述子です。ルートをインストール済みのOSに変更したため、--boot-directoryパラメータを指定する必要はありません。別のパラメーターを指定する必要がある場合は、grub-installコマンドのマンページを参照してください。
  3. grub-mkconfig -o /boot/grub/grub.cfgを実行して、grubの新しい構成ファイルを作成します。このコマンドにより、Kali Linuxのインストールが検出されます。
  4. 変更されたルートをexitのままにし、すべてのパーティションをアンマウントします。
  5. 仮想マシンをシャットダウンします。
  6. 起動順序を前の設定に戻すか、光ディスクからの起動を無効にします。
  7. 仮想マシンを起動します。すべてが期待どおりに機能している場合、Kali LinuxとGRUB=は通常どおりに起動するはずです。

コマンドがインストールされていないか見つからない場合は、最初にSudoで実行してみてください。それでも見つからない場合は、apt-get install [name]でインストールしてみてください。

重要な注意:
現在私は(前述のように)ArchLinuxを使用しているため、不明なセットアップで別のディストリビューションでGRUBを再インストールする方法に関する詳細なマニュアルを提供することは困難です。
これらのコマンドを実行する前に、使用したコマンドについて少し説明して、これらが設定とうまく連動することを確認することをお勧めします。
それに加えて、仮想マシンを使用しているため、以下の手順を実行する前にスナップショットを作成することをお勧めします。

0
Daniel Simon