USB Fedoraに移動/起動

USB Fedoraに移動/起動

私はLinuxの愚かな奴で、私にとってはとても裸です。

基本的にノートパソコンにSSDを正常にインストールしました。これで、USBが接続されている場合にのみ起動できるように、ブートローダとカーネル、暗号化されていないすべてのファイルをUSBに移動したいと思います。

基本的に私はこの質問に反対しようとしています。 GRUBをUSBからHDに移動

インターネットでたくさん見ましたが、ステップバイステップのガイドが見つかりませんでした。私の長期的な目標は、SSDにWindowsをインストールしてもUSBを接続していない状態でのみWindowsを起動できることです。

どのように設定しますか?

ありがとうございます:)

答え1

(説明によると)UEFIシステムがあるため、ブートローダのみを移行するのは実際には非常に簡単です。

USBディスクをFAT32でフォーマットします。たとえば、インストールすると/media/usbdiskディレクトリが作成されます/media/usbdisk/EFI。次に、/boot/efi/EFI/fedoraディレクトリの内容全体を次の場所にコピーします/media/usbdisk/EFI

cp -r /boot/efi/EFI/fedora /media/usbdisk/EFI/

そのディレクトリfedoraをにコピーしbootshim.efiその中で名前を変更しますbootx64.efi

cd /media/usbdisk/EFI
cp -r fedora boot
cd boot
mv shim.efi bootx64.efi

USBディスクがディスクにインストールされているLinuxを起動できるようになりました!これでテストできます。機能している場合は、既存のEFIシステムパーティションの代わりに/etc/fstabUSBディスクをマウントするように変更できます。/boot/efi

しかし、まだ問題が発生する可能性があります。新しいカーネルパッケージをインストールするたびに、パッケージマネージャはUSBディスクのブートローダ設定を更新しますが、/boot/efi/EFI/fedora/grub.cfg起動時に使用される実際の設定ファイルは/boot/efi/EFI/boot/grub.cfg/boot/efi/EFI/boot/grub.cfg1行だけを含む「ダミー」構成ファイルに置き換えてください。

configfile /EFI/fedora/grub.cfg

起動時のイベントの順序は次のとおりです。

  1. ファームウェアは、標準のUEFIリムーバブルメディア/代替ブートパスを使用してUEFIモードでUSBから起動します。 (/EFI/boot/bootx64.efiUSBディスクファイルシステムのルートに相対的)
  2. bootx64.efi実際にshim.efiセキュアブートの問題を処理し、grubx64.efi同じディレクトリからブートします。
  3. grubx64.efigrub.cfg同じディレクトリにある仮想オブジェクトを読み込みます。 USBスティックのディレクトリからconfigfile /EFI/fedora/grub.cfg実際の設定ファイルを読み込むように指示します。/EFI/fedora
  4. grubx64.efi実際の G​​RUB 構成ファイルを読み込みます。使用されるセキュアブートシムはgrubx64.efi完全に別々のバージョンである必要があるため、必要なすべてのGRUBモジュールが組み込まれています。したがって、SSDのインストールとまったく同じ構成を使用して、SSDの任意の場所に(暗号化または暗号化されていない)カーネルファイルとinitramfsファイルをロードできます。
  5. grubx64.efiFedora カーネルと initramfs を起動すると、ブートローダの操作が完了します。
  6. Fedoraは起動時にUSBディスクをマウントするため、/boot/efi将来の/etc/fstabカーネルアップデートは自動的に/boot/efi/EFI/fedora/grub.cfgUSBディスクを更新します。

別々のパーティションがあり、/boot特にUSBディスクにも移動する場合は、USBディスクに2つのパーティション、つまりFAT32パーティション(ローマウント/boot/efi)とLinuxパーティション(ローマウント)が必要です。/boot)。この場合、SSDブートケースと同じGRUB構成は機能しなくなります。ただし、実行する前に他のすべてを設定しても、grub2-mkconfig適切な設定ファイルを作成できます。

答え2

要約:Linuxシステムを起動するためにUSBサポートにブートローダを配置すると同時に、ブートローダを含むUSBディスクなしでWindowsシステムを起動しようとしています。 それは不可能です。 実際、ブートローダはGNU LinuxシステムとMS Windowsシステムをロードします。ブートローダがないと、MS Windowsオペレーティングシステムを起動できません。

関連情報