window/linux(ubuntu/linuxMint) 双系统不能启动终极解决办法

按照国际惯例,先说明我的环境:

硬件配置如下:
CPU:AMD A10-5800K (APU,HD 7660D)
主板:技嘉(GIGABYTE) F2A85X-D3H主板(大板)
内存:芝奇(G.SKILL)DDR3 1600 8G(4G×2双通道)

软件配置如下:
先用 UEFI + GPT 安装windows 7,然后安装ubuntu,用boot-repair成功修复引导。后面把ubuntu折腾得不行了,打算换linuxMint玩玩,又觉得前面给ubuntu的分区不合理,顺便 调整一下分区 ,即原来的/boot分区的位置有变化。然后就正常安装linuxMint,可惜重启后就悲剧了。

重启后没出现可爱的grub引导界面,而是给我这个东东:
error: unknown filesystem
grub rescue >


下面提供解决类似这种启动问题的三种招式( 并不一定你也是出现和我同样的问题,但只要是grub引导问题,都可以按照以下方法解决 ):

1:平淡无奇:使用boot-repair
      开机用安装媒介引导(我是用u盘来安装系统的,如果你用光盘也没问题)进入linux环境,只是试用而已,不选安装。ubuntu/linuxMint都会有一个安装前的桌面环境提供给你,进入后调出 终端(可以按ctrl+alt+T),当然,你得首先把网络连通,再输入以下命令启动boot-repair:
$ sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
$ sudo apt-get install -y boot-repair && (boot-repair &)



你应该得到一个类似上图的界面,还犹豫什么,猛击”Recommended repair“吧,等几分钟后,你会得到一个类似下面的提示:



直接点OK,然后重启看看是否可以成功引导了,如果还是不能引导,请使用下面的第二招

2:渐入佳境:使用chroot
     前面的步骤和招式1一样,先进入linux的安装桌面环境,联网,调出终端。首先 确认你的系统是安装在哪个分区的,最简单的方式是通过GParted依据分区大小来看,例如:
 


以上是我的分区,如果不能用gparted,可以用fdisk,或者blkid来看看:
$ sudo fdisk -l /dev/sda
$ sudo blkid
例如,我这里的分区规划是: sda5 挂到/     sda8 挂到 /usr   sda9挂到/tmp 
先做一些chroot前的准备工作:
$ sudo mkdir -p /mnt/mint
$ sudo mount /dev/sda5 /mnt/mint/      #sda5 对应到真实系统的  /  目录
$ sudo mount /dev/sda9 /mnt/mint/tmp   #sda9 对应到真实系统的  /tmp 目录
$ sudo mount /dev/sda8 /mnt/mint/usr
$ sudo mount -t proc none /mnt/mint/proc
$ sudo mount -o bind /dev  /mnt/mint/dev
$ sudo mount -o bind /sys /mnt/mint/sys
$ sudo mount -t devpts devpts /mnt/mint/dev/pts
由于我没有将/boot单独分区,所以/boot是在 sda5 里面,以上的主要是为chroot后的系统挂载必要的文件系统,如果你还有其他分区是单独分区的,尤其是 /etc  /boot  /usr 等分区, 一定要挂载 到对应的目录下。然后就是change root了:
$ sudo chroot /mnt/mint
输入以上命令后出现一个另外不同的提示符,那就表示你成功change过去了。这里的 /mnt/mint 就是真实系统 / 分区对应的挂载点。
然后是进行grub的修复工作,依次输入以下命令:
# grub-install --recheck /dev/sda
# update-grub
然后就是退出change root环境了,依次输入以下命令:
# sync
# exit
这时候应该就会退回到原有的终端中来了,再倒着顺序卸载前面挂载的分区:
$ sudo umount /mnt/mint/dev/pts
$ sudo umount /mnt/mint/dev
$ sudo umount /mnt/mint/sys 
$ sudo umount /mnt/mint/proc 
$ sudo umount /mnt/mint/usr 
$sudo umount /mnt/mint/tmp
$ sudo umount /mnt/mint
最后就是重启看看效果了,基本上一般的启动问题都会这样被修复掉,如果你的还是无法启动,就只有用第三招了

3:天地同归:删掉grub重装
     重装grub的方式有手动和自动,这里提供最简单的自动方式。
      前面的步骤和招式1一样,先进入linux的安装桌面环境,联网,调出终端。启动boot-repair:
$ sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
$ sudo apt-get install -y boot-repair && (boot-repair &)


不同的是这次不点"Recommended repair ",而是点下面三角符号后面的"Advanced options",会出现下面的界面,切换到“Grub Options”选项卡, 选第一项 "Purge Grub...",最新的可能和下面的图不一样,但还是有Purge 字样的:


然后点apply,会自动帮你干活的,期间会有对话框弹出来,要求你将弹出对话框的命令放到终端中去执行,照做就行(复制粘贴即可):




当然最后完成的时候也会弹出如招式1最后的对话,不用关心,直接重启,你会有惊喜的。

后记:我的启动问题就是用最后这种方式解决的,前面两种方式对调整分区后的系统无效,尤其是UEFI + GPT分区的时候,猜测可能是/boot位置有改动导致的。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值