[Boot/Shutdown] 更新系统后,无法引导BTRFS子卷中的深度系统了
Tofloor
poster avatar
二十六画生
deepin
2021-07-02 07:23
Author

更新到深度20.2.2后,安装在BTRFS子卷的深度系统启动不了,重新更新GRUB都无法解决问题!

 

磁盘分区结构,安装了Windows 10、Debain、Deepin

/dev/nvme0n1p1 FAT32  /boot/efi
/dev/nvme0n1p2 NTFS   Windows
/dev/nvme0n1p3 btrfs     Debian、Deepin
/dev/nvme0n1p4 EXFAT

/dev/nvme0n1p3 有DEEPIN/ROOT和DEBIAN/ROOT 子卷,做为对应系统的根文件系统

 

一顿操作,仍然没有修复引导

apt reinstall grub-efi
update-initramfs -u
update-grub
rm -rf /boot/efi/{deepin,ubuntu}
grub-install --target=x86_64-efi --bootloader-id=deepin --efi-directory=/boot/efi
cp -r /boot/efi/EFI/{deepin,ubuntu}
efibootmgr -c -L "deepin" -d /dev/nvme0n1 -p 1 -l \\EFI\\deepin\\grubx64.efi

 

现在启动进入 GRUB SHELL,我通过一下命令引导系统

configfile /EFI/deepin/grub.cfg

 

哪位大佬指点一下,为什么深度对btrfs这么不友好呢?

Reply Favorite View the author
All Replies
二十六画生
deepin
2021-07-02 07:53
#1

奇葩的操作和逻辑!希望深度关键的包只包含自己!最好都针对当前系统编译打包!!

感谢 @duanyao

现在(deepin 20.2.2)的 efi bug 和修正方法是这样的:

https://bbs.deepin.org/zh/post/222049

 

Reply View the author
duanyao
deepin
2021-07-02 08:13
#2

放心,我的 deepin 也是装在 btrfs 子卷上的,没啥问题,我那个修复grub的帖子也适用于btrfs。

我估计是因为你的ESP分区上缺少了/EFI/UOS/grub.cfg 这个文件,把 /EFI/deepin/grub.cfg 复制过来即可。

 

 

Reply View the author
duanyao
deepin
2021-07-02 08:19
#3

你的 grub-install 命令看起来没错,不过其实不用把参数写全,用默认的就好,加个--debug看看执行细节:

 

sudo grub-install --debug

 

efibootmgr 命令其实也没必要,grub-install会自动调用它的。

Reply View the author
二十六画生
deepin
2021-07-02 08:26
#4
duanyao

你的 grub-install 命令看起来没错,不过其实不用把参数写全,用默认的就好,加个--debug看看执行细节:

 

sudo grub-install --debug

 

efibootmgr 命令其实也没必要,grub-install会自动调用它的。

谢谢指教!确实efibootmgr通常是不需要使用,grub-install 也确实无需指定参数,通常是把ESP分区单独挂载时才指定目录。

Reply View the author
zhiq263
deepin
2021-07-02 09:40
#5

这样折腾一般用户是玩不起的,会直接放弃该系统的!

深度20.2.2,个人觉应该重装,不应该直接升级,因为和主板安全设置挂钩了

这样的更新肯定让很多用来工作的人吓出一身冷汗!

Reply View the author
二十六画生
deepin
2021-07-02 21:44
#6
zhiq263

这样折腾一般用户是玩不起的,会直接放弃该系统的!

深度20.2.2,个人觉应该重装,不应该直接升级,因为和主板安全设置挂钩了

这样的更新肯定让很多用来工作的人吓出一身冷汗!

深度应该是还没有找准自己的定位,很多软件包直接从 debian 仓库拿来就用,为什么不能学习 ubuntu 所有包都自己构建!

Reply View the author