安装完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: “$”:无效格式字符
在 %
请问一下这个是什么问题??
离线
sudo bash -x /usr/bin/grub-mkconfig -o /boot/grub/grub.cfg &> debug.log
然后看看 debug.log 里怎么说。
离线
设置 `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)
离线
sudo bash -x /usr/bin/grub-mkconfig -o /boot/grub/grub.cfg &> debug.log
然后看看 debug.log 里怎么说。
离线
设置 `LANG=C` 的话 运行这个命令是正常的
研究了一下
https://archlinux.org/packages/core/x86_64/grub/ 找个包在 2022-08-19 11:22 UTC 进行了更新
https://github.com/archlinux/svntogit-p … 23a43a3febgrub-2:2.06.r261.g2f4430cc0 是正常的
grub-2:2.06.r297.g0c6c1aff2 是需要单独设置下 `LNAG=C` 就能解决的https://jimnong.tistory.com/1611
所以
找个应该怎么让上游进行修复
设置LANG=C确实可行,确实也是最近更新了grub之后就发生错误了
离线
咦,没抓到有问题的地方。
算了,我重现试试吧。
离线
好哦,我没有复现……
你单执行 os-prober 命令如何?
离线
好哦,我没有复现……
你单执行 os-prober 命令如何?
当 grub 版本是 grub-2:2.06.r297.g0c6c1aff2 并且 LANG=zh_CN.UTF-8 况且存在 win引导 且在同一个硬盘时候会出现
离线
哦,条件有点多……
离线
好哦,我没有复现……
你单执行 os-prober 命令如何?
单执行会给出windows分区
/dev/nvme1n1p1@/efi/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:WIndows:efi
离线
依云 说:好哦,我没有复现……
你单执行 os-prober 命令如何?
当 grub 版本是 grub-2:2.06.r297.g0c6c1aff2 并且 LANG=zh_CN.UTF-8 况且存在 win引导 且在同一个硬盘时候会出现
我两个系统分装在两块硬盘上也是出现了这种情况
离线
老哥我跟你情况一样,重现成功,
解决方法暂时只有LANG=C
离线
复现,而且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 系统
离线
sudo LANG=C grub-mkconfig -o /boot/grub/grub.cfg 这样跑。
sudo 默认不继承你 shell 里的环境变量,所以你得作为参数告诉它。
离线
复现,而且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 吗
离线