分页: 1 / 1

放个archiso安装盘iso的grub2硬盘引导的配置菜单

发表于 : 2019-08-05 18:54
32idea
最近换了个本子,要装arch,鉴于现在都流行uefi,就折腾了一下。顺便查了一下如何用grub2直接引导安装盘archlinux-2019.08.01-x86_64.iso来启动。当然,之前也是可以的,就是每次换新版光盘镜像时要修改菜单里的几处设置(比如img的位置,安装光盘的位置,还有指定光盘卷标),通用性不强,这次参考了archlinux官方论坛的一些讨论,改了改grub.cfg的菜单。以后只要改个光盘名字就能启动了,通用性强了很多,用在U盘启动上也省了很多事情。因为自己也不太懂,在两台机子上试了可行。以下仅供参考。两个效果是一样的,不同写法。给有需要的人。当然dd更省事了。如有错误,请补充。

# (6-1) archiso-x86_64
menuentry 'archiso-A' {
set isofile='/iso/archlinux-2019.08.01-x86_64.iso'
search --set -f $isofile
loopback loop $isofile
probe -u $root --set=rootuuid
set imgdevpath="/dev/disk/by-uuid/$rootuuid"
linux (loop)/arch/boot/x86_64/vmlinuz archisodevice=/dev/loop0 img_dev=$imgdevpath img_loop=$isofile
initrd (loop)/arch/boot/x86_64/archiso.img
}

# (6-2) archiso-x86_64
menuentry 'archiso-B' {
set isofile='/iso/archlinux-2019.08.01-x86_64.iso'
search --set -f $isofile
loopback loop $isofile
probe -u $root --set=rootuuid
set imgdevpath="/dev/disk/by-uuid/$rootuuid"
linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=$isolabel img_dev=$imgdevpath img_loop=$isofile
initrd (loop)/arch/boot/x86_64/archiso.img
}


同时附上archlinux官方论坛讨论的链接https://bbs.archlinux.org/viewtopic.php?id=78171&p=3
archiso-B里没有定义$isolabel,但也成功引导了,所以就把这一句省了“probe -l loop --set=isolabel”


另外附上之前通用性不强的写法:
# (6-3) archiso-x86_64
menuentry 'archiso-x86_64' {
set isofile='/iso/archlinux-2018.12.01-x86_64.iso'
search --set -f $isofile
loopback loop $isofile
linux (loop)/arch/boot/x86_64/vmlinuz archisobasedir=arch archisolabel=ARCH_201812 \
img_dev=/dev/disk/by-label/wd img_loop=$isofile earlymodules=loop
initrd (loop)/arch/boot/x86_64/archiso.img
}

Re: 放个archiso安装盘iso的grub2硬盘引导的配置菜单

发表于 : 2019-08-10 10:26
dogfox
可以格式化U盘为fat32,然后使用7z解压archlinuxiso到U盘,开机启动选择uefi之中的U盘

Re: 放个archiso安装盘iso的grub2硬盘引导的配置菜单

发表于 : 2019-08-14 13:02
handyw
dogfox 写了:
2019-08-10 10:26
可以格式化U盘为fat32,然后使用7z解压archlinuxiso到U盘,开机启动选择uefi之中的U盘
他这是硬盘安装,是没有U盘情况下的用法