独自のESP付きドライブ2台

独自のESP付きドライブ2台

Linuxの起動に問題があります。試してみましたが、ドライブとESPが1つしかない場合は正常に起動します。しかし、私の目標は、独自のESPを備えた2つの異なるドライブを持つことです。最初のドライブは独自のESPを含むWindows用で、2番目のドライブは独自のESPを含むLinux用です。

他のドライブなしでこれらのドライブを独立して起動できるようにします。

私がしたことは、Windowsを含む最初のドライブを削除し、2番目のドライブにLinuxをインストールすることでした。最初のドライブが接続されていない場合、Linuxは完全に起動します。

今私の問題は、Linuxで起動するときに両方のドライブが接続されていることを示していますが、no init found try init=bootargsWindowsドライブは完全に起動することです。

答え1

このno init foundメッセージは、Linuxカーネルが起動されたが、/sbin/initルートファイルシステムに見つからないことを伝えます。それはおそらく間違った場所を探しているからです。

Linux ブートローダの設定がルートファイルシステムを認識する方法を学びます。通常、これはroot=Linuxカーネルのオプションです。

ルートファイルシステムが/dev/sdaN(ここでNは数字)として識別されると、initramfs / initrdファイルに含まれるドライバが最初に検出したディスクのN番目のパーティションを指定します。 Linuxドライブのみを接続すると、この仮定が正確でシステムが正常に起動します。ただし、両方のディスクが接続されると、Windowsディスクが最初に検出され、オプションroot=/dev/sdaNは実際に間違ったディスクを指します。

この問題を解決する最善の方法は、ディスク検出順序に依存しない方法でルートファイルシステムを指定することです。

Linuxではblkidrootとして実行します。すべての識別子で表示できるすべてのディスクパーティションが一覧表示されます。ルートファイルシステムを含むパーティションに一致する行を見つけます。UUID=<a long hexadecimal string>値をリストする必要があります。あるかもしれないしないかもしれませんLABEL=<a short name>。もう 1 つ、PARTUUIDもう 1 つを一覧PARTLABEL表示できます。

ほとんどのLinuxディストリビューションでは、root=/dev/sdaNこのオプションをformに変更できますroot=UUID=<the long hexadecimal string form blkid>。これにより、ルートファイルシステムは、検索された順序ではなく、一意のファイルシステムUUIDによって明確に識別されます。

Linuxディストリビューションの名前とバージョンを指定しなかったため、ブートローダ設定の場所がLinuxディストリビューションによって異なるため、正確にどこで変更する必要があるかを説明できません。しかし、最新のディストリビューションでは、/etc/default/grubおそらく良い推測でしょう。修正後、通常は/etc/default/grub実際のブートローダを更新するためにいくつかのコマンドを実行する必要があります。これはupdate-grub、またはgrub-mkconfig同様のものである可能性があります。

関連情報