Dell Optiplex 320 Ubuntu Server 7.10 安装手册
早上揣了张Ubuntu Server 7.10跑过去,信心满满的本以为也就个把小时就搞定的,可是安装盘引导的时候却报下面的错:
PCI:Cannot allocate resource region 1 of device 0000:00:14.0
Google了下,是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为什么这么变态难装,大家可以看这里的说明及总结。