3
USBハードディスクからLinuxカーネルを起動するためにgrubをどのように設定すればよいですか?
外付けエンクロージャーにラップトップハードドライブがあり、これを大きなペンドライブとして使用しています。さらにひねりを加えるために、Linuxをインストールしたので、選択したディストリビューションで任意のマシンをブートできます(たとえば、データリカバリやb0rkedシステムの修復、またはプレインストールされたWindowsを破壊せずに借りたラップトップを使用)。問題は、ハードウェア構成によっては、USBハードドライブが異なるパスで表示される場合があることです。GRUBの構成については、GRUBの起動元(hda0,0)のデバイスに関連して使用します。にUUIDエントリがあり/etc/fstabます。またrootwait、デバイスをマウントする前にUSBサブシステムが落ち着くまで待機するように、カーネルパラメーターで指定します。 カーネルに何を渡すべきroot=ですか?現在、ペンドライブから1回起動し、デバッグメッセージをチェック/dev/sdXして、カーネルによってUSBドライブに割り当てられているデバイスを確認してから、再起動してgrub設定を編集します。Boot from USB hard driveBIOSで有効にして、内蔵ハードドライブよりも高い優先度に設定する以外、PCで何も変更できません。 ルートデバイスパスでのUUIDのサポートを含む、さまざまなinitrd生成スクリプトがありますが、残念ながら、Gentooネイティブのもの(genkernel)はサポートrootwaitしていません。 起動プロセスは次のようになります(Windowsでも非常に似ています)。 BIOSはブートデバイスを選択し、MBR(grub stage-1)をロードします。 Grubは、BIOSによってロードされたデバイスにroot使用(hd0)して、設定されたデバイスから構成とステージ2ファイルをロードします。 Grubはカーネルをロードして起動します(同じ番号付けなので、(hd0,0)再び使用できます)。 カーネルはすべての組み込みデバイスを初期化します(rootwait今では魔法のようです)。 カーネルは、渡されたパーティションをマウントしますroot(これはカーネルパラメーターであり、grubパラメーターではありません)。 init.dからのマウントを含む、ユーザーランドの起動プロセスを開始します/etc/fstab。 パート5は私に問題を与えているものです。