LFS USBドライブにGRUBを取り付ける

LFS USBドライブにGRUBを取り付ける

私はカーネルとすべてを含むフラッシュドライブに最初からLinuxシステムを構築しました。ホストハードドライブのGRUBインスタンスを介して起動すると正常に動作します。インストールしたいです。フラッシュのGRUB。これは、ホストのGRUBインスタンスが必要ないためです。動作する grub 設定ファイルを含む /boot フォルダが USB にあり、欠落しているように見える唯一のものは grub 自体です。 (また、レガシーBIOSと互換性があり、より多くのタイプのシステムから起動できたらと思います。)

答え1

前に危険な命令があり、システムに害を及ぼす可能性があります。安全のためにLive CDでこれを行うことができます。

  1. 以下のようにUSBを取り付けます/mnt
  2. USBデバイスを記録してください。たとえば、/dev/sdb次のコマンドで使用されます。
  3. インストールするgrub-efi-amd64
  4. 起動可能とマークされている場合は、/dev/sdb1ディスクユーティリティを使用できます。
  5. 実装する
  $ 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場合はバックアップを作成します。

関連情報