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


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引导界面,而是给我这个东东:
[plain] 
error: unknown filesystem  
grub rescue >  
 
下面提供解决类似这种启动问题的三种招式(并不一定你也是出现和我同样的问题,但只要是grub引导问题,都可以按照以下方法解决):
 
1:平淡无奇:使用boot-repair
      开机用安装媒介引导(我是用u盘来安装系统的,如果你用光盘也没问题)进入linux环境,只是试用而已,不选安装。ubuntu/linuxMint都会有一个安装前的桌面环境提供给你,进入后调出 终端(可以按ctrl+alt+T),当然,你得首先把网络连通,再输入以下命令启动boot-repair:
[plain] 
$ 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来看看:
[plain] 
$ sudo fdisk -l /dev/sda  
$ sudo blkid  
例如,我这里的分区规划是: sda5 挂到/     sda8 挂到 /usr   sda9挂到/tmp 
先做一些chroot前的准备工作:
[plain] 
$ 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了:
[plain] 
$ sudo chroot /mnt/mint  
输入以上命令后出现一个另外不同的提示符,那就表示你成功change过去了。这里的 /mnt/mint 就是真实系统/ 分区对应的挂载点。
然后是进行grub的修复工作,依次输入以下命令:
[plain] 
# grub-install --recheck /dev/sda  
# update-grub  
然后就是退出change root环境了,依次输入以下命令:
[plain] 
# sync  
# exit  
这时候应该就会退回到原有的终端中来了,再倒着顺序卸载前面挂载的分区:
[plain] 
$ 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:
[plain] 
$ 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位置有改动导致的。
 

相关内容

    暂无相关文章