经过一个下午的尝试,终于将SATA硬盘安装上了。过程如下:
WINXP是通过在CMOS中将SATA控制器设置成IDE模式完成安装的,因此WINXP中没有加载AHCI驱动。当将CMOS中SATA模式开启到AHCI模式时,WINXP蓝屏死机。
尝试在XUBUNTU8.04中使用AHCI模式,成功启动。XUBUNTU的内核很好,很强大!
在XUBUNTU中用dmesg和lshw命令获取主板相关信息,发现主板是精英662_M,SATA芯片是SIS公司的SIS966L。于是上网搜寻安装在WINXP中安装这个芯片的方法。多数方法都是使用原版XP在安装过程通过软盘加载附加驱动方式完成。网上有一些针对INTEL芯片的特殊安装方法,但未找到SIS芯片的安装方法。多次尝试SIS SATA驱动的手工安装,失败!
难道真的不能完全享受SATA的新特性吗?不甘心地又去寻找新的方法,发现一些经过改装的GHOST镜像集成了SATA驱动,可以使用。但以前直接GHOST时曾经出过错误,因此未敢尝试直接GHOST的方法。因此尝试了深度论坛中“无光驱PE安装deepin ghost 系统教程之和子无畏版”(见:http://os.deepin.org/read.php?tid=660286)中方法,将深度8.1安装到系统中,成功驱动SIS AHCI控制器。
但是,安装完系统后,发现原有的WINXP与XUBUNTU的双重引导失效,取而代之是WINXP与“一键还原”的双启动。幸好,在安装XUBUNTU时将GRUB记录写在XUBUNTU的系统盘,没有写到硬盘的MBR中。通过编写GRUB的MENU.LST文件,把启动XUBUNTU的菜单加载进来。试验后成功!
具体方法是先把XP下“一键还原”的MENU.LST移到别处,然后重新启动机器时选择“一键还原”菜单。这时,由于GRUB找不到菜单文件,而起动到命令行形式下,即GRUB>提示符下。在这里通过手工试验各个分区,找到XUBUNTU启动分区,利用CAT命令可以看到在XUBUNTU下的MENU.LST,按照文件内容,手工加载启动镜像,成功启动XUBUNTU。启动后,马上将/BOOT/GRUB/目录下的MENU.LST复制到WINDOWS的分区下,重启。在WINXP下将两个MENU.LST组合在一起,放在C盘根下。此时再重启,选择“一键还原”时,会出现起动XUBUNTU的菜单。
附一份MENU.LST文件:
default 2
timeout 5
fontfile /boot/load/fonts.gz
splashimage /boot/load/deepin.xpm.gz
title ☆ 深度技术论坛 一键还原工具 ☆
clear
#..
title ──────────────────────────────────
clear
title Ubuntu 8.04, kernel 2.6.24-16-generic
root (hd0,7)
kernel /vmlinuz-2.6.24-16-generic root=UUID=30909f91-86e2-4a47-b870-ed99977a429f ro quiet splash
initrd /initrd.img-2.6.24-16-generic
quiet
title Ubuntu 8.04, kernel 2.6.24-16-generic (recovery mode)
root (hd0,7)
kernel /vmlinuz-2.6.24-16-generic root=UUID=30909f91-86e2-4a47-b870-ed99977a429f ro single
initrd /initrd.img-2.6.24-16-generic
title Ubuntu 8.04, memtest86+
root (hd0,7)
kernel /memtest86+.bin
quiet
### END DEBIAN AUTOMAGIC KERNELS LIST
title 启动 一键还原 Ghost v11.0
map --mem /boot/load/ghost.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title ──────────────────────────────────
clear
title 启动本机硬盘的 WINDOWS NT/2003/XP 系统
map (hd0) (hd0)
map (hd0) (hd1)
root (hd0,0)
chainloader (hd0,0)+1
boot
rootnoverify (hd0,0)
chainloader +1
clear
title 启动本机硬盘上 VISTA 系统(如果存在)
find --set-root /bootmgr
chainloader /bootmgr
clear
title ──────────────────────────────────
clear
title 从第二硬盘启动系统
fallback 6
root (hd0,1)
chainloader +1
title 从光驱启动系统
cdrom --init
map --hook
chainloader (cd0)
boot
title ──────────────────────────────────
clear
title 重启计算机
reboot
clear
title 关闭计算机
halt