昨夜升级nvidia一个什么东西 进不了图形界面 现在连grub都毁了

我怀疑是 sda2 里面那个 bootx64.efi 搞的鬼。

你这样:

mount /dev/mapper/system-root /mnt
mount /dev/sda2 /mnt/boot/efi 
mv /mnt/boot/efi/Boot/bootx64.efi /mnt/home
umount /mnt/boot/efi 

把那个东西移走,再关机重开看看。

要是不行的话,我建议还是把 sda7 的内容移到 sda2 去

我现在在rescue模式下 不在chroot里面。是在rescue下面做这个操作么?

对,不过你的 /mnt 和 /mnt/boot/efi 可能都被用着,你最好先 umount。

umount /mnt说target is busy

报告一个现象:
只要启动的时候插着u盘,能看到GRUB画面,但是一闪而过,马上就进入liveCD的引导画面,如果不插u盘,就是missing operating system

好吧,刚才搜索了一下那个 Bootx64.efi 是 Windows 的文件,不是 openSUSE 的。不用移动了。

efibootmgr -c -d /dev/sda -p 2 -w -L Windows -l “\EFI\Microsoft\Boot\bootmgfw.efi”

再把 Windows 的引导创建回来吧,然后重启看看

是这样,刚才umount /mnt由于target is busy,我就直接重启了,于是看到了刚才的现象。
你建议的这些,我没有来得及执行。你看我还要执行么?
还是直接执行efibootmgr -c -d /dev/sda -p 2 -w -L Windows -l “\EFI\Microsoft\Boot\bootmgfw.efi”

直接执行后面的,前面我是想看看是不是那个 Bootx64.efi 影响的,后来查到了那个就是 Windows 的文件。

现在你的 Windows 引导位于 sda2,openSUSE 位于 sda7。应该互不影响。

它报 missing operating system 我怀疑是 Windows 那边的错误,所以让你把 Windows 引导项加回来再看看

OT:另外你能不能:

cat /sys/firmware/efi/vars/SecureBoot-xxxx/data
cat /sys/firmware/efi/vars/FastBoot-xxxx/data 

这里的 xxxx 是你 ls 看到的那串。

我正在做一个辅助 debug grub2 问题的程序,我需要在服务区上模拟一下 SecureBoot 和 FastBoot。

1赞

没问题 但是没找到你要的 是不是我弄错了?
当时我先把/dev/sda2挂到/mnt下 再ls -l
现在我直接把/dev/sda2/EFI 代入到xxxx

算了,你重启吧。windows 引导项已经加好了。

1赞

重启也没用啊……

还是 missing operating system?

还是。
而且,虽然可以用liveCD引导选择boot linux system到最后也不行,找不到bootable


最后只好重启 而且重启之后 再选择boot linux system又不行了

另外 在启动的时候按F12 手动选择从什么启动的时候 能看到windows这一项 但是 只要选定这一项 就是黑屏幕上面一行字 missing operating sys tem

要不你先找个 Windows 安装盘把 Windows 修好吧…然后再来看 openSUSE 的问题。我觉得 99% 是 Windows 造成的问题。可能 Windows 能正常引导了,openSUSE 就好修了

1赞

打算索性装回win7 这个时候才看到 其实/dev/sda的编号不是完全按照分区的顺序来的 sda7是linux的efi sda8是lvm 其实分别是第五个和第六个分区。sda7其实紧挨着win10主分区,其实是第六个分区。你觉得这是不是问题所在?

最要命的是 明明安装盘已经把win10的四个分区都删除了 突然重启 又跟我说missing operating sys tem