Arch-Linux

通過 QEMU 仿真將 Arch 安裝到 USB 密鑰上,但所有 efivar 文件都失去了

  • June 18, 2019

我對此真的很陌生,我嘗試在 MacOS 上使用 x86 模擬器 QEMU將 archlinux(來自官方 Arch ISO: here)安裝到 128GB USB 3.1 Samsung 密鑰(這個)上。

我完成了所有的安裝:

  1. 使用可訪問的 USB 密鑰啟動 QEMU
  2. 以分區表格式 GPT 寫入 USB 密鑰
  3. 使用 parted (VFAT, FAT32) 製作 261MiB ESP
  4. 使用 ext4 文件系統創建一個空白分區(剩餘空間的 100%)
  5. 第二個分區上的 Pacstrap Arch
  6. 配置 Arch(主要是日期/時間,fstab 的東西)
  7. 將 GRUB2 安裝到 EFI 分區
  8. 祝福EFI分區

我嘗試從我的 Mac 和 Windows 電腦重新啟動到 Arch(我不知道是什麼版本,抱歉),但它從未顯示為可啟動分區(我只是看到“Macintosh HD”是唯一的選擇,我的意思是)。

據我所知,問題是我錯過了所有的 efivars。據說,他們的位置是在,/sys/firmware/efi但(在arch-chroot /mnt-ing之後)ls /sys/firmware只給了我acpi devicetree dmi memmap qemu_fw_cfg.

這是我按順序執行的所有命令的列表,直到我開始嘗試解決我的efivars危機:這裡

從那以後,我嘗試安裝 rEFInd ( efibootmgr --create --disk /dev/vda --part 1 --loader /EFI/BOOT/bootx64.efi --label "rEFINd Boot Manager" --verbose),它安裝正確,但似乎沒有多大幫助。我嘗試modprobe efivarsmodeprobe efivar按照這個建議,它告訴我“致命:在目錄中找不到模組 efivar /lib/modules/5.1.5-arch1-2-ARCH。”

這是我的 Mac 的配置文件,如果有幫助的話:

我更改了安全啟動設置(老實說,我只是添加了一個密碼以允許所有可啟動驅動器出現)。

如果您也遇到此問題,請重新啟動到恢復分區(當蘋果出現在啟動時命令-R),然後轉到實用程序> 安全啟動設置或類似的東西 - 無論如何都是最上面的。

我不清楚您是嘗試直接在 Mac 上啟動 U 盤還是使用 QEMU 模擬器。我在你的編號列表中沒有看到任何關於 QEMU 的資訊。

如果你打算在 QEMU 上執行 Arch Linux,並且你想使用 UEFI 韌體,那麼你必須使用 UEFI 韌體和 QEMU。因為 QEMU 模擬整台機器,包括韌體,所以您不能使用本機韌體(無論是 UEFI 還是舊版 BIOS)。OVMF是 Tianocore UEFI 韌體實現到 QEMU 的一個埠。啟動虛擬機時,您必須將 OVMF 韌體文件指定給 QEMU/KVM。

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