私はカーネルとすべてを含むフラッシュドライブに最初からLinuxシステムを構築しました。ホストハードドライブのGRUBインスタンスを介して起動すると正常に動作します。インストールしたいです。フラッシュのGRUB。これは、ホストのGRUBインスタンスが必要ないためです。動作する grub 設定ファイルを含む /boot フォルダが USB にあり、欠落しているように見える唯一のものは grub 自体です。 (また、レガシーBIOSと互換性があり、より多くのタイプのシステムから起動できたらと思います。)
答え1
前に危険な命令があり、システムに害を及ぼす可能性があります。安全のためにLive CDでこれを行うことができます。
- 以下のようにUSBを取り付けます
/mnt
。 - USBデバイスを記録してください。たとえば、
/dev/sdb
次のコマンドで使用されます。 - インストールする
grub-efi-amd64
。 - 起動可能とマークされている場合は、
/dev/sdb1
ディスクユーティリティを使用できます。 - 実装する
$ dirs=(dev etc usr lib lib64 bin sbin sys proc)
$ for dir in ${dirs[@]}; do mkdir /mnt/$dir && sudo mount --bind /$dir /mnt/$dir; done
$ sudo chroot /mnt/
# grub-install --force --removable --target=x86_64-efi --efi-directory=/ /dev/sdb1
# grub-install --force --removable --target=i386-pc --boot-directory=/ /dev/sdb
# exit
$ for dir in ${dirs[@]}; do sudo umount /mnt/$dir && rm -r /mnt/$dir; done
これで、efiとレガシーGRUBの両方がインストールされ、起動可能ファイルがすでにgrub.cfg
存在する/boot/grub
場合はバックアップを作成します。