在两个移动硬盘安装两个不同版本的Ubuntu后,前一个无法启动
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 4
- 注册时间: 2023-02-21 11:07
- 系统: Ubuntu 20.04
在两个移动硬盘安装两个不同版本的Ubuntu后,前一个无法启动
电脑原始的操作系统是Windows 10。以前在一个移动硬盘上安装过Ubuntu 18.04,参考的是这篇教程:Windows系统下,Ubuntu安装至移动硬盘(简单分析与详细安装教程)_wjh_test的博客。现在在没有插前一个移动硬盘的情况下,在第二个移动硬盘上以相同方式安装了Ubuntu 20.04。结果Ubuntu 20.04能打开,但插上第一个移动硬盘进不去Ubuntu 18.04了。我用DiskGenius查看,发现电脑系统盘上的EFI里ubuntu文件夹的修改时间是装Ubuntu 18.04的时间,而里面文件的修改时间是现在,应该是18.04的文件在装20.04时被覆盖了。而在两个移动硬盘上划的EFI分区都只有一个System Volume Information文件夹。(附件中是只插了一个移动硬盘)但是我在安装Ubuntu 18.04和20.04时确实是按教程选择了移动硬盘上的EFI分区。另外,Ubuntu 18.04里的数据还是完好的。
所以我有几个疑惑之处:
1. EFI被安装在系统盘而非移动硬盘,这是正常的吗?
2. 以上安装两个Ubuntu的操作错误在哪里?如何调整为正确的操作?
3. 有没有简单的方法使Ubuntu 18.04能够启动,且不影响Ubuntu 20.04?
对于Ubuntu系统我了解不多,希望大家能为我解惑,感激不尽!
所以我有几个疑惑之处:
1. EFI被安装在系统盘而非移动硬盘,这是正常的吗?
2. 以上安装两个Ubuntu的操作错误在哪里?如何调整为正确的操作?
3. 有没有简单的方法使Ubuntu 18.04能够启动,且不影响Ubuntu 20.04?
对于Ubuntu系统我了解不多,希望大家能为我解惑,感激不尽!
-
- 帖子: 9
- 注册时间: 2023-02-21 9:54
- 系统: linux
Re: 在两个移动硬盘安装两个不同版本的Ubuntu后,前一个无法启动
根据自己的安装经历uefi+gpt环境下,分区时无论指定grub安装在什么位置,系统默认寻找本地主机磁盘第一个efi分区
-
- 帖子: 524
- 注册时间: 2009-11-21 20:29
Re: 在两个移动硬盘安装两个不同版本的Ubuntu后,前一个无法启动
因為「開機載入程式」(grub)是默認安裝到第一顆硬碟的分割區,
你要在安裝過程選擇「手動指定分割區」,然後「開機載入程式」選擇你要的地方。
更簡單的方法就是把主機硬碟的排線拔掉再安裝。
你要在安裝過程選擇「手動指定分割區」,然後「開機載入程式」選擇你要的地方。
更簡單的方法就是把主機硬碟的排線拔掉再安裝。
-
- 帖子: 51
- 注册时间: 2023-02-21 9:52
- 系统: linux
Re: 在两个移动硬盘安装两个不同版本的Ubuntu后,前一个无法启动
实践表明手动指定没有用(会默认第一个efi),拔掉排线应该有用
-
- 帖子: 4
- 注册时间: 2023-02-21 11:07
- 系统: Ubuntu 20.04
Re: 在两个移动硬盘安装两个不同版本的Ubuntu后,前一个无法启动
「開機載入程式」这里我选择的是移动硬盘上的EFI分区,但是还是安装到系统盘里了。拔掉系统盘听起来很直接,如果我重装Ubuntu 18.04的话会试一下。不知道把EFI装在移动硬盘上以后,在不插移动硬盘的情况下启动电脑时,是不是不会出现grub界面?xenomorph0525 写了: ↑2023-02-21 14:32 因為「開機載入程式」(grub)是默認安裝到第一顆硬碟的分割區,
你要在安裝過程選擇「手動指定分割區」,然後「開機載入程式」選擇你要的地方。
更簡單的方法就是把主機硬碟的排線拔掉再安裝。
-
- 帖子: 4
- 注册时间: 2023-02-21 11:07
- 系统: Ubuntu 20.04
- astolia
- 论坛版主
- 帖子: 6499
- 注册时间: 2008-09-18 13:11
Re: 在两个移动硬盘安装两个不同版本的Ubuntu后,前一个无法启动
1. 按你的操作来说,是正常的结果。不过这样也不坏,因为如果按下面的操作,启动后就不会进到grub里了,只能通过bios提供的启动菜单来启动移动硬盘上的系统。Pavic Nasta 写了: ↑2023-02-21 11:38 所以我有几个疑惑之处:
1. EFI被安装在系统盘而非移动硬盘,这是正常的吗?
2. 以上安装两个Ubuntu的操作错误在哪里?如何调整为正确的操作?
3. 有没有简单的方法使Ubuntu 18.04能够启动,且不影响Ubuntu 20.04?
如果是要想将efi相关文件放到移动硬盘上的efi分区里,方便把移动硬盘拿到其他机器上用,也很简单。
挂载efi分区后,执行这个命令即可 sudo grub-install --efi-directory=efi分区挂载点
2. 谈不上错误。安装时会自动扫描当前机器上所有可用的系统,你安装时没接入18.04的盘,就自然找不到,最后写入grub设置的时候就不会写入相关的选项信息。剩余的见3
3. 出现问题的原因是,安装系统后会往efi分区下EFI/ubuntu/grub.cfg这个配置文件中写入一段配置,内容是只加载刚安装的系统的/boot/grub/grub.cfg文件。并没有去管其他系统的grub配置。如果/boot/grub/grub.cfg不存在其他系统的选择项,就不会显示了。
要处理这个问题首先要看你的使用习惯。主要是移动硬盘上的系统会不会升级内核(即/boot/grub/grub.cfg内容变不变)。
如果打算不升级的话,那就很简单:如果你总是会把20.04/18.04的移动硬盘接入机器,那么直接在20.04/18.04系统接上18.04/20.04的盘再执行一次sudo update-grub就行了。如果可能两个移动硬盘都不一定接入,那么执行完上面的update-grub后直接把20.04/18.04系统中/boot/grub/grub.cfg的替换掉efi分区下EFI/ubuntu/grub.cfg即可。
要应对升级的话相对麻烦些。要么你每次升级后重新替换一次(可以在/etc/kernel/postinst.d下面放个脚本自动去做),要么去学习grub的命令来手动编写探测不同版本的内核的代码
-
- 帖子: 4
- 注册时间: 2023-02-21 11:07
- 系统: Ubuntu 20.04
Re: 在两个移动硬盘安装两个不同版本的Ubuntu后,前一个无法启动
非常感谢你的细致解答!astolia 写了: ↑2023-02-21 17:561. 按你的操作来说,是正常的结果。不过这样也不坏,因为如果按下面的操作,启动后就不会进到grub里了,只能通过bios提供的启动菜单来启动移动硬盘上的系统。Pavic Nasta 写了: ↑2023-02-21 11:38 所以我有几个疑惑之处:
1. EFI被安装在系统盘而非移动硬盘,这是正常的吗?
2. 以上安装两个Ubuntu的操作错误在哪里?如何调整为正确的操作?
3. 有没有简单的方法使Ubuntu 18.04能够启动,且不影响Ubuntu 20.04?如果是要想将efi相关文件放到移动硬盘上的efi分区里,方便把移动硬盘拿到其他机器上用,也很简单。
挂载efi分区后,执行这个命令即可 sudo grub-install --efi-directory=efi分区挂载点
2. 谈不上错误。安装时会自动扫描当前机器上所有可用的系统,你安装时没接入18.04的盘,就自然找不到,最后写入grub设置的时候就不会写入相关的选项信息。剩余的见3
3. 出现问题的原因是,安装系统后会往efi分区下EFI/ubuntu/grub.cfg这个配置文件中写入一段配置,内容是只加载刚安装的系统的/boot/grub/grub.cfg文件。并没有去管其他系统的grub配置。如果/boot/grub/grub.cfg不存在其他系统的选择项,就不会显示了。
要处理这个问题首先要看你的使用习惯。主要是移动硬盘上的系统会不会升级内核(即/boot/grub/grub.cfg内容变不变)。
如果打算不升级的话,那就很简单:如果你总是会把20.04/18.04的移动硬盘接入机器,那么直接在20.04/18.04系统接上18.04/20.04的盘再执行一次sudo update-grub就行了。如果可能两个移动硬盘都不一定接入,那么执行完上面的update-grub后直接把20.04/18.04系统中/boot/grub/grub.cfg的替换掉efi分区下EFI/ubuntu/grub.cfg即可。
要应对升级的话相对麻烦些。要么你每次升级后重新替换一次(可以在/etc/kernel/postinst.d下面放个脚本自动去做),要么去学习grub的命令来手动编写探测不同版本的内核的代码
我打算不升级内核,并且移动硬盘不总是接入电脑,因此采取了用/boot/grub/grub.cfg替换efi分区下EFI/ubuntu/grub.cfg的方法,现在启动时会列出Ubuntu 18.04和20.04了,也能正常进入,效果很好。
我看到你的解答中有“手动编写探测不同版本的内核的代码”。我是以只显示当前接入的移动硬盘上的系统为出发点来想这件事的。我一开始以为仅仅是能在只接入一个移动硬盘时就加载该盘里的/boot/grub/grub.cfg,而不是像现在这样加载一个固定的grub.cfg。但思考之后我发现我的想法是错的,假设不进行update-grub,只是自适应地选择一个/boot/grub/grub.cfg加载,是不能在接入两个移动硬盘时正常工作的,必须要“拼接”两个Ubuntu中的/boot/grub/grub.cfg才行;如果进行了update-grub,则一定会把两个Ubuntu都列在启动菜单中。看来这个方案是有难度的,我估计暂时会维持现在这种总是列出两个Ubuntu的状态。
- qy117121
- 论坛版主
- 帖子: 50552
- 注册时间: 2007-12-14 13:40
- 系统: Winbuntu
- 来自: 志虚国乌由市
- 联系:
Re: 在两个移动硬盘安装两个不同版本的Ubuntu后,前一个无法启动
可以用refind 每次开机都可以自动搜索内核
渠月 · QY
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu
Ubuntu 20.04 快速设置指南,请配合浏浏览器自动翻译使用
邮箱 chuan@ubuntu.org.cn
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu
Ubuntu 20.04 快速设置指南,请配合浏浏览器自动翻译使用
邮箱 chuan@ubuntu.org.cn
- 男菜鸟
- 帖子: 1366
- 注册时间: 2008-12-16 14:01
- 来自: 漂在江湖