您尚未登录。

#1 2019-10-07 23:10:09

beginner
会员
注册时间: 2019-10-07
帖子: 16

系统安装后,没有进入系统而是进入grub

界面大概如此:
minimal bash-like line editing is supported, for the first word tab lists possible command completions, anywhereelse tab lists possible device or file completions
grub>
我是这样安装引导的:
mkfs.vfat /dev/sda3
省略一些其他操作,如果需要,请说明
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub
输出提示安装完成,没有错误
gurb-mkconfig -o /mnt/grub/grub.cfg
输出第一行提示正在生成
第二行直接输出 完成
然后我就输入exit离开系统,卸载挂载点,重启

之前安装过一次,完全正常没问题

离线

#2 2019-10-07 23:32:46

xtricman
エクス·トリクマン
注册时间: 2012-12-26
帖子: 784

Re: 系统安装后,没有进入系统而是进入grub

我觉得此类问题是无解的,你不明白啥叫挂载,不明白BIOS → OS 的启动过程,解决了一次也会有第二次。从我还逛贴吧的时候就在给人回复这类问题了。既然你安装过一次装好了为啥又要多来一遍?要么自己去学会来,要么搞定了就别瞎折腾。

离线

#3 2019-10-07 23:36:31

xtricman
エクス·トリクマン
注册时间: 2012-12-26
帖子: 784

Re: 系统安装后,没有进入系统而是进入grub

Arch的安装介质已经不提供安装脚本好多年。这更加要求用户理解这些东西。否则安装OS是一个极度困难的过程。如同se的关于Kali的低质量提问会被统一回复你不适合用这玩意因为你太菜一样。你太菜,你不适合Archlinux。

离线

#4 2019-10-08 00:08:30

依云
a.k.a. 百合仙子
所在地: 一个等待妹纸出现的地方
注册时间: 2011-08-21
帖子: 5,198
个人网站

Re: 系统安装后,没有进入系统而是进入grub

grub 没有找到你生成的 grub.cfg 就会这样。请检查相关路径,以及你可能需要指定 --boot-directory 选项。

离线

#5 2019-10-08 07:09:19

xtricman
エクス·トリクマン
注册时间: 2012-12-26
帖子: 784

Re: 系统安装后,没有进入系统而是进入grub

依云 说:

grub 没有找到你生成的 grub.cfg 就会这样。请检查相关路径,以及你可能需要指定 --boot-directory 选项。

--boot-directory 仅用于Legacy BIOS. UEFI安装 不使用这个选项

离线

#6 2019-10-08 08:50:57

驿窗
YCP
注册时间: 2016-06-03
帖子: 684

Re: 系统安装后,没有进入系统而是进入grub

检查下这条命令:gurb-mkconfig -o /mnt/grub/grub.cfg
通常安装grub的时候,你已经chroot到新系统中,而新系统中“/mnt”多数时候应该是“/boot”;

仙子也提到可能是目录的问题,看看有没有可能是这里~


-----------------------------------
Linux大众化,从驿窗开始~

离线

#7 2019-10-08 14:14:09

beginner
会员
注册时间: 2019-10-07
帖子: 16

Re: 系统安装后,没有进入系统而是进入grub

xtricman 说:

我觉得此类问题是无解的,你不明白啥叫挂载,不明白BIOS → OS 的启动过程,解决了一次也会有第二次。从我还逛贴吧的时候就在给人回复这类问题了。既然你安装过一次装好了为啥又要多来一遍?要么自己去学会来,要么搞定了就别瞎折腾。

多谢回答,既然是知识不足,那么有什么资料可以学习这方面的知识?

离线

#8 2019-10-08 14:15:54

beginner
会员
注册时间: 2019-10-07
帖子: 16

Re: 系统安装后,没有进入系统而是进入grub

驿窗 说:

检查下这条命令:gurb-mkconfig -o /mnt/grub/grub.cfg
通常安装grub的时候,你已经chroot到新系统中,而新系统中“/mnt”多数时候应该是“/boot”;

仙子也提到可能是目录的问题,看看有没有可能是这里~

我不明白,上一次这样 写是没问题,参数和上次几乎一样,这次不行是因为什么?

离线

#9 2019-10-08 14:30:29

依云
a.k.a. 百合仙子
所在地: 一个等待妹纸出现的地方
注册时间: 2011-08-21
帖子: 5,198
个人网站

Re: 系统安装后,没有进入系统而是进入grub

xtricman 说:
依云 说:

