您尚未登录。

#1 2021-08-10 10:16:34

Negativ
会员
注册时间: 2018-10-20
帖子: 20

【已解决】linux 版本5.13.x的内核无法进入系统,但5.10.x的可以

我的系统分区使用的是btrfs,使用linux-lts(5.10.56-1)和linux-lily(5.10.52-1)内核可以进入系统,但是用linux和linux-zen(都是5.13.9)启动后会出现以下情况:
系统不认识根目录的文件系统,所以挂载根目录失败,于是系统启动失败;但是用5.10.x版本内核启动,一点问题都没有。
IMG_20210810_095643.jpg
这是/etc/fstab里面根目录的条目:

# /dev/nvme0n1p5 LABEL=\134xe4\134xb8\134x8d\134xe7\134x9f\134xa5\134xe7\134x81\134xab\134xe6\134xad\134xa6\134xe5\134x99\134xa8\134xe8\134xbf\134x90\134xe8\134xbd\134xbd\134xe8\134xbd\134xa6
UUID=d7b8c7bb-e63e-4e21-b926-01f8ab106733       /               btrfs           rw,relatime,ssd,space_cache,subvolid=256,subvol=/system-root    0 0

下面是lsblk的输出:

NAME        FSTYPE FSVER UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
nvme0n1                                                                      
├─nvme0n1p1 vfat   FAT32 198E-4FD3                               4.9G     2% /boot/efi
├─nvme0n1p2 ntfs         7E5A06C61CB44D8D                                    
├─nvme0n1p3 ntfs         E2920E69FDFB2F6A                                    
├─nvme0n1p4 ext4   1.0   b3ee3e21-e589-4813-ba7b-cfa1b5b6911f                
├─nvme0n1p5 btrfs        d7b8c7bb-e63e-4e21-b926-01f8ab106733  210.4G    46% /
├─nvme0n1p6 ext4   1.0   b1a6d6a7-d24b-487a-87fb-28c6669972ed   15.2G    17% /mnt/LFS
└─nvme0n1p8 swap   1     bca466bf-8051-4b3a-9a0b-a38b982bcc0f                [SWAP]

这样的情况怎么解决?

最近编辑记录 Negativ (2021-08-11 10:47:43)

离线

#2 2021-08-10 10:54:14

matrikslee
会员
注册时间: 2017-04-21
帖子: 442
个人网站

Re: 【已解决】linux 版本5.13.x的内核无法进入系统,但5.10.x的可以

没仔细看fstab的愚蠢发言,编辑了
fstab 里面把label换成uuid试试?我用的uuid,之前改过好几次btrfs根文件系统都没事(在保持uuid不变的情况下)
我系统目前只有linux-zen内核,并且实时更新

最近编辑记录 matrikslee (2021-08-11 21:43:04)

离线

#3 2021-08-10 11:52:26

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

Re: 【已解决】linux 版本5.13.x的内核无法进入系统,但5.10.x的可以

你的 lsblk 是哪个内核列出来的?
在 emengency shell 里, ls /dev/nvme0* 看看?

离线

#4 2021-08-10 13:03:29

Negativ
会员
注册时间: 2018-10-20
帖子: 20

Re: 【已解决】linux 版本5.13.x的内核无法进入系统,但5.10.x的可以

依云 说:

你的 lsblk 是哪个内核列出来的?
在 emengency shell 里, ls /dev/nvme0* 看看?

lsblk是用正常启动的内核列出来的(linux-lily和linux-lts)
emergency shell下可以看到/dev/nvme0,/dev/nvme0n1,/dev/nvme0n1p1到/dev/nvme0n1p8

离线

#5 2021-08-10 13:04:50

Negativ
会员
注册时间: 2018-10-20
帖子: 20

Re: 【已解决】linux 版本5.13.x的内核无法进入系统,但5.10.x的可以

补充一下,即便在emergency shell里面手动挂载也会失败,不仅是系统分区,任何分区都不行

