早上揣了张Ubuntu Server 7.10跑过去,信心满满的本以为也就个把小时就搞定的,可是安装盘引导的时候却报下面的错:
PCI:Cannot allocate resource region 1 of device 0000:00:14.0Google了下,是ACPI的问题,很好解决,在Ubunt的安装菜单中,按F6编辑启动选项,在内核启动选项末尾加上
acpi=off这样关闭了acpi支持后,安装过程一切顺利,咱心里那个美啊,一不小心,就神游着想完整和我亲爱的吃啥子了,但是现实是残酷的,TNND,安装完成后,Grub引导后,就停在那里,一个破光标一直在闪啊闪阿,压根就不引导系统,郁闷。
还好Internet这小妮子勾搭上Google就是风情万种,一查,原来很多朋友在这台Dell Optiplex 320栽跟头,原来是Grub不认得SATA的硬盘,造成的,晕。
既然是Grub的问题,那解决就简单了,替换Grub为其他支持SATA的引导程序好了,比如使用Lilo替代,使用grub4dos替换,考虑到Grub的使用的普遍性,我采用Grub的下一版本Grub2替换,替换的方法很简单:
首先使用Ubuntu Live CD(如Ubuntu Desktop CD或者其他支持Live Linux的光盘)引导系统,进入系统后,再使用chroot切换到我们前面安装在硬盘的Ubuntu Server,最后在Ubuntu Server上安装Grub2就可以了,使用Live CD引导系统启动完毕后,打开终端使用如下命令chroot到硬盘中的我们安装的Ubuntu Server:
先创建一个目录,用于加载硬盘中的系统
sudo mkdir /media/root加载硬盘中的Ubuntu root分区,我这里的root分区是:/dev/sda2
sudo mount /dev/sda2 /media/root如果您有单独的boot分区,再加载boot分区,我的boot分区是:/dev/sda1
sudo mount /dev/sda1 /media/root/boot然后,将Live系统中的proc和dev加载到/media/root中,以便后续的chroot
sudo mount -t proc none /media/root/proc
sudo mount -o bind /dev /media/root/dev最后使用chroot切换到硬盘中的系统
sudo chroot /media/root下面在实际的Ubuntu Server下安装Grub2,注意Grub2和Grub冲突,会自动卸载掉Grub:
sudo aptitude install grub2接着,将Grub2安装到硬盘的引导扇区中,如果您象我一样有单独的boot分区,使用如下命令,/dev/sda为要安装Grub2的硬盘:
sudo grub-install /dev/sda如果没有单独的boot分区,使用如下命令:
sudo grub-install –root-directory=/boot /dev/sda然后,使用如下命令更新Grub2配置,自动发现系统可引导内核:
sudo update-grub最后,和前面安装Ubuntu Server时类似的原因,我们要关闭内核的acpi支持,不然,虽然Grub2能够支持SATA引导系统,但是还是会因为acpi的原因而引导失败(msi非活动错误),修改/boot/grub/grub.cfg(Grub2的启动配置文件是grub.conf而不是menu.lsf),将:
menuentry “Debian GNU/Linux, linux 2.6.22-14-server” {
linux (hd0,1)/vmlinuz-2.6.22-14-server root=/dev/sda3 ro
initrd (hd0,1)/initrd.img-2.6.22-14-server
}
menuentry “Debian GNU/Linux, linux 2.6.22-14-server (single-user mode)” {
linux (hd0,1)/vmlinuz-2.6.22-14-server root=/dev/sda3 ro single
initrd (hd0,1)/initrd.img-2.6.22-14-server
}修改为:
menuentry “Debian GNU/Linux, linux 2.6.22-14-server” {
linux (hd0,1)/vmlinuz-2.6.22-14-server root=/dev/sda3 ro acpi=off
initrd (hd0,1)/initrd.img-2.6.22-14-server
}
menuentry “Debian GNU/Linux, linux 2.6.22-14-server (single-user mode)” {
linux (hd0,1)/vmlinuz-2.6.22-14-server root=/dev/sda3 ro single acpi=off
initrd (hd0,1)/initrd.img-2.6.22-14-server
}然后重新启动,这时候您应该注意到引导时的Grub显示的是1.95的版本,(如果不是的话,嘿嘿,那就是前面Grub2安装的不对,请回去检查。)系统也正常的启动了!
大功告成,这个世界太美好了,空气太清新了,哈!
PS:关于DELL的这个320的PC为什么这么变态难装,大家可以看后面的说明及总结。
我用这机器,说明一下
Dell的这批机器的BIOS有问题
为vista专门改的BIOS
所以一般的linux装上去根本没法用
特殊处理过的Redflag 5 可以装,但实在用不习惯像xp又不好用的linux
简单说明一下:
1.系统要可以安装的话在启动时加内核选项pci=nomsi
2.系统要可以引导的话有两 种选择,一种是换成lilo来引导,另外就是不用现在大多数发行版用的
grub 0.97 ,而用新的grub2 (1.97)
安装时最方便的发行版是Debian
我是用amd64-i386-ppc三合一版的DVD装的
安装前要选择expert模式,因为要装lilo或者grub2
装完系统后选装lilo或者chroot进安装好的系统装grub2 (不过这个似乎只有在sid有)
lilo的附加选项里要加pci=nomsi,要不然启动不了
grub2要设置一下把grub2写到mbr里去,要不然没有引导器(注意:grub4dos不能引导)
我就是装的grub2,不用写nomsi
google 这个题目《TestingOnX86 》有详细说明
我现在装的am64-sid+ grub2
只是这机器的显卡是ATI
有时候很卡
很郁闷