三系统:XP+Win7+Ubuntu Server

来源:互联网 发布:淘宝的评论怎么删除 编辑:程序博客网 时间:2024/06/05 14:06

今天在Thinkpad SL400上装了Ubuntu Server。做个笔记。

本子是配给的,里面原有XP和Win7两个能启动的系统,一个不能引导的Vista启动项;硬盘五个分区,C盘名为Server2003,总之是非常混乱。因为已有系统中软件装得很全了,不想格盘重来。


第一步:确定各分区情况,决定安装位置

几个分区的情况如下:

C(Server2003): 1.46G

D(XP): 48.8G

E(Lenovo): 10G

G(Win7): 48.8G

H(Data): 40.1G

分别进入两个系统,确定XP和Win7的系统盘分别是D和G。将C盘和E盘中明显没用的DRIVERS文件夹和里面已经基本没内容的WINDOWS文件夹删除。查看容量时发现,C盘和E盘有大量隐藏文件。Win7下资源管理器-组织-文件夹和搜索选项中显示所有隐藏文件,发现C盘里面有BOOT.ini和bootmgr,因此应该是两个系统的启动盘,确切来说,是“系统分区”。“系统分区”并非是操作系统的安装分区,而是指引导信息存储的地方,而“启动分区”才是指当前启动的系统文件所在的盘,参见微软官方帮助《什么是系统分区和启动分区?》。在系统“磁盘管理”中可以看到各个分区的性质。在我这个本上,C盘是系统分区,不能革的。在两个系统下,E盘都是启动分区,而且两个系统都没有安装Lenovo的产品,因此我革掉了E盘,作为新系统的安装空间。我试了一下用Win7的“压缩卷”来压缩G和H,再腾一些地方,但是腾出的空间都不能与E合并,于是放弃。


第二步:安装Ubuntu Server

我从官方网站上下载了Ubuntu Server 10.10 64bit,并按第二步介绍下载了开源刻录软件Infra Recorder。很好用。

从光驱启动,按照提示开始安装。删除了NTFS的E盘。这里有一些看起来不错的分区方式,不过我选了自动分区,它将这10G分成了swap和/两个盘。其实Ubuntu的提示还是非常明白好懂的,我在装grub之前和之后,都没有遇到任何问题。

在装grub时,提示发现Windows Vista Loader。这让我有些疑虑,因为显然Vista是个遗留物,现有的Win7和XP都没有检测到。(不过后来我想也许其实没问题也说不定,因为Win7和Vista机制一致,而XP的启动在Win7底下,但我不能确定。)于是我采用了这篇文章的方法,先将grub装在/boot所在分区,然后从Windows系统用EasyBCD添加Ubuntu启动项。我选择将grub装在/dev/sda8上,sda8纯是猜的,我早忘了前面分出来是什么序号了,只模糊记得之前的五个盘中有三个是逻辑磁盘,应该占了5、6、7三个号。


第三步:解决多启动问题

重新启动之后进入Win7,安装EasyBCD。这个免费软件很好用,简单的界面上列出了现有项,一个是Win7,一个是XP。在左侧选“Add New Entry”,右边选Linux/BSD选项卡,下拉框选GRUB2,自己起一个名字,就可自动添加了。另外,现有的XP其实是无法引导的,选了之后就黑屏没反应,需要删除重新添加。依然是“Add New Entry”,Windows选项卡,下拉框选Windows NT/XP/2K/2K3,自动检查系统所在盘,自动配置,添加就可启动了。现在,启动列表中有三个选项。


第四步:从Ubuntu启动列表中删除Win7

在三个系统的启动项选择Ubuntu Server进入之后,出现grub启动列表,里面有常见的启动和recovery模式,最后列出了Win7。我觉得这个没必要了,就用The Grub 2 Guide中的方法将它去掉:

Menu items are placed on the Grub2 menu by scripts. If you don't want other Operating Systems to be entered in the menu, disable /etc/grub.d/30_osprober

  • Run this command to stop the script from running: sudo chmod -x /etc/grub.d/30_os-prober


第五步:解决乱码问题

我在安装的时候选了简体中文,虽然安装过程中比较受用,但直接导致了系统提示都是方块,因为虽然locale是中文,但并没有装中文语言包。不过我觉得用英文比较好,就干脆将locale恢复成英文了。

修改 /etc/default/locale的内容为

LANG=”en_US.UTF-8″

LANGUAGE=”en_US:en”

重启之后看locale,出了三个错误:

locale: Cannot set LC_CTYPE to default locale: No such file or directory

locale: Cannot set LC_MESSAGES to default locale: No such file or directorylocale: Cannot set LC_ALL to default locale: No such file or directory

调用下面的命令之后好了,方法来自这里:

$ sudo apt-get install --reinstall language-pack-en

这个方法可能还是比较山寨,不过刚接触,也就只能靠搜索来的东西这样拼拼凑凑地解决问题了。

 

 

最后,记一个总结启动问题很全面的链接:Windows XP / Windows 7 / ubuntu三系统共存的方案