Linuxブートローダは2つですが、Linuxオペレーティングシステムは1つしかインストールされていませんが、奇妙なことが起こっています。

Linuxブートローダは2つですが、Linuxオペレーティングシステムは1つしかインストールされていませんが、奇妙なことが起こっています。

Kali 2017.3(現時点では同じDebianカーネルバージョン)4.14.0 86_64をインストールし、Linux Parrot Security 3.9カーネルバージョン4.14.0 86_64を再インストールしました。

これで、いつものように手動でハードドライブを完全に分割しました。パーティションのサイズは、/dev/sda1-boot 512M、/dev/sda2-swap 8G、/dev/sda3-/root-25G、/dev/sda4 /home-rest です。

ハードドライブが2つあり、Linuxが正しい順序で最初に起動し、F11を押さない限り、Linuxハードドライブは最初のSATAケーブルスロットにあり、2番目のSATAケーブルスロットには別々のWindowsハードドライブがあります。私は同じハードドライブからWindowsとLinuxを同時に起動するのが好きではありません。

通常、起動時に起動オプションのためにF11を押すと、両方のHDDが表示され、それに応じて選択されます。ゲームにはWindowsを使用し、他のすべてのタスクにはLinuxを使用します。

しかし、今F11を押すと、古いKaliはまだ最初のオプションです。 /dev/sda3 Windowsは2番目の起動オプションとして表示されますが(1年以上この設定を使用したため)、Parrotも/dev/と表示されます。 sda3 (上書きする必要がある Kali と同じ) /dev/sda3/Parrot を選択でき、正常に動作します。 Windowsはうまく機能しますが、/ dev / sda3 / Kali(上書きする必要があります)を選択すると、grubエラーで起動し、grub saving>プロンプトが表示されます。

最後に、私がいつも使ってきた方法は、F11を押してWindows HDDを選択しないとLinuxが起動します。それでも、Kaliと同じカーネルに基づいて構築された新しいParrot OSが利用できないというわけではありません。私はDebian 9がリポジトリの更新への別のアプローチだと思います。素晴らしい作品。システムができるだけ正確であることを願っています。

どうすればいいですか?私は/dev/sda3に実際のディストリビューションを持つものと競合しているようですが、他の人はそう思いますが、そうではありませんか?

答え1

F11を押すと、BIOSの起動メニューにアクセスしているかのように聞こえます。 Windows、Parrot、Kaliなどのオペレーティングシステム名が含まれている場合は、UEFIスタイルの起動を使用している可能性があります。

これが真であれば、Kali残留物を削除する最も簡単な方法は、efibootmgrLinuxでこのツールを使用することです。

UEFIスタイルの起動では、ブートローダに関する3つの点がNVRAM(= BIOS設定が保存されている場所)に保存されます。

  • 特定のオペレーティングシステム用のUEFIブートローダを含むパーティションのUUID(通常はESPまたは(U)EFIシステムパーティションと呼ばれる小さなFAT32パーティション)
  • このオペレーティングシステムのブートローダファイル名
  • オペレーティングシステムを説明する名前

特定のオペレーティングシステムのブートローダを完全に削除し、そのオペレーティングシステムが所有するすべてのパーティションを上書きしても、情報はまだNVRAMに残ります。一部のUEFIファームウェアは、UEFI BIOS設定メニューから古いブート設定を削除する方法を提供していますが、残念ながら、このオプションがない一部のUEFIファームウェアバージョンが市場に出ています。

UEFI システムで実行すると、efibootmgr -v現在 NVRAM に保存されている UEFI ブート設定のリストが表示されます。このBootCurrent値は、システムの起動に最も最近使用された起動オプションを識別します。通常ゼロに設定される値がありますTimeout。これにより、ファームウェアが設定されているさまざまな起動オプションを試みる順序を識別するリストがありますBootOrder。各起動オプションは、0000、0001、0002などの4桁の数字で識別されます。

最後に、実際の起動オプションがあります。各起動オプション行には、「BootNNNN」形式で起動オプションの4桁の数字が一覧表示されます。たとえば、Boot0000 は最初の起動オプションを表します。その後にはオペレーティングシステムを説明する名前が続き、その後にはブートローダパーティションUUIDとそのパーティションにあるブートローダファイルのパス名が続きます。行の末尾には、オプションでブートローダのいくつかのパラメータがあります。

Kaliブートオプションの残りの部分を削除するには、リストで4桁の数字を見つけます。その後、efibootmgr -B -b NNNNを使用して削除できます。

たとえば、Kaliが起動オプションBoot0002としてマークされている場合は、次のコマンドを使用して削除できます。

efibootmgr -B -b 0002

このefibootmgrコマンドはルート(またはプレフィックス)として実行する必要がありますsudo

答え2

私はここで助けを求めた経験がありません。管理者がこの質問をするための正しい場所を推薦したり、正しいフォーラムに移動したりするのを手伝ってくれてありがとう。

あなたは正しいです、ここ、本当に良いです!しかし、Parrot SecurityとKaliはセキュリティに焦点を当てたディストリビューションであり、心の弱い人のためのディストリビューションではありません!これを使用するときは、経験豊富なLinux管理者である必要があります。

デフォルトでは、問題は古いKali grubエントリがまだ存在することです。

grub設定はここに保存されるため、/etc/grub.d/*Kaliエントリを含むファイルがないこと、およびParrot Securityエントリがあることを確認する必要があります。その後、実行するとsudo update-grub問題が解決します。

Kaliが存在しないことを確認するには、grep Kali /etc/grub.d/*次の手順を実行します。grep Parrot /etc/grub.d/*両方のコマンドが「stuff」を見つけ、両方のエントリが同じファイルにない場合は、Kaliを含むファイルを安全に削除できます。

関連情報