昨天通过对比lsblk -f和/boot/grub/grub.cfg的内容,通过UUID判断,grub.cfg写的是sda1。
你还是没有理解。现在的关键是,你启动系统用的那个内核在哪里,而不是你的 /boot/grub/grub.cfg 里写的哪个。因为我觉得你有可能同样有两个 grub.cfg……
你去看看 EFI 分区里有些什么吧,grub 的配置文件应该在 EFI 分区上的。
离线
leixianb 说:昨天通过对比lsblk -f和/boot/grub/grub.cfg的内容,通过UUID判断,grub.cfg写的是sda1。
你还是没有理解。现在的关键是,你启用系统用的那个内核在哪里,而不是你的 /boot/grub/grub.cfg 里写的哪个。因为我觉得你有可能同样有两个 grub.cfg……
我以为grub.cfg是只有一个,而内核可能有两套。所以我现在知道/boot下面有一套,那么另一套可能在哪里?sda2么?
离线
好的,我晚上去试试
最近编辑记录 leixianb (2019-04-30 14:11:38)
离线
和大多数人不同,我的计算机知识体系构建几乎没走过弯路,你这种走了弯路的,必然会被我嘲讽,说白了,就是你不接受“水平太次者使用过pacman改根安装概率极低”这个事实而已。如果你真的用过,那问题就大了,你的grub.cfg可能引导了一个不位于常见位置的内核。但这里我们就假设这种低概率事件没有发生。
现在根据十四楼,忽略掉你原来的,至今仍未给出解释的,奇怪的说法,认为你的目标就是安装一个唯一的内核到sda1的/boot,那么你没有挂载sda2,没有说你根据Google检查了什么东西得到了什么检查结果,仅仅根据你一,五,十一楼所述,尽量猜测你要表达的意思,只能认为pacman如预期的工作了,但你有另一份内核文件意外的存在于sda2,在当初生成grub.cfg时,其中含有了sda2中那份本不该存在的内核的引导项并且被你启动了,或者UEFI直接启动那份本不该存在的内核,那份本不该存在的内核的版本是非预期的,是与pacman给出的软件包版本号不一致的,那份本不该存在的内核怎么来的现在已经不重要了,仙子就是怀疑这种情况。
那么这份本不该存在的内核究竟存不存在呢?我们一点点拆开这个问题。第一怀疑的可能就是它存在且sda2,但是怎么确认呢?只要确认sda2上是否存在一个内核文件就好了。怎么确认呢,只要能看到sda2 的文件就可以确认,那怎么看呢?
你应该已经明白了下一步需要做什么。
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
如果你真的能意外产生非预期的两份内核,grub.cfg当然可能有两份,正如你可以有几百个内核文件,但很显然一份grub运行时只有一份grub.cfg会有作用,正如一个操作系统只有一个内核在运行中,然而目前甚至不确定你是否真的使用了grub来启动操作系统,到底有几份Linux内核,也不确定哪个Linux内核被运行了。
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
和大多数人不同,我的计算机知识体系构建几乎没走过弯路,你这种走了弯路的,必然会被我嘲讽,说白了,就是你不接受“水平太次者使用过pacman改根安装概率极低”这个事实而已。如果你真的用过,那问题就大了,你的grub.cfg可能引导了一个不位于常见位置的内核。但这里我们就假设这种低概率事件没有发生。
现在根据十四楼,忽略掉你原来的,至今仍未给出解释的,奇怪的说法,认为你的目标就是安装一个唯一的内核到sda1的/boot,那么你没有挂载sda2,没有说你根据Google检查了什么东西得到了什么检查结果,仅仅根据你一,五,十一楼所述,尽量猜测你要表达的意思,只能认为pacman如预期的工作了,但你有另一份内核文件意外的存在于sda2,在当初生成grub.cfg时,其中含有了sda2中那份本不该存在的内核的引导项并且被你启动了,或者UEFI直接启动那份本不该存在的内核,那份本不该存在的内核的版本是非预期的,是与pacman给出的软件包版本号不一致的,那份本不该存在的内核怎么来的现在已经不重要了,仙子就是怀疑这种情况。
那么这份本不该存在的内核究竟存不存在呢?我们一点点拆开这个问题。第一怀疑的可能就是它存在且sda2,但是怎么确认呢?只要确认sda2上是否存在一个内核文件就好了。怎么确认呢,只要能看到sda2 的文件就可以确认,那怎么看呢?
你应该已经明白了下一步需要做什么。
无论如何谢谢你的解释。但是在你解释之前,我已经明白了依云想要表达的意思。我只是这方面知识储备太差,不代表我的理解能力需要你这样一步一步说明。
我google是想找到一种方法来判断系统安装了几个内核,分别在哪,版本为何。但是我并没有google到相关的手段。
另:忽略你的嘲讽,你也必有某些方面让别人嘲讽的。你输出的有黄金,也有狗屎,我挑黄金就行了,剩下的你自己留着。谢谢。
离线
还有啊,既然你对这个启动过程这么清楚,那你有时间嘲讽我,不如花这个时间来写个总结,po到论坛上来,让像我这样的家伙都可以学习一下。这样以后定位问题就会更加有思路。
离线
https://wiki.archlinux.org/index.php/Arch_boot_process
还有它引用的那么多个链接,已经有的内容有必要再反复说吗?重复只会导致因自然语言的不精确性带来更大的误解,你有细节不懂还不如自己开个虚拟机做实验,如果出现不能解释的实验结果,你也可以按照提问的智慧提一个标准的, not too board的问题出来
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
https://wiki.archlinux.org/index.php/Arch_boot_process
还有它引用的那么多个链接,已经有的内容有必要再反复说吗?重复只会导致因自然语言的不精确性带来更大的误解,你有细节不懂还不如自己开个虚拟机做实验,如果出现不能解释的实验结果,你也可以按照提问的智慧提一个标准的, not too board的问题出来
我就是在virtual box装的。。。
提问没有表述清楚确实是因为太菜,很多概念不清晰。
我也有查看这个页面,但是如果像你这样理解透彻的人,能够把它的内容更加通俗易懂的表达一下,配上图,可能更加容易理解一些。毕竟我的知识储备不够,当然这是我自己的问题。
我只是提一个建议而已。
PS:没必要再就你的表达方式说什么了,歪楼了。还是感谢你的回复给与我的帮助。
离线
...@xtricman 打这么多字你不嫌累么:-)
@leixianb 我们一直在说看一下你ESP,也就是你说的sda2里面的东西,因为首先grub一定是在ESP里面,其次里面可能还有gurb.cfg和另一个内核,所以你直接去看一下就好了嘛。
ecmascript是世界上最好的语言
离线
...@xtricman 打这么多字你不嫌累么:-)
@leixianb 我们一直在说看一下你ESP,也就是你说的sda2里面的东西,因为首先grub一定是在ESP里面,其次里面可能还有gurb.cfg和另一个内核,所以你直接去看一下就好了嘛。
我比较菜嘛,所以一开始并没有理解你们的意思。昨天晚上把efi挂载上来看了一下,确实是有grub.cfg以及内核文件。然后因为直接使用安装的系统挂载efi报错,我就使用LiveCD挂载/,然后把efi挂载到/boot,重新运行了pacman -S linux-lts,现在已经搞定了。
总之,谢谢各位的帮助!
离线
就暂时忽略掉楼上的奇怪说法,认为你就是把ESP 挂到了/boot 吧,然后重新运行了pacman -S linux-lts. 你从我12楼说的再想想你干了啥。
迄今为止楼主要干嘛还是只有靠我猜,也没告诉我猜对没猜对。
我们就不停的从你说白了就是 使用只有你自己能听懂的terminology 来猜你要干嘛,然后你也不说猜没猜对,最后做的事情又跟我们猜测的不一样。
你还一直以为菜就是原罪。
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
菜的意思不就是这两点么:表达不清楚自己所看到的,以及无法针对性地回答别人的问题。
所以才会有厉害的人几乎干什么都厉害,而菜的人不管干什么都干不成嘛。
离线
楼主一直也没说目的是啥。到底内核想装哪?我猜要装在sda1,好,不告诉我猜错猜对。那就当我猜对吧。楼主26楼做了啥呢?不知道,那就猜我27楼是猜对了。
根据我在12楼所述,pacman不关心安装目录是否为挂载点,于是内核再次被安装入ESP,于是推出矛盾。那问题来了,两个假设到底哪个是错的?
楼主还意识不到解决问题缺失的条件吗?
最近编辑记录 xtricman (2019-05-01 15:47:34)
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
在从12楼获取关于pacman行为的知识后,楼主就应该进行这样的思考而自行解决掉问题了。并且可以针对性告知我们提出的关于楼主系统状态的所有提问
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线