Linux

使用 Live USB 從頭開始安裝 GRUB

  • January 30, 2022

我是 Windows 使用者,但偶爾會使用 Live Ubuntu 進行一些故障排除。我正在嘗試更多地了解 Linux,並且我正在嘗試將 GRUB 安裝在 USB 驅動器上(最終我也會在同一個驅動器上安裝 Tiny Core,但現在我只想讓 GRUB 工作,用於教育目的)。

我閱讀了 GRUB 手冊,直到“使用 grub-install 安裝 GRUB”部分,但是我遇到了各種我缺乏基本知識來理解的錯誤(並且在 Google 上找不到答案)。

這是我到目前為止所做的:

  1. 從 Ubuntu 18.04 的 Live USB 啟動(使用帶有 MBR 分區方案的 Rufus 從 Windows 創建)
  2. 使用 GParted在我的(第二個)USB 驅動器(/dev/sdb)上創建一個(空的)msdos分區表
  3. 從https://ftp.gnu.org/gnu/grub/下載grub-2.06.tar.gz原始碼
  4. 安裝執行所需的所有依賴./configureapt
  5. 執行./configure --host=x86_64 --with-platform=efi生成Makefile(我認為我的電腦是UEFI,因為文件夾/sys/firmware/efi存在)
  6. 執行sudo make install

從這一點來看,如果我這樣做:

  • sudo grub-install /dev/sdb我明白了grub-install: error: cannot find EFI directory.
  • sudo grub-install /dev/sdb --efi-directory=/cdrom/EFI我明白了grub-install: error: unknown filesystem.

誰能指出我正確的方向以使我擺脫困境?我在網上找到的所有指南都是關於在已安裝 Linux 作業系統時“修復”GRUB。非常感謝。

我認為您正在混合使用 legacy 和 uefi 選項,並且沒有正確設置 uefi。

如果您已經有 Windows,則不需要另一個msdos 分區。(這是假設您希望它在硬碟驅動器上而不是可移動媒體上。)

  • 創建空目錄 /boot/efi
  • 查看您的分區表以查找 EFI 分區。安裝在/boot/efi; 裡面應該已經有 Windows 引導件了。如果你已經安裝了 linux,你應該將它(最好使用它的 uuid)添加到 /etc/fstab
  • 然後執行grub-install但沒有任何選項。它應該找到您安裝的 efi 分區。您嘗試使用的磁碟選項用於舊版。
  • grub-install 應該創建一個 linux 目錄,並且 windows 目錄也應該在那裡;兩個作業系統應該在同一個 EFI 分區中。
  • Grub 可能還需要一個 linux 格式的填充 /boot 分區來儲存它的一些片段。

在可移動媒體上安裝略有不同。

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