uefi下如何启动linux?
1. 有两种方式
1.1 直接从uefi shell启动linux内核
1.2 从uefi shell启动grub,然后再从grub启动linux内核
2. 需要哪些东西?
2.1 linux内核
2.2 initrd镜像
2.3 .nsh后缀名的启动脚本(可选,可通过手动键入命令)
某个.nsh的内容如下:
Image initrd=\initrd.gz root=/dev/ram0 earlycon=uart
2.4 BOOTAA64.EFI (这是arm64的EFI固件,可选)
注: 这些东西需要放在fat文件系统中
3. uefi shell启动linux内核的操作过程
3.1 进入目标分区
Shell> fs0:
FS0:\>
3.2 启动linux内核
FS0:\>boot.nsh
4. 从uefi shell启动grub, 然后启动linux内核
4.1 进入目标分区
Shell> fs0:
FS0:\>
4.2. 进入grub
FS0:\>BOOTAA64.EFI
4.3 在grub中设置临时访问的根节点
grub> root=(hd0,msdos1) (hd0,msdos1中有linux内核镜像和initrd镜像)
4.4 启动linux内核
grub> linux /Image initrd=/initrd.gz earlycon=uart root=(hd0,msdos1) rw rootwait