howdoudo
(howdoudo)
#1
我的笔记本有 win8 (64bit) 和 opensuse,都是通过 EFI 启动。
opensuse 目前的是 15.0,从 13 一路升级上来的。
现在想通过全新安装 opensuse 15.1 ,不从旧版升级。
原本的挂载和分区方式是/
和/boot/efi
分开,而/
和/boot/grub2
、/boot/grub
在同一分区。
现在想在不动 win8 的情况下重装 opensuse 顺便把 grub2 分到一个单独分区,那么,仅需要把/boot/grub2
装到一个单独分区就行了吗?/boot/grub
要不要管(它是干嘛的?)
用 diskgenius 删除 EFI 分区的 openSUSE 目录 ,再删掉 UEFI 启动引导的 openSUSE ,就可以重装全新了。
grub2 现在有点复杂我也理不清了,反正只需要 /boot/efi
和 /
分区就可以正常启动,我一直这么装。
/boot/efi
没必要单独分区,已有 windows 系统就已有 EFI 分区,咱挂载上去就行,千万别格式化!
howdoudo
(howdoudo)
#3
再删掉 UEFI 启动引导的 openSUSE
这一项是储存在 BIOS 芯片里的么?用什么软件删它
tommyvct
(Tommy Vercetti)
#6
我一年前专门又买了块硬盘来装 Linux,因为我的 windows 盘是 nvme 盘而且有 bitlocker,配置起来极其麻烦
我装的也是默认的,只分了 / 和 /boot/efi 分区,/boot/efi 默认只有 100M,貌似只能有 1 个还原点
我的 /boot/efi 分区在磁盘上的位置在 / 前,在不重装的情况下,能不能增加 /boot/efi 的空间大小,我想把 /boot/efi 改成 500M???
也是 diskgenius 有个菜单叫设置 UEFI 启动选项
不是多系统问题,是你更新系统,它里面会有老的版本的,像我跟新内核到 5.5, 它里面会有 5.5 之前的内核,grub 启动时可以选。
但是 /boot/efi 默认 100M,里面只有一个最新 ,一个比较新的,不能再多了
内核是在你的 /boot 目录下,不是 /boot/efi
howdoudo
(howdoudo)
#12
把/boot
作一个分区,包含/boot/grub2
在其中的,我不明白,这样内核不是和 grub 在同一分区了?
如果我要装多个 Linux 发行版,那不就把不同发行版的内核混在一起了?各发行版各自维护/boot/grub2
的时候不会互相覆盖别人的 grub?
我的想法是搞一个单独的 grub,不管我同时装多少个 Linux 发行版,它都能独立存在。能不能实现?我是 boot 菜鸟
tommyvct
(Tommy Vercetti)
#13
'/boot’就是用来放内核的,不用单独分区
'/boot/efi’是一个空文件夹,用来挂载 EFI 分区
EFI 分区必须单分
@moonjourney @howdoudo @tommyvct 晚上我回家看看,我当时记得安装时,选的自己分区,efi 分区 我记得挂载点 只能选 /boot/efi
runapp
(runapp)
#15
没看到 /boot/grub,只有 grub2。
grub 的可执行文件,在 efi 下是放在 efi 分区里的。其它 mod 字体背景 menu 之类的是放在 /boot/grub2/ 里的。
@moonjourney @howdoudo @tommyvct @runapp
看了下 /boot/efi/EFI/opensuse/ 目录下有 initrd vmlinuz 等文件,占了 60 多 M
硬盘挂载:
/dev/sdb5 109G 17G 87G 16% /
/dev/sdb2 96M 89M 7.8M 92% /boot/efi
你是不是自己运行过 grub2 命令?正常应是这样 ……
你这么一说,好像真的运行过。。。。
现在还能改过来吗???
我仔细看了,貌似 /boot/efi/EFI/opensuse/ 下面的都是旧的,我手动删了试试
runapp
(runapp)
#20
我的 leap 没有,就是标准的:
./boot
./boot/bootx64.efi
./boot/fallback.efi
./opensuse
./opensuse/MokManager.efi
./opensuse/grub.efi
./opensuse/shim.efi
./opensuse/boot.csv
./opensuse/grub.cfg
./opensuse/grubx64.efi
shim.efi 应该是开了可信引导才会有?MokManager 我倒是以前没见过。
你这个应该是不小心跑 mkinitrd 的时候什么东西设置错了跑到 efi 分区了。