离线

#6 2021-08-10 13:07:33

Negativ
会员
注册时间: 2018-10-20
帖子: 20

Re: 【已解决】linux 版本5.13.x的内核无法进入系统,但5.10.x的可以

matrikslee 说:

fstab 里面把label换成uuid试试?我用的uuid,之前改过好几次btrfs根文件系统都没事(在保持uuid不变的情况下)
我系统目前只有linux-zen内核,并且实时更新

fstab里面使用的一直是uuid,grub.cfg里面也是按照uuid查找分区,grub里面几个启动菜单项,除了内核和initrd文件不一样,其它包括内核参数在内的所有内容完全一致

最近编辑记录 Negativ (2021-08-10 13:08:28)

离线

#7 2021-08-10 13:50:51

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

Re: 【已解决】linux 版本5.13.x的内核无法进入系统,但5.10.x的可以

Negativ 说:

补充一下,即便在emergency shell里面手动挂载也会失败,不仅是系统分区,任何分区都不行

lsinitcpio /boot/initramfs-linux.img | grep btrfs 看看 initramfs 里是不是没有 btrfs 内核模块?

离线

#8 2021-08-10 15:16:13

Negativ
会员
注册时间: 2018-10-20
帖子: 20

Re: 【已解决】linux 版本5.13.x的内核无法进入系统,但5.10.x的可以

依云 说:
Negativ 说:

补充一下,即便在emergency shell里面手动挂载也会失败,不仅是系统分区,任何分区都不行

lsinitcpio /boot/initramfs-linux.img | grep btrfs 看看 initramfs 里是不是没有 btrfs 内核模块?

> lsinitcpio /boot/initramfs-linux.img | grep btrfs
usr/bin/fsck.btrfs
usr/lib/modules/5.13.9-arch1-1/kernel/btrfs.ko.zst
usr/lib/udev/rules.d/64-btrfs.rules
> lsinitcpio /boot/initramfs-linux-zen.img | grep btrfs
usr/bin/fsck.btrfs
usr/lib/modules/5.13.9-zen1-1-zen/kernel/btrfs.ko.zst
usr/lib/udev/rules.d/64-btrfs.rules
> lsinitcpio /boot/initramfs-linux-lily.img | grep btrfs 
usr/bin/fsck.btrfs
usr/lib/modules/5.10.52-1-lily/kernel/btrfs.ko
usr/lib/udev/rules.d/64-btrfs.rules
> lsinitcpio /boot/initramfs-linux-lts.img | grep btrfs 
usr/bin/fsck.btrfs
usr/lib/modules/5.10.56-1-lts/kernel/btrfs.ko
usr/lib/udev/rules.d/64-btrfs.rules

离线

#9 2021-08-10 16:05:54

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

Re: 【已解决】linux 版本5.13.x的内核无法进入系统,但5.10.x的可以

咦, zst 压缩的模块,它就用不了了?

离线

#10 2021-08-10 16:14:07

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

Re: 【已解决】linux 版本5.13.x的内核无法进入系统,但5.10.x的可以

我试了一下, btrfs.ko.zst 没问题呀。

离线

#11 2021-08-11 10:46:22

Negativ
会员
注册时间: 2018-10-20
帖子: 20

Re: 【已解决】linux 版本5.13.x的内核无法进入系统,但5.10.x的可以

此帖终结,问题已解决:
在emergency shell里面用dmesg抓内核日志,发现btrfs报错:

BTRFS error (device nvme0n1p5): device total_bytes should at most 395136991232 but found 416611827712
BTRFS error (device nvme0n1p5): failed to read chunk tree: -22
BTRFS error (device nvme0n1p5): open_ctree_failed

然后我找到有人给Arch官方上报的bugFS#69778,按照评论建议运行了

sudo btrfs filesystem resize max /

,现在可以进入新内核了

离线

页脚