私は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
をにコピーしboot
、shim.efi
その中で名前を変更しますbootx64.efi
。
cd /media/usbdisk/EFI
cp -r fedora boot
cd boot
mv shim.efi bootx64.efi
USBディスクがディスクにインストールされているLinuxを起動できるようになりました!これでテストできます。機能している場合は、既存のEFIシステムパーティションの代わりに/etc/fstab
USBディスクをマウントするように変更できます。/boot/efi
しかし、まだ問題が発生する可能性があります。新しいカーネルパッケージをインストールするたびに、パッケージマネージャはUSBディスクのブートローダ設定を更新しますが、/boot/efi/EFI/fedora/grub.cfg
起動時に使用される実際の設定ファイルは/boot/efi/EFI/boot/grub.cfg
。/boot/efi/EFI/boot/grub.cfg
1行だけを含む「ダミー」構成ファイルに置き換えてください。
configfile /EFI/fedora/grub.cfg
起動時のイベントの順序は次のとおりです。
- ファームウェアは、標準のUEFIリムーバブルメディア/代替ブートパスを使用してUEFIモードでUSBから起動します。 (
/EFI/boot/bootx64.efi
USBディスクファイルシステムのルートに相対的) bootx64.efi
実際にshim.efi
セキュアブートの問題を処理し、grubx64.efi
同じディレクトリからブートします。grubx64.efi
grub.cfg
同じディレクトリにある仮想オブジェクトを読み込みます。 USBスティックのディレクトリからconfigfile /EFI/fedora/grub.cfg
実際の設定ファイルを読み込むように指示します。/EFI/fedora
grubx64.efi
実際の GRUB 構成ファイルを読み込みます。使用されるセキュアブートシムはgrubx64.efi
完全に別々のバージョンである必要があるため、必要なすべてのGRUBモジュールが組み込まれています。したがって、SSDのインストールとまったく同じ構成を使用して、SSDの任意の場所に(暗号化または暗号化されていない)カーネルファイルとinitramfsファイルをロードできます。grubx64.efi
Fedora カーネルと initramfs を起動すると、ブートローダの操作が完了します。- Fedoraは起動時にUSBディスクをマウントするため、
/boot/efi
将来の/etc/fstab
カーネルアップデートは自動的に/boot/efi/EFI/fedora/grub.cfg
USBディスクを更新します。
別々のパーティションがあり、/boot
特にUSBディスクにも移動する場合は、USBディスクに2つのパーティション、つまりFAT32パーティション(ローマウント/boot/efi
)とLinuxパーティション(ローマウント)が必要です。/boot
)。この場合、SSDブートケースと同じGRUB構成は機能しなくなります。ただし、実行する前に他のすべてを設定しても、grub2-mkconfig
適切な設定ファイルを作成できます。
答え2
要約:Linuxシステムを起動するためにUSBサポートにブートローダを配置すると同時に、ブートローダを含むUSBディスクなしでWindowsシステムを起動しようとしています。 それは不可能です。 実際、ブートローダはGNU LinuxシステムとMS Windowsシステムをロードします。ブートローダがないと、MS Windowsオペレーティングシステムを起動できません。