之前安装ubuntu后一直出现grub引导启动windows7 出现A disk read error occurred Press Ctrl+Alt+Del to restart 的问题,一直也没有解决。
前两天又是一阵无聊,准备再装一次尝试,结果不用猜,还是老样子,无法引导。
这个是怎么回事呢?
根据百度大婶的解释,可能是因为使用ultraiso把iso写入u盘把win7的mbr复写进了U盘,然后reboot选择U盘启动时系统的mbr已经在U盘里了,这时候安装ubuntu后U盘里的mbr挂载到了grub下面,而不是我们的win7系统的mbr,这也就导致了win7系统移交报告自己的mbr给grub时出错,其实是U盘里的mbr给了grub,也就使得grub引导时选win7 loader出现A read disk error occurred,因为这时候grub是去找你的U盘上的mbr而不是win7系统的mbr。
看来可以用修改grub来解决这个问题。
百度大婶告诉我:Boot-Repair可以解决这个问题。但是我总是没有成功过,OMG。
没办法,直接用sudo gedit /boot/grub/grub. cfg吧。搜索下:windows7
把它下面的
insmod ldm
insmod ntfs
set root=’ldm/5addaa76-2cd4-11e3-be9b-742f6869a53f/Volume1’
修改为
insmod part_msdos insmod ntfs set root=’hd0,msdos1’##注意:ntfs:如果是FAT32文件系统就把NTFS改为FAT32;hd0表示在第一块硬盘即主硬盘上,msdos1表示在第一个分区。这些需要根据自己的分区修改
OK,这样就在启动win7的时候就不会出现问题了。不过这个方法有个缺点,就是不能更新grub或者升级系统,不然还要重新更改。
有没有更好的方法呢,当然有。使用Grub Customizer 这个配置 grub2/burg 的图形化界面软件,我们可以更加方便的修改grub并更新它。