昨天接到朋友送来的本本,刚出厂没多久型号svf143a1qt i5-4200U 4G 500G GT740 2G独显,预装红旗8.0。他的要求是,保留原系统,加装win7,听起来挺简单的啊。果断接手。
5分钟下完win7 64 旗舰版 ,ultriso写入, 按assist(vaio 进入启动菜单直接按这个键)进入启动菜单,U盘启动装win7(当然提前DOS 版的diskgenius分好区了),然后就睡觉去了,醒来坑了,忘了备份mbr了linux启动不了了,好下载red flag 8.0的iso 这可是livecd的第一版啊,好做好U盘启动进去,一直在选择启动项的地方循环3秒,进不去安装界面。好吧扯了,查了下说拿掉独显可以,还是算了吧。
想办法修复linux引导 那就grub吧,结果各种捣鼓还是无果,easyBcd添加启动项也引导不了,他的原来分区没有把boot 单独分区装。好吧放弃,曲线救国,ubuntu的iso 我倒是一大堆从10.04 到12.10 做了个12.04.2的启动盘,不管windows了先把linux 引导修复再说,U盘启动到ubuntu下,打开终端开始,命令如下:
- 创建/mnt/temp,挂载原来的根目录
sudo mkdir /mnt/temp
sudo mount /dev/sda2 /mnt/temp- 挂载系统目录
for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt/temp$i; done - chroot 进入原系统
sudo chroot /mnt/temp - 重新安装grub到mbr
sudo grub-install /dev/sda
好了至此,linux引导修复了,可以启动了,但是windows引导不了,grub4dos不会用。好吧打算就用linux引导win7 ,查资料大都是说在/boot/grub/grub.cfg 添加win7 的启动项,但是我怎么添加他都不行,后来我找到原因了。原来red flag 8.0 将grub 升级到了grub2 但是命令还是grub 而不是grub2,grub2 他已经将menu.list 替换成了grub.cfg ,找到问题所在解决 。grub2的添加启动项不能直接去更改grub.cfg 这是grub2的规定,直接去改,不会有任何效果,在系统加载的时候自动还原了。但是可以在自定义中改,那就是/etc/grub.d/40_custom
- 挂载系统目录
好的现在添加win7的引导 打开red flag 的终端 ,命令如下:
sudo kwrite /etc/grub.d/40_custom
在打开的文件中添加:
menuentry “windows7”{
set root=’hd0,2’
chainloader +1
}
保存,继续在终端下输入:
sudo grub-mkconfig -o /boot/grub/grub.cfg (回车要是提示40_custom 中有语法错误那就删除那行)
输入后会出现
Generating grub.cfg …
Found theme: /boot/grub/themes/Qomo/theme.txt
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
No volume groups found
Found Windows 7 (loader) on /dev/sda3接着输入:
sudo grub-install –root-directory=/ /dev/sda
会提示:Installation finished. No error reported.
然后重启重启电脑,win7的启动项就在启动目录了,可喜可贺。好了切换到win7看看,我去,切换花屏,得强之关机重新卡机选win7进入后才正常。肯定与显卡有关,后来由于win7刚装的系统什么驱动都没装。切换到win7给他装了GT740的显卡驱动。ok 再切换系统无任何问题。问题搞定。累死的节奏。写出来分享给跟我曾经一样迷茫的朋友。
本文说明: 文中sd2 是我linux的根目录, 你可以通过sudo fdisk -l 命令查看 很清晰,sd3是我win7的系统盘,hd2 就是我win7系统盘因为grub 从0开始算。自己根据自己实际情况进行更改。不早了该睡觉了。