关于ubuntu与windows双系统的启动项丢失问题
前言
首先,这篇帖子主要解决的问题是你在已经安装完双系统后由于各种其他问题导致其中一者的启动项找不到或者损坏,造成这种问题的原因比较多样,当然解决的方法也很多,重要的是你需要分析你的电脑出现这种问题的原因并进而寻找解决办法。
关于系统的启动方式,这里不做过多赘述,希望大家自己弄清楚你的系统是由efi启动还是bios启动,另外还有你的电脑是否支持efi的启动方式(当然,现在来讲,efi已经成为发展的未来,基本现在的电脑都支持这一启动方式)
好了,弄清楚了以上的基本问题,现在我们就具体问题进行分析:
开始工作
1.ubuntu启动项丢失
ubuntu的启动项丢失可能发生在你刚刚安装完ubuntu系统重新开机时,也可能发生在你重装过一次windows后。
第一种情况比较容易解决,大多数情况下不会发生。一般情况下,在先安装windows后安装ubuntu后,ubuntu自带的grub2(用于管理开机启动项)会自动接管,并以ubuntu作为默认启动系统,这种情况理论上你可以直接找到你的启动项。假如你的ubuntu的grub并没有接管,那么你的计算机还是以windows为默认系统进行启动,那么你可以使用easybcd或者easyuefi工具为ubuntu系统做一个启动项引导,即不使用grub,而使用bios (-> efi)的启动流程。
easybcd: https://easybcd.en.softonic.com/
easyuefi:https://easyuefi.en.softonic.com/
下载完成之后在添加新条目中为你的操作系统新建一个引导项,引导项所指向驱动器的位置应该是ubuntu系统的grub所在的盘。
然后添加
然后重新启动电脑,就可以按照easybcd为你建立的引导项进入ubuntu系统.
需要注意的问题
- 你需要选择grub2作为引导类型
- 你的windows系统是以efi为引导的.
- 你的grub依然是完好的没有被损坏.
如果出现以上后两种情况,你依然无法进入系统,需要在第二种情况中寻找答案。
第二种情况则时常发生重装windows系统后或者先安装ubuntu系统后安装windows系统中,这时可以确认的是ubuntu中grub通常已被损坏,因此需要修理grub引导,这里需要制作一个ubuntu启动盘,在ubuntu安装的过程中,我们见过这个安装引导:
(图片来自网络)
在这里选择第一条 try ubuntu without installing,以试用模式暂时进入ubuntu系统
在这之前,你可能会与到卡死在加载界面无法进入使用模式的情况,这是因为图形界面加载有问题,需要你按“e”进入命令行,在quite splash后添加nomodeset,之后可以暂时进入。
打开终端(Open Terminal),获取root权限,执行以下命令:
1. sudo su
2. sudo add-apt-repository ppa:yannubuntu/boot-repair
3. apt-get update
4. apt-get install boot-repair
在搜索中搜索boot-repair并打开,按照提示进行修复:
在进行完这一步后,你的ubuntu启动项已经修复完成。
2.windows启动项丢失
当以grub进行系统的引导时,时常会出现windows引导项丢失的问题,较为简单的解决方案是在ubuntu中的terminal中输入
sudo update-grub
一般情况,这个方法可以解决问题,但也有意外,这时需要手动在grub添加对windows的引导,终端中输入:
sudo gedit /boot/grub/grub.cfg
在文件末尾加上以下部分:
menuentry "Windows 10" {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos1)'
chainloader +1
}
保存,重启,就可以在grub中找到windows启动项。
需要注意的问题
- 这里“set root= (hd0,msdos1) ”中的“ (hd0,msdos1) ”为你windows系统所在分区,该方法适用于添加windows7和window10开机引导项。
- 其中“ Windows 10 ”是出现在开机引导/启动项中的名字,可以随意替换。
- 你的windows是以efi启动的。
如果很不幸,你的windows并非以efi启动,那么你可以在启动电脑时狂按F9,不同电脑可能不一样,通过调出所有能检测到的系统,找到你的windows,当然,这个解决方法并不优雅,另有如clover这样的工具可以解决问题,具体这里不展开,方法很好找到。
总结
解决问题的过程并不算非常困难,但是却非常麻烦,具体在于你对操作系统的启动过程是否了解以及这些诸如efi,bios,grub等名词在这个过程中所扮演的角色,最后,希望大家能解决自己的问题。