同事的mac air,在一移動硬盤上安裝Arch Linux,過程記錄一下。
分區
分區類型爲gpt
,分區如下:
1. `/dev/sda1` - 1MB, 保留分區,作爲與msdos分區格式兼容用, flag爲'bios\_grub'
2. `/dev/sda2` - 200MB, ESP分區, 文件系統爲'fat32', flag爲'boot'
3. `/dev/sda3` - 60GB, `Arch Linux`根分區
4. `/dev/sda4` - 剩餘容量,數據分區
安裝grub
mount /dev/sda3 /mnt
mount /dev/sda2 /media/esp
grub安装到MBR
grub-install --target=i386-pc --recheck --boot-directory=/mnt/boot /dev/sda
grub安装到ESP
grub-install --target=x86_64-efi --efi-directory=/mounted_esp
遇到的問題
-
安裝時直接用
qemu
虛擬機掛載的硬盤,在真機上啓動時會有root not found
的錯誤,只要用fallback
啓動,然後 執行mkinitcpio -p linux
即可。 -
Apple Mac EFI grub菜单(grub.cfg)路径:
<ESP>/System/Library/CoreServices/grubx64.cfg
2023年5月27日更新
UEFI的启动项保存在NVRAM中,某些型号的电脑在保存NVRAM时会出问题,然后会重置NVRAM。 此时的默认启动项是Windows的EFI,故使用Windows的启动管理工具将grub添加为启动项并设置为默认可避免无法从grub启动的问题。
bcdedit /set "{bootmgr}" path \EFI\arch/grubx64.efi