我现在已经安装win10系统,使用UEFI启动,有两块硬盘,一块固态硬盘(sda),一块机械硬盘(sdb),分区表均为GPT。win10系统装在固态硬盘(sda)上,机械硬盘(sdb)给Windows使用了一部分,并预留了100G给Linux使用。
在网上查找资料,说如果已经安装了win10系统,就不需要额外创建ESP分区,因为Window已经为我们创建好了ESP分区,两个系统可以同时使用一个ESP分区。只需要把对应的ESP分区挂载在/mnt/boot/efi上就好了。最后使用Grub工具来协助工作。
可问题是,我现在有两块硬盘,分区表都为GPT,就有两个ESP分区,我应该挂载sda的ESP分区还是sdb的ESP分区呢?
还没有尝试该如何做,害怕修改了启动后,Windows启动不了了。
如果要尝试,我想应该把装有win10系统的那块硬盘(sda)对应的ESP分区挂载到/mnt/boot/efi上。不知是否是这样。
小白不知道该怎样操作啊。。
离线
这个我之前正好弄过;
具体哪个硬盘,首先取决于你使用哪块硬盘启动,这个应该是在主板的bios里设置;
通常情况下,如果你的默认启动盘是win10的那个硬盘,那么就把win10的esp分区挂载为efi来安装Linux;
同样,如果你默认使用HDD启动,那么就把HDD的esp分区挂载为efi来安装Linux;
你的情况,默认启动硬盘应该是SSD;所以挂载win10的esp为efi就可以;
其实,无论你挂载efi用的是SSD的esp,还是HDD的esp,Linux安装好后,都可以通过一个工具来识别所有硬盘上的所有操作系统,并把这些系统全部加入到grub的引导菜单,让你在启动时选择想要进入哪个系统;
如果你担心有可能无法引导win10,建议备份好重要数据后,保留一个win10启动U盘,用来修复意外造成的win10无法引导故障;
开源/Linux大众化,从驿窗开始~
离线
如果用grub引导windows的话,那么grub最好和windows的bootloader在同一个分区,不然windows会打不开BCD数据库*。
*对这是一个万年bug。
linux的话只要保证几点:
uefi bios可以正确引导bootloader
bootloader可以正确载入内核
内核可以正确挂载initramfs
内核可以正确挂载/
// 以及内核可以找到initramfs的init
也就是说如果只是linux放哪里都可以呦。
最近编辑记录 yw662 (2018-11-26 17:40:35)
ecmascript是世界上最好的语言
离线
嗯嗯,已经搞定了。就像大家说的把grub和windows的bootloader放在同一个分区就好了。
离线
这个我之前正好弄过;
具体哪个硬盘,首先取决于你使用哪块硬盘启动,这个应该是在主板的bios里设置;
通常情况下,如果你的默认启动盘是win10的那个硬盘,那么就把win10的esp分区挂载为efi来安装Linux;
同样,如果你默认使用HDD启动,那么就把HDD的esp分区挂载为efi来安装Linux;
你的情况,默认启动硬盘应该是SSD;所以挂载win10的esp为efi就可以;其实,无论你挂载efi用的是SSD的esp,还是HDD的esp,Linux安装好后,都可以通过一个工具来识别所有硬盘上的所有操作系统,并把这些系统全部加入到grub的引导菜单,让你在启动时选择想要进入哪个系统;
如果你担心有可能无法引导win10,建议备份好重要数据后,保留一个win10启动U盘,用来修复意外造成的win10无法引导故障;
你说的那个工具是什么工具,有空我想抽时间也来试试。
离线
工具是os-prober;
参考这里:
https://wiki.archlinux.org/index.php/GR … %E6%96%87)
https://bbs.archlinuxcn.org/viewtopic.php?id=1037
开源/Linux大众化,从驿窗开始~
离线
如果用grub引导windows的话,那么grub最好和windows的bootloader在同一个分区,不然windows会打不开BCD数据库*。
*对这是一个万年bug。
这个问题,对windows版本是有什么特别的限制么?
我的电脑上有三个硬盘,其中一个没有操作系统,纯粹是数据硬盘;
另外两个,一个SSD,一个HDD;
SSD安装了一个linux;HDD上安装了win10和linux;
HDD上安装的linux,主要是为了应急修复系统使用的,平时主要使用SSD;
系统启动时,默认启动是SSD;efi也是在ssd上;这个efi没有其它操作系统使用;
但win10的efi分区在HDD上,HDD上的linux的efi分区也在HDD上,与win10共用;
为了HDD可以应急修复,安装HDD上的操作系统时,我在bios中把HDD设置设置为唯一启动硬盘,SSD不可启动;这种情况下,即使SSD不存在,HDD仍然可以启动;
同样,SSD上的linux在安装时,也是在bios中设置成唯一启动硬盘,保证即使HDD不存在,SDD都可以启动;
因为平时基本没用win10,所以我刚才特意从SSD引导的grub选择了一下win10,可以进入win10;
你说的这个bug,我这里好像没有出现,是不是我的引导方式避开了?
开源/Linux大众化,从驿窗开始~
离线
不能读取BCD数据库的意思是,你可以正常引导,但是windows改不了自己的引导配置。
*以及我好像记错了,这个bug的复现方法似乎是让esp不在windows所在的硬盘上。
ecmascript是世界上最好的语言
离线
来一个自己的方案,思维有点奇特,见谅:
一个SSD装好win10,另一个机械装好linux。
引导,请按del进入bios,找到添加efi引导项,选择要引导的盘,手动输入efi路径,F10保存退出。
虽然人菜菜的,但也想做个有趣的人。
离线
来一个自己的方案,思维有点奇特,见谅:
一个SSD装好win10,另一个机械装好linux。
引导,请按del进入bios,找到添加efi引导项,选择要引导的盘,手动输入efi路径,F10保存退出。
不是所有的bios都支持手动输入路径,而支持手动输入参数的就更少了
还是efibootmgr好用
ecmascript是世界上最好的语言
离线
不能读取BCD数据库的意思是,你可以正常引导,但是windows改不了自己的引导配置。
*以及我好像记错了,这个bug的复现方法似乎是让esp不在windows所在的硬盘上。
坚决不让windows改~
开源/Linux大众化,从驿窗开始~
离线
来一个自己的方案,思维有点奇特,见谅:
一个SSD装好win10,另一个机械装好linux。
引导,请按del进入bios,找到添加efi引导项,选择要引导的盘,手动输入efi路径,F10保存退出。
bios还有这功能?
我的好像不行,只能选哪个先哪个后;
开源/Linux大众化,从驿窗开始~
离线
干嘛不让Windows改呢?虽然有grub也没有很大必要了,但是BCD是bootmgr自己的配置,跟grub没关系。
UEFI的主板本来就可以选有哪些EFI Application啊,不能选的那他启动哪个Application啦?不能选的你的根本不是UEFI吧,就算默认也不可能默认到grub.efi的
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
具体BCD的功能我还真不清楚;
默认安装时,windows不支持引导linux,而linux可以引导windows,这个肯定不是技术水平的问题,MS肯定做得到,但它不做;
所以,我的意思是,我不希望windows对引导部分做什么改变,一切都由linux(GRUB)处理就好;万一windows把我的linux引导弄没了,我还得修;
不过,在使用过程中还是遇到了一个问题,就是双Arch Linux系统时,bios(UEFI)里面的引导菜单,有两个名字一模一样的linux引导项,我知道这是两个linux,因为我记得顺序;但时间久了,我可能会忘记; 好像我的bios也不能对引导项目做改名操作; 有其它方法可以改一下名字么,要不然我早晚会忘记;
最近编辑记录 驿窗 (2018-11-28 18:34:57)
开源/Linux大众化,从驿窗开始~
离线
用 efivar 改吧。
离线