grub 没有找到你生成的 grub.cfg 就会这样。请检查相关路径,以及你可能需要指定 --boot-directory 选项。

--boot-directory 仅用于Legacy BIOS. UEFI安装 不使用这个选项

没有啊。

离线

#10 2019-10-08 20:40:03

驿窗
YCP
注册时间: 2016-06-03
帖子: 684

Re: 系统安装后,没有进入系统而是进入grub

beginner 说:
驿窗 说:

检查下这条命令:gurb-mkconfig -o /mnt/grub/grub.cfg
通常安装grub的时候,你已经chroot到新系统中,而新系统中“/mnt”多数时候应该是“/boot”;

仙子也提到可能是目录的问题,看看有没有可能是这里~

我不明白,上一次这样 写是没问题,参数和上次几乎一样,这次不行是因为什么?


我不专业,但看一下我能不能说明白:

Arch Linux 安装时会用到“两套目录系统”:U盘启动环境目录系统 和 目标系统(新安装的archlinux)的目录系统

第一套目录系统是iso引导起来的系统所建立的,我们称作U盘启动环境(或其它启动环境);在这个系统中,根目录位置与你电脑上的硬盘无关,因为此时你电脑上的硬盘还没有被启动系统挂载;这个系统中运行命令pacstrap,可以把安装archlinux需要的东西复制到指定的目录(我省略了挂载硬盘,分区,挂载分区等),按教程,指定的目录通常会是/mnt;我们说一下这个/mnt: / 是当前U盘启动环境的根目录,mnt是在当前U盘启动环境的根目录下创建的mnt目录;pacstrap就是把archlinux安装到这个目录:/mnt;(如果这个时候你copy一个文件到/mnt,那么你的archlinux系统安装好以后就会发现,那个文件存在的位置是 /  ) ------ 即这个/mnt目录,会成为目标系统的 / 目录;

第二套目录系统是执行chroot后进入的目录系统,也是你的目标:新安装的archlinux系统;chroot的作用就是告诉所有的程序,根目录位置已经发生变化,由先前的U盘启动环境改到   chroot /mnt   命令中指定的位置;  chroot /mnt 命令是安装过程的一个节点,在这条命令里,/ 还是U盘启动环境的根目录,不是目标系统的根目录;但当你在chroot /mnt 命令后加一个回车键执行了以后,再输入 / 就代表目标系统的根目录了,这时候你copy一个文件到/mnt,那么它的位置就会在目标系统的/mnt 。

总结一下,就是/mnt这个目录,在执行chroot这条命令之前和之后,代表的是不同的位置;
因此,你需要很明确的知道,你把grub安装到什么地方去了,并且,让系统也知道;

因为uefi必须有boot分区,这个分区习惯上是挂在新系统的/boot的位置,而不是/mnt位置。
按这样的习惯,你执行gurb-mkconfig -o命令时,目录应该是/boot,而不是/mnt~


-----------------------------------
Linux大众化,从驿窗开始~

离线

#11 2019-10-08 22:51:31

依云
a.k.a. 百合仙子
所在地: 一个等待妹纸出现的地方
注册时间: 2011-08-21
帖子: 5,198
个人网站

Re: 系统安装后,没有进入系统而是进入grub

beginner 说:
驿窗 说:

检查下这条命令:gurb-mkconfig -o /mnt/grub/grub.cfg
通常安装grub的时候,你已经chroot到新系统中,而新系统中“/mnt”多数时候应该是“/boot”;

仙子也提到可能是目录的问题,看看有没有可能是这里~

我不明白,上一次这样 写是没问题,参数和上次几乎一样,这次不行是因为什么?

你也说了,是几乎一样。这就跟踢足球的时候,我踢了一脚球,它几乎进球门了。或者打仗时候,你方几乎贏了。
你上次肯定不是这么写的,或者过程不一样。/mnt/grub/grub.cfg 这个路径,怎么看怎么不对,除非你单把 /boot 挂到 /mnt 上了。

离线

#12 2019-10-09 01:47:44

beginner
会员
注册时间: 2019-10-07
帖子: 16

Re: 系统安装后,没有进入系统而是进入grub

驿窗 说:
beginner 说:
驿窗 说:

检查下这条命令:gurb-mkconfig -o /mnt/grub/grub.cfg
通常安装grub的时候,你已经chroot到新系统中,而新系统中“/mnt”多数时候应该是“/boot”;

仙子也提到可能是目录的问题,看看有没有可能是这里~

我不明白,上一次这样 写是没问题,参数和上次几乎一样,这次不行是因为什么?


