您尚未登录。

#1 2022-08-20 01:18:51

ausosa
会员
注册时间: 2022-08-19
帖子: 11

生成引导文件出错

安装完arch(wayfire)和windows双系统之后(),我按照wiki配置休眠,添加resume和resume_offset参数之后重新生成引导文件。结果出现如下错误

正在生成 grub 配置文件 ...
找到 Linux 镜像:/boot/vmlinuz-linux
找到 initrd 镜像:/boot/intel-ucode.img /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot:  intel-ucode.img initramfs-linux-fallback.img
警告: os-prober 将运行以检测其它可引导分区。
将使用 os-prober 的输出,以检测分区中可引导的二进制文件,并为其创建新的启动项。
/usr/share/grub/grub-mkconfig_lib: 第 237 行:printf: “$”:无效格式字符
在 %

请问一下这个是什么问题??

离线

#2 2022-08-20 10:45:38

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 7,570
个人网站

Re: 生成引导文件出错

sudo bash -x /usr/bin/grub-mkconfig -o /boot/grub/grub.cfg &> debug.log

然后看看 debug.log 里怎么说。

离线

#3 2022-08-20 12:17:26

puzzle
会员
注册时间: 2019-01-08
帖子: 13

Re: 生成引导文件出错

设置 `LANG=C` 的话 运行这个命令是正常的

研究了一下
https://archlinux.org/packages/core/x86_64/grub/ 找个包在 2022-08-19 11:22 UTC 进行了更新
https://github.com/archlinux/svntogit-p … 23a43a3feb

grub-2:2.06.r261.g2f4430cc0 是正常的
grub-2:2.06.r297.g0c6c1aff2 是需要单独设置下 `LNAG=C` 就能解决的

https://jimnong.tistory.com/1611

所以
找个应该怎么让上游进行修复

最近编辑记录 puzzle (2022-08-20 13:31:13)

离线

#4 2022-08-20 22:40:07

ausosa
会员
注册时间: 2022-08-19
帖子: 11

Re: 生成引导文件出错

依云 说:

sudo bash -x /usr/bin/grub-mkconfig -o /boot/grub/grub.cfg &> debug.log

然后看看 debug.log 里怎么说。

debug.log

离线

#5 2022-08-20 22:43:11

ausosa
会员
注册时间: 2022-08-19
帖子: 11

Re: 生成引导文件出错

puzzle 说:

设置 `LANG=C` 的话 运行这个命令是正常的

研究了一下
https://archlinux.org/packages/core/x86_64/grub/ 找个包在 2022-08-19 11:22 UTC 进行了更新
https://github.com/archlinux/svntogit-p … 23a43a3feb

grub-2:2.06.r261.g2f4430cc0 是正常的
grub-2:2.06.r297.g0c6c1aff2 是需要单独设置下 `LNAG=C` 就能解决的

https://jimnong.tistory.com/1611

所以
找个应该怎么让上游进行修复


设置LANG=C确实可行,确实也是最近更新了grub之后就发生错误了

离线

#6 2022-08-20 23:04:47

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 7,570
个人网站

Re: 生成引导文件出错

咦,没抓到有问题的地方。
算了,我重现试试吧。

离线

#7 2022-08-20 23:15:59

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 7,570
个人网站

Re: 生成引导文件出错

好哦,我没有复现……

你单执行 os-prober 命令如何?

离线

#8 2022-08-20 23:58:33

puzzle
会员
注册时间: 2019-01-08
帖子: 13

Re: 生成引导文件出错

依云 说:

好哦,我没有复现……

你单执行 os-prober 命令如何?


当 grub 版本是 grub-2:2.06.r297.g0c6c1aff2 并且 LANG=zh_CN.UTF-8 况且存在 win引导 且在同一个硬盘时候会出现

离线

#9 2022-08-21 00:12:31

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 7,570
个人网站

Re: 生成引导文件出错

哦,条件有点多……

离线

#10 2022-08-21 00:16:16

ausosa
会员
注册时间: 2022-08-19
帖子: 11

Re: 生成引导文件出错

依云 说:

好哦,我没有复现……

你单执行 os-prober 命令如何?

单执行会给出windows分区

/dev/nvme1n1p1@/efi/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:WIndows:efi

离线

#11 2022-08-21 00:17:09

ausosa
会员
注册时间: 2022-08-19
帖子: 11

Re: 生成引导文件出错

puzzle 说:
依云 说:

好哦,我没有复现……

你单执行 os-prober 命令如何?


当 grub 版本是 grub-2:2.06.r297.g0c6c1aff2 并且 LANG=zh_CN.UTF-8 况且存在 win引导 且在同一个硬盘时候会出现


我两个系统分装在两块硬盘上也是出现了这种情况

离线

#12 2022-08-21 14:15:54

Binger
会员
所在地: 河北
注册时间: 2022-08-21
帖子: 5

Re: 生成引导文件出错

老哥我跟你情况一样,重现成功,重现图片
解决方法暂时只有LANG=C

离线

#13 2022-08-22 00:10:11

strluck
会员
注册时间: 2022-08-22
帖子: 3

Re: 生成引导文件出错

复现,而且LANG=C也没能拯救我

$ export LANG=C
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
正在生成 grub 配置文件 ...
找到 Linux 镜像:/boot/vmlinuz-linux-zen
找到 initrd 镜像:/boot/intel-ucode.img /boot/initramfs-linux-zen.img
Found fallback initrd image(s) in /boot:  intel-ucode.img initramfs-linux-zen-fallback.img
找到 Linux 镜像:/boot/vmlinuz-linux-lts
找到 initrd 镜像:/boot/intel-ucode.img /boot/initramfs-linux-lts.img
Found fallback initrd image(s) in /boot:  intel-ucode.img initramfs-linux-lts-fallback.img
警告: os-prober 将运行以检测其它可引导分区。
将使用 os-prober 的输出,以检测分区中可引导的二进制文件,并为其创建新的启动项。
/usr/share/grub/grub-mkconfig_lib: 第 237 行:printf: “$”:无效格式字符
在

fdisk -l的部分信息

设备                起点      末尾      扇区  大小 类型
/dev/nvme0n1p2    206848    239615     32768   16M Microsoft 保留
/dev/nvme0n1p3    239616 488869887 488630272  233G Microsoft 基本数据
/dev/nvme0n1p4 488869888 490231806   1361919  665M Windows 恢复环境
/dev/nvme0n1p5 490231808 934828031 444596224  212G Linux 文件系统
/dev/nvme0n1p6 934828032 968382463  33554432   16G Linux swap
/dev/nvme0n1p7 968382464 972576767   4194304    2G EFI 系统

离线

#14 2022-08-22 00:41:38

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 7,570
个人网站

Re: 生成引导文件出错

sudo LANG=C grub-mkconfig -o /boot/grub/grub.cfg 这样跑。

sudo 默认不继承你 shell 里的环境变量,所以你得作为参数告诉它。

离线

#15 2022-08-22 12:33:08

puzzle
会员
注册时间: 2019-01-08
帖子: 13

Re: 生成引导文件出错

strluck 说:

复现,而且LANG=C也没能拯救我

$ export LANG=C
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
正在生成 grub 配置文件 ...
找到 Linux 镜像:/boot/vmlinuz-linux-zen
找到 initrd 镜像:/boot/intel-ucode.img /boot/initramfs-linux-zen.img
Found fallback initrd image(s) in /boot:  intel-ucode.img initramfs-linux-zen-fallback.img
找到 Linux 镜像:/boot/vmlinuz-linux-lts
找到 initrd 镜像:/boot/intel-ucode.img /boot/initramfs-linux-lts.img
Found fallback initrd image(s) in /boot:  intel-ucode.img initramfs-linux-lts-fallback.img
警告: os-prober 将运行以检测其它可引导分区。
将使用 os-prober 的输出,以检测分区中可引导的二进制文件,并为其创建新的启动项。
/usr/share/grub/grub-mkconfig_lib: 第 237 行:printf: “$”:无效格式字符
在

fdisk -l的部分信息

设备                起点      末尾      扇区  大小 类型
/dev/nvme0n1p2    206848    239615     32768   16M Microsoft 保留
/dev/nvme0n1p3    239616 488869887 488630272  233G Microsoft 基本数据
/dev/nvme0n1p4 488869888 490231806   1361919  665M Windows 恢复环境
/dev/nvme0n1p5 490231808 934828031 444596224  212G Linux 文件系统
/dev/nvme0n1p6 934828032 968382463  33554432   16G Linux swap
/dev/nvme0n1p7 968382464 972576767   4194304    2G EFI 系统

不过你 EFI 在最后一个分区 我第一次见 那你 /dev/nvme0n1p1 是 esp 吗

离线

页脚