WIN7和Ubuntu双系统,Ubuntu正常,WIN7有问题

1.碰到的问题:window7上安装ubuntu16.04,重启电脑,进入grup,Ubuntu可以正常进入,window7没有办法进入。
解决办法:进入Ubuntu系统,Ctrl+Alt+T,进入终端,输入:“sudo update-grub”;然后重启电脑,grub界面会出现window7选项,点击进入,即可。

2.碰到的问题:在原有系统上重装ubuntu系统,导致磁盘分区被破坏,重启电脑,出现“error:unknow filesystem……”
解决办法:如果电脑里所有系统的资料不重要,直接重装系统即可。
如果需要保存原有系统,使用命令解决:

使用ls命令显示出ubuntu分区的安装信息:

grub rescue>ls

一般会罗列出所有磁盘的分区信息,比如(hd0,msdos1)(hd0,msdos4)(hd0,msdos5)(hd0,msdos6)(hd0,msdos7)等等

之后输入:

grub rescue>set

会列出当前grub的设置,比如
prefix=(hd0,msdos6)/boot/grub,
root=hd0,msdos6,或者
prefix=(hd0,msdos6)/grub,
root=hd0,msdos6,
正是因为这些设置错误,才导致grub无法找到Ubuntu分区,之后是重新进行grub设置

如果你知道ubuntu是安装在哪一个分区的,比如(hd0,msdos7),则分别输入:

 grub rescue >set root=hd0,msdos7
 grub rescue> set prefix=(hd0,msdos7)/boot/grub
(有些情况下会是set prefix=(hd0,msdos7)/grub,以set之后显示的grub设置为依据)

之后输入:

 insmod normal 

如果仍然出现 error:unknown filesystem 则重新回到步骤2进行grub设置;如果出现的是

grub rescue>

表示分区设置正确了,之后再输入

normal 

就又会看到我们那个熟悉的紫色界面了,不过到这里还没有结束,因为如果你再次重启系统的话,依然会碰到error:unknown filesystem这个问题,然后你又要重复上诉步骤才能看到系统的选择界面,因此还有一步需要完成,

选择ubuntu,进入之后启动终端,输入如下命令

sudo  update-grub
sudo grub-install /dev/sda

修复grub分区信息,这样后就不会出现问题了

即使这样,可能也还没结束,最好切换一下系统,看是否每个系统都可以正常运行,我遇到的是W7又进不去了。选择Windows 7启动菜单启动Windows,毫无反映几秒钟后返回GRUB启动菜单

解决办法:在保证Windows启动器没有被GRUB破坏,进入Ubuntu系统/boot/grub目录,打开grub.cfg文件查看,下面显示的grub.cfg有关windows 7启动的部分

### BEGIN /etc/grub.d/30_os-prober ###

 menuentry 'Windows 7 (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-F040DA6A40DA3756' {
        insmod part_msdos
        insmod ntfs
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  F040DA6A40DA3756
        else
            search --no-floppy --fs-uuid --set=root F040DA6A40DA3756
        fi
        parttool ${root} hidden-
                chainloader +1
 }
 set timeout_style=menu
 if [ "${timeout}" = 0 ]; then
   set timeout=10
 fi
 ### END /etc/grub.d/30_os-prober ###

其中

 chainloader +1

chainloader用于切换启动器,+1是指定启动器所在硬盘扇区块位置。chainloader+1语句的含义是启用在sda1的第一个块的启动器用于引导操作系统。此时sda1的第一个块已经被GRUB所占据,切换启动器的结果就是再启动一遍GRUB。因此当用户在GRUB中选择windows 7 loader后返回GRUB菜单就以为怪了

解决办法:将chainloader+1,替换成ntldr /bootmgr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值