我不专业,但看一下我能不能说明白:

Arch Linux 安装时会用到“两套目录系统”:U盘启动环境目录系统 和 目标系统(新安装的archlinux)的目录系统

第一套目录系统是iso引导起来的系统所建立的,我们称作U盘启动环境(或其它启动环境);在这个系统中,根目录位置与你电脑上的硬盘无关,因为此时你电脑上的硬盘还没有被启动系统挂载;这个系统中运行命令pacstrap,可以把安装archlinux需要的东西复制到指定的目录(我省略了挂载硬盘,分区,挂载分区等),按教程,指定的目录通常会是/mnt;我们说一下这个/mnt: / 是当前U盘启动环境的根目录,mnt是在当前U盘启动环境的根目录下创建的mnt目录;pacstrap就是把archlinux安装到这个目录:/mnt;(如果这个时候你copy一个文件到/mnt,那么你的archlinux系统安装好以后就会发现,那个文件存在的位置是 /  ) ------ 即这个/mnt目录,会成为目标系统的 / 目录;

第二套目录系统是执行chroot后进入的目录系统,也是你的目标:新安装的archlinux系统;chroot的作用就是告诉所有的程序,根目录位置已经发生变化,由先前的U盘启动环境改到   chroot /mnt   命令中指定的位置;  chroot /mnt 命令是安装过程的一个节点,在这条命令里,/ 还是U盘启动环境的根目录,不是目标系统的根目录;但当你在chroot /mnt 命令后加一个回车键执行了以后,再输入 / 就代表目标系统的根目录了,这时候你copy一个文件到/mnt,那么它的位置就会在目标系统的/mnt 。

总结一下,就是/mnt这个目录,在执行chroot这条命令之前和之后,代表的是不同的位置;
因此,你需要很明确的知道,你把grub安装到什么地方去了,并且,让系统也知道;

因为uefi必须有boot分区,这个分区习惯上是挂在新系统的/boot的位置,而不是/mnt位置。
按这样的习惯,你执行gurb-mkconfig -o命令时,目录应该是/boot,而不是/mnt~

多谢耐心解释,我已经找出问题,确实是路径出错,应该是/boot 不是/mnt
我看了wiki后,已经安装好了

离线

#13 2019-10-09 01:48:54

beginner
会员
注册时间: 2019-10-07
帖子: 16

Re: 系统安装后,没有进入系统而是进入grub

依云 说:
beginner 说:
驿窗 说:

检查下这条命令:gurb-mkconfig -o /mnt/grub/grub.cfg
通常安装grub的时候,你已经chroot到新系统中,而新系统中“/mnt”多数时候应该是“/boot”;

仙子也提到可能是目录的问题,看看有没有可能是这里~

我不明白,上一次这样 写是没问题,参数和上次几乎一样,这次不行是因为什么?

你也说了,是几乎一样。这就跟踢足球的时候,我踢了一脚球,它几乎进球门了。或者打仗时候,你方几乎贏了。
你上次肯定不是这么写的,或者过程不一样。/mnt/grub/grub.cfg 这个路径,怎么看怎么不对,除非你单把 /boot 挂到 /mnt 上了。

多谢,我已经找出问题,确实是路径出错,应该是/boot 不是/mnt
我看了wiki后,已经安装好了

离线

#14 2019-10-09 09:23:48

yw662
大会员
注册时间: 2018-10-10
帖子: 187

Re: 系统安装后,没有进入系统而是进入grub

歪楼

直到有一天,楼主意识到,手写systemd-boot的配置文件都比配置grub要简单(如果你是uefi)

这里有一点问题是,systemd-boot的引导需要把内核放到/boot里,这样luks就不能加密内核,但是grub有luks和ext4的驱动(所以grub也更重&慢)。

不过能换你kernel就能换你grub,这个还是要靠secure boot解。(所以你们也别老是骂secure boot,想法用起来才对)


ecmascript是世界上最好的语言

离线

#15 2019-10-10 19:21:56

xtricman
エクス·トリクマン
注册时间: 2012-12-26
帖子: 784

Re: 系统安装后,没有进入系统而是进入grub

beginner 说:

那么有什么资料可以学习这方面的知识?

https://wiki.archlinux.org/index.php/Arch_boot_process
还有它引用的那么多个链接,已经有的内容没必要再反复说。重复只会导致因自然语言的不精确性带来更大的误解,你有细节不懂还不如自己开个虚拟机做实验,如果出现不能解释的实验结果,你也可以按照提问的智慧提一个标准的, not too board的问题出来

离线

页脚