分页: 1 / 1

请教grub2有没有办法做字符串处理,用以实现自动探测并启动硬盘中的linux

发表于 : 2018-03-16 11:48
fuhuizn
下面这个 menuentry 启动时只能手动输入root参数,无法自动生成合适的root参数,有没有办法实现字符串的替换?

代码: 全选

menuentry '硬盘Linux' {
	search --file /vmlinuz --set=root
	search --file /etc/fstab --set=part_lin
	echo "发现 Linux 内核在: $root"
	echo "发现可能的 Linux 根分区: $part_lin"
	echo "输入根分区位置( Linux参数:root=/dev/sdaX )"
	echo "要求输入格式: /dev/sdaX :"
	read lin_root
	linux /vmlinuz ro root=$lin_root
	initrd /initrd.img
}

Re: 请教grub2有没有办法做字符串处理,用以实现自动探测并启动硬盘中的linux

发表于 : 2018-03-16 13:30
fuhuizn
解决

代码: 全选

regexp --set=x '.*([0-9]+)$' $part_lin
set root_lin="/dev/sda$x"
不好意思,之前有错,正则表达式不能用双引号,只能用单引号

Re: 请教grub2有没有办法做字符串处理,用以实现自动探测并启动硬盘中的linux

发表于 : 2020-04-07 1:43
疯无可疯
请教版主哪里有grub2的regexp --set的详解资料?