Boot

在 LFS USB 驅動器上安裝 GRUB

  • February 1, 2022

我已經在帶有核心和所有內容的快閃記憶體驅動器上建構了一個 Linux From Scratch 系統。當我通過主機硬碟上的 GRUB 實例啟動它時,它工作正常。我想安裝。快閃記憶體上的 GRUB。驅動器,因為不需要主機的 GRUB 實例。USB 上有一個 /boot 文件夾,其中包含一個工作 grub 配置文件,似乎唯一缺少的是 grub 本身。(我也希望它與 Legacy BIOS 兼容,以便它可以在更多類型的系統上啟動)

前面有危險的命令,你可能會傷害你的系統。為了安全起見,您可以通過 live cd 執行此操作。

  1. 安裝 USB,在/mnt.
  2. 記下/dev/sdb將在以下命令中使用的 USB 設備。
  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 和 legacy GRUB,可引導文件grub.cfg位於/boot/grub. 如果文件已經存在,請備份。

引用自:https://unix.stackexchange.com/questions/688893