1
/7
进入ubuntu系统,打开终端,执行sudo update-grub,更新修复grub,执行完成后重启即可看到windows系统,此命令通常可以解决大部分问题。执行完毕,重启即可。
2
/7
如果执行完update-grub没有发现windows系统,则使用Boot-Repair工具进行引导修复。安装Boot-Repair
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
3
/7
终端启动boot-repair,运行后会d出界面,选择第一个
4
/7
按照软件的提示,新建一个终端,输入左侧提示的命令。命令执行完成会出现右边侧的选项框,选择yes。左侧点击Forward
5
/7
按照下一步提示,继续终端执行左侧的命令,然后出现左侧提示的界面。按照提示选择第一个
6
/7
legacy执行完毕,重启系统,切换以legacy的方式启动
7
/7
进入ubuntu系统之后,再次执行sudo update-grub,发现windows系统,修复成功。重启即可进入grub界面,选择要进入windows还是ubuntu了
解决方案,在安装win10+ubuntu双系统后,可能因为种种原因导致ubuntu的引导出错,使电脑一开机直接进入win10.我遇到过两种产生这种错误的情况。
1.在我已经安装了win10+ubuntu双系统的情况下,又试探性的装了一个deepin系统,而此时计算机的引导是deepin的引导。之后由于成功安装了deepin,所以实验结束我就将deepin系统删除了(回收了deepin系统的占用磁盘)。当我再次开机时就直接进入win10,而没有出现系统引导界面。
2.在我已经安装了win10+ubuntu双系统的情况下,我将win10进行了重装,此时也导致ubuntu的引导出现错误,但此时我可以通过进bios,在选择进入ubuntu,但是开机后如果不做任何事情依然会直接进入win10.
好了,这就是我遇到过的双系统环境下出现的引导修复问题的两中情况,现在说一下解决方案:
正常情况如图:(借一下别人的图。。)
而一旦引导出错,就没有该界面了。。
第一步:准备好一个ubuntu的系统安装u盘(系统版本随便,但必须是ubuntu系统)
第二步:将win10的快速启动关掉,以防插入u盘不会进入u盘安装系统界面。关掉后如果还没出现,就根据电脑品牌按不同的方法进如bois,将Secure Boot 设置为Disabled。
第三步:将U盘插入,开机,选择Try ubuntu without install:
第三步:进入Ubuntu系统后,打开终端,并输入以下命令。
$ sudo -i //获得root权限
# add-apt-repository ppa:yannubuntu/boot-repair //获得最新修复引导的档案源
# apt-get update //更新
# apt-get install boot-repair //获取boot-repair安装包,并安装
最后:按win键,搜索boot-repair,找到修复工具并打开,点击recommand repair,之后等待其执行完毕,关机,拔出u盘,开机。
开机后不会直接进入win10,会出现下图,相较于之前多出了许多选项:
如果想要回复之前原状,我们进入ubuntu修改grub.cfg引导配置文件,删掉多余选项就ok,执行以下命令。
su # 获取root权限
cd /boot/grub #进入引导配置文件所在目录
cp grub.cfg grub.cfg_backup#先备份一下
cat grub.cfg >tmp#将内容重定向到其他文件,便于修改
gedit tmp#或者vim tmp
#将处于### BEGIN /etc/grub.d/25_custom ###之间的内容全部删掉
### BEGIN /etc/grub.d/25_custom ###
menuentry “Windows UEFI bootmgfw.efi” {
search –fs-uuid –no-floppy –set=root 84F5-6727
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}
…
menuentry “Windows Boot UEFI recovery bkpbootx64.efi” {
search –fs-uuid –no-floppy –set=root 5686-D913
chainloader (${root})/efi/Boot/bkpbootx64.efi
}
### END /etc/grub.d/25_custom ###
这些就对应这之前多余的选项
删掉之后,将tmp中内容导回grub.cfg
cat tmp >grub.cfg
reboot #重启电脑
最后一切都和之前一样了。。。。。
最后说一下,如果是第二种情况,可以进入之前的ubuntu系统但不会出现引导,只需进入ubuntu执行上述 *** 作即可。
可以说,微软主动拥抱Linux,推出WSL,是Windows历史上标志性意义的事情。有了WSL,学习Linux的门槛一下降低了,我们在Windows上就可以很方便地安装、备份、还原Linux子系统,而这些功能通过命令行工具wsl可以超级轻松地实现。下面来体验一下:Windows键+R,输入cmd回车打开命令行窗口输入 wsl -l ,可以看到我系统里装了一个Ubuntu 18.04:
输入 wsl --version 可以看到版本信息和命令行参数一览:
接下来讨论几个具体用法。
wsl -l 列出了系统中安装的子系统名称,可以是一个或多个,本文中的子系统名称是 Ubuntu-18.04-20190707 ,接下来针对这个默认子系统进行 *** 作:
等待完成即可。
备份成功后,子系统会被打包成命令中指定的tar文件。
这样WSL子系统就从Windows中删除的干干净净了。
这里注意指定还原的路径。成功后,子系统又回来了,可以用 wsl -l 确认一下。
如本文标题,WSL的备份还原就是这么简单,的确是简单到极致!前文说过,笔者在折腾aria2的时候曾经把系统搞崩溃过(小白没办法),就是用 wsl --import 把系统还原回来重新折腾的。通过 wsl --export ,我们可以把WSL导出为一个文件,放到U盘里随身带走,然后可以在任意一台电脑里还原,继续我们的工作,是不是很方便?
需要说明的是, wsl --upgrade 功能最好不要用,微软的技术支持说没什么用处还可能出问题,反正我是没敢尝试的。不过WSL2.0已结出来了,据说使用了真正的Linux内核,进化中的WSL,的确让人期待!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)