当前位置:Linux教程 - Linux - i386 PC 上多系统共存安装方案

i386 PC 上多系统共存安装方案

===========================
i386 PC上多系统共存安装方案
===========================

-------------
说明:

o 我只是把个人的安装经历写出来。为充满好奇心的 newbies
提供一个比较完整的教程。如果你对多系统有浓厚的兴趣,我想
这篇东东可能对你有所帮助,如果你觉得不以为然,那就不用耽误时间,
直接去做自己感兴趣的事哦 :-p

o 我只是把安装的经过写出来。如果你问诸如“我的网卡没有找到”、
“我的X起不来”等,我想你应该去官方网站去看硬件列表。我只能
给你提供一个安装的参考,具体的事还要你自己来做。

o 我只是写出了系统安装、进入 X window、汉化的过程,如果你
需要配置 DNS、apache、mail 等资料,这里并没有涉及。

o 如果你发现教程里面某些地方不太准确,希望你不吝赐教,指出
其中的错误,让这份教程更充实、更完善。



--------------
我的机器的详细情况

o 硬件

显示器 --- SAMSUNG SyncMaster 750s
显卡 --- NVIDIA RIVA TNT2
CD-ROM --- SAMSUNG CD-ROM SC-152N
硬盘 --- IBM 40G
CPU --- PIII 933
内存 --- kingmax 256M
声卡 --- C-Media CM9738
网卡 --- Legend DFE-530TX
鼠标 --- PS/2 鼠标
键盘 --- 标准键盘

如果你的系统和我的差不多的话,那么下面的安装过程不用修改太多。

o 系统

windows 2000 pro
windwos 2000 server sp2
FreeBSD4.4
Mandrake8.1 Linux
debian Linux sid3.0


---------------
硬盘分区

C: hda1 FAT32 2G 活动 主 windows 2000 pro
* hda2 UFS 5G 主 FreeBSD4.4
* hda5 swap 500M 逻辑
* hda6 ext2 40M 逻辑 /boot (Mandrake8.1)
* hda7 ext2 2.4G 逻辑 / (Mandrake8.1)
* hda8 ext2 2.1G 逻辑 / (debian sid)
D: hda9 NTFS 8G 逻辑 windows 2000 server sp2
E: hda10 NTFS 8G 逻辑 数据
F: hda11 FAT32 12G 逻辑 数据

Mandrake LILO引导。lilo.conf的设置见下面。

说明:上边的分区大小是大约的,不信你可以加起来看看:-)
另外由于是在 PC 上装 Linux,所以就没有分出 /var、/home,
如果你想分的更细些,那么自己用 cfdisk 或者其他的分区工具
分出自己满意的分区。



-----------------
开始安装系统

现在你应该已经把分区做好了,建议首先规划好了分区再进行安装,
还要注意安装系统的顺序,这样以后就不会出现“我的 Linux 空间不够了”
之类的问题。当然最好是准备几张可以使的软盘 :-)

o 开始安装 windows 2000 pro
这个我不用多说。

o 安装 windows 2000 server
这个也不用多说。

现在你的机器是用 boot.ini 引导的,下一步将要安装Mandrake8.1,
我把 LILO 装在了主分区,因为 Mandrake8.1 的 LILO 比较 pp :-)

o 安装 Mandrake8.1

Mandrake8.1安装有很多种方法,当然最简单的刻成光盘进行安装。其实无论是从光盘
安装还是硬盘安装,主要是引导的区别和寻找安装介质的区别,安装过程是一样的。
我是从硬盘安装的,下面是安装的步骤。其实很多的系统都是可以硬盘安装的,安装过程
大同小异,就是先用软盘引导开始安装,然后寻找安装介质,具体看一下文档。

+ 去ftp://ftp.kando.hu/.6/mandrake-cd/current/ 下载 Mandrake81-cd1-inst.i586.iso
和 Mandrake81-cd2-ext.i586.iso 到本地硬盘。

+用 winiso 或者你比较熟悉的软件解开它们。注意:假如第一个 iso 文件解开后放在
/path/to/Mandrake8.1(比如: F:Mandrake8.1,这里F:就代替 /path/to),第二个 iso 文件
里是 RPMS 包,解开后把整个的目录放到 /path/to/Mandrake8.1/Mandrake下(假设第一个 iso
文件解开后目录名是 Mandrake8.1)。如下图:
Mandrake8.1 第一个 iso 文件解开后的目录
|---boot/
|---doc/
|---
|---RPMS 第一个 iso 文件中的 RPMS 目录
|---RPMS2 第二个 iso 文件中的 RPMS 目录
|---
不要把第二个 iso 文件中的 RPMS 目录放到第一个 iso 文件中的 RPMS 目录里,要并列放到一起。
这样做的原因是安装文件找不到第二个 iso 文件里的 RPMS 包时就会报错!

+ 制作_安装引导_盘,不是引导盘。安装引导盘是用来从软盘引导来安装系统的,而引导盘是
从软盘引导系统启动的。
在 DOS 窗口下运行 path oMandrake8.1dosutils awrite.exe -f path oMandrake8.1imageshd.img -d A
就作好了安装引导盘。path oMandrake8.1index.html 有其他安装方法的详细说明,还是
中文的;-)

+ 开始安装
在 BIOS 中设置软盘启动。出现安装界面,直接按回车进行安装。

+ 选择硬盘安装方式,选定解开后放置 /path/to/Mandrake8.1 的分区,这个如果不明确的话,
先到 windows 下看放置 /path/to/Mandrake8.1 的分区大小,然后再进行安装:-)

+ 找到分区后,提示输入安装介质所在的目录,因为解开后目录是 Mandrake8.1,所以直接
输入 Mandrake8.1 就可以看到 load setup files to memory 的提示。

+ 我用了两个分区分别 mount /boot 和 /。

+ 上面的过程和光盘启动安装没有什么不同,如果是用光盘安装的话,那么直接就会跳到这一步,
用硬盘安装的目的是假定你没有启动光盘可以安装;-)

+ Mandrake8.1 可以支持_中文_安装的,在下一步的安装过程中语言选择 Simple Chinese,然后就会
出现中文的安装界面了,在安装成功后你会看到连 Chinput 输入法也安装好了,直接 ctrl+space
就会调出来,真是体贴人 :-P

+ 然后就是选包的过程,这里假定你已经安装过 RedHat Linux 或其他的版本。所以剩下的和
其他的版本安装没有什么不同。

+ 安装 LILO 到 mbr。Mandrake8.1 的 LILO 比较 pp ;-),作为一级引导(总引导)。

+ 一定要作张启动盘,因为是用 Mandrake8.1 的 LILO 引导的,它负责启动 windows、debian、
FreeBSD。如果 LILO 不能引导的话,那麻烦就大了。

+ 安装成功后,就是汉化和改变字体了。如果选择了语言 Simple Chinese 就直接汉化完成了。
菜单的字体也很 pp 的,不过 mozilla 显示时字体有点粗,那 simsun 字体就派上用场了。

+ simsun 字体的用法见下面。

+ lilo.conf 文件的例子见下面,这个是系统启动最关键的设置啦。

+ 如果你编译软件时提示找不到某个依赖文件的话,就在 配置---软件包管理---Software Manager
中寻找你需要的依赖文件,支持模糊查找的,然后安装更新,这样就可以解决依赖问题了。:-)



o 安装debian Linux

我只下载了第一张盘,里面包含的是基本文件系统和基本的模块。先刻成光盘,这样比较方便些。
ftp://ftp.kando.hu/.9/debian-cd/2.2_rev4/i386/binary-i386-1.iso
使用 debian 最好的环境是你能经常上网,这样安装软件时就很方便。

+ 光盘引导,开始安装。

+ 首先是设置键盘,分区(如果开始分好了区,直接 mount 就可以了)

+ 然后开始找驱动。

+ 选择内核配置(Edit Kernel Boot Parameters),在 net 中选择好网卡,这步很关键的。
如果网卡没有 up 的话,升级 sources 就无法谈起了 :-( 我的Lengend DFE-530TX 的,选择
VIA VT6102 RhineII 10/100 BaseTX 就装好了。

+ 安装基本系统。

+ 最后会提示做启动盘,然后重新启动。

+ 重启后会设置 root 密码,最后出来安装系统的选项。选 advanced,然后再取消或者 ctrl+c,
之后 login 就出来了。

+ login 之后,先
# vi /etc/apt/sources.list
加入
deb ftp://ftp.linuxforum.net/debian sid main contrib non-free
deb ftp://ftp.linuxforum.net/debian-non-US sid/non-US main contrib non-free
deb ftp://ftp.jp.debian.org/debian sid main contrib non-free
deb ftp://ftp.jp.debian.org/debian-non-US sid/non-US main contrib non-free
如果升级为 woody,把上面的 sid 改成 woody。

+ 执行
# apt-get update
# apt-get dist-upgrade
问是不是安装,enter 确认。
这样一来,你的系统就已经从 potato 升级到了 sid,也就是说从 stable 变成了 unstable。

+ 运行 dselect
光标在 Update上 按 enter
完了再 Select,什么都不用改,直接 enter 返回到前选项单里,因为它已经预订了基本需要的东西。
Install, 是否安装 enter,等完后开始配置,会问你问题。
完成后会问是否删除下载的 .deb 文件,随你便,默认删除。

+ 现在的内核还是 2.2.19,再升级一下。
# apt-get install kernel-source-2.4.13
然后进入 /usr/src,解开源码包,
# cd /kernel-source-2.4.13
# make menuconfig
# make dep
# make bzImage
# make modules
# make modules_install
在 make menuconfig 的时候如果报错说 ncursor 没有,那就要先安装这个库。我是用的 make config :-)
# cp System.map /boot/System.map-2.4.13
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.13
# ln -s /vmlinuz.new /boot/vmlinuz-2.4.13
# vi /etc/lilo.conf
把新内核加进去,
image=/vmlinux.new
label=Linux-2.4.13
readonly
再去掉这几行的注释
message=/boot/bootmess.txt
prompt
timeout=100
改 vga=791 来启动 framebuffer,这样一来就可以用 zhcon 了。如果你不用 zhcon 的话而用 cce,直接
vga=normal 就可以了。
在运行 lilo 之前要先建立 /boot/bootmess.txt 这个文件,随便写什么,这是启动后 Lilo 显示的。
# lilo

+ 重新启动,如果你改了 vga 显示,那应该看到左上有企鹅标志.如果没有显示输出,但硬盘灯在
闪,说明模式不对,只好软盘启动改回 vga=normal,或者去查一下那种模式合适,这里有一个
http://www.linuxdoc.org/HOWTO/Framebuffer-HOWTO.html

+ 假设现在你已经用新内核起来了,现在的机器上没有X-Windows。
简单一点执行 tasksel,选择想要的部件,安装。

+ 先装 zhcon 可以看中文。
# apt-get install zhcon
cce 也比较好用。如果你安装 cce 的话,就
# apt-get install cce

+ debian 默认没有 vim,所以
# apt-get install vim
然后再做两个连接
# rm /etc/alternatives/vi
# ln -s /etc/alternatives/vi /usr/bin/vim
# rm /etc/alternatives/vi.1.gz
# ln -s /etc/alternatives/vi.1.gz /usr/share/man/man1/vim.1.gz
这样一来用 vi 就可以用 vim 了。

+ 安装X
# apt-get install xfree86-common
# apt-get install xserver-common
# apt-get install xserver-xfree86

+ 装显卡驱动
NVIDIA 需要下载最新的驱动,不然会被折磨疯的:-P
下载 http://205.158.109.140/XFree86_40/1.0-2313/NVIDIA_GLX-1.0-2313.tar.gz
http://205.158.109.140/XFree86_40/1.0-2313/NVIDIA_kernel-1.0-2314.tar.gz
直接 wget http://....就可以了。不用跑到 windows 下了。
最好把 readme 也下载下来看看,至少碰见问题时就不会关机不管了。
# tar xvzf NVIDIA_kernel-1.0-2314.tar.gz
# tar xvzf NVIDIA_GLX-1.0-2313.tar.gz
# cd NVIDIA_kernel-1.0-2314
# make install
# cd NVIDIA_GLX-1.0-2313
# make install
现在就把正确的模块 insmod 了。
完了之后,编辑 /etc/X11/XF86Config-4
我是手写的 XF86Config-4 文件,因为 Mandrake8.1 里的XF86Config-4 已经很详细了,只要
把它 copy 过来做相应的修改就可以了。
我的 XF86Config-4 配置文件见下面。
比较容易出现的问题是鼠标死活不动,没有响应。用 gpmconfig 改 repeat_type 为空就 OK 了。
对于一般鼠标应选择 ps/2 协议,鼠标设备选择 /dev/psaux。

+ 装喜欢的 Windows Manager
# apt-get install icewm
如果不喜欢的话,apt-get remove icewm 就干净的卸载了。

+ 安装 KDE
# apt-get update
# apt-get install kde2*
就把整个 kde 包括应用装上。

+ 关于中文化
# tasksel 选择 Simplified Chinese的支持,就把 locale,font,输入法什么的都装了。
X的汉化没有什么不同,simsun 的字体也是一样可以加入。按照下面的安装 simsun 的简单做法
也可以,不过有些地方适当的修改一下,应该是没有什么问题的。
simsun 字体的加入见下面。

+ 安装 Chinput
# apt-get install chinput

+ 安装 locale 支持
# apt-get install locales
# vi /etc/locale.gen
加入 zh_CN GB2312
# locale-gen 产生 locale 支持文件
在 ~/.bashrc 文件中增加 locale 设定:
export LC_ALL=zh_CN.GB2312
export LC_TYPE=zh_CN.GB2312
export LANG=zh_CN.GB2312
export XMODIFIERS=""@im=xcin-zh_CN.GB2312
# . ~/.bashrc 生效

注意: 安装软件用 apt-get install foo
卸载软件用 apt-get remove foo
安装deb文件 dpkg --install foo.deb
搜索deb文件 dpkg --search foo
列出deb文件 dpkg --list foo
卸载deb文件 dpkg --remove foo 不能去掉 conf 文件
清除deb文件 dpkg --urge foo 去掉 conf 文件



o 安装FreeBSD4.4

先去 ftp://ftp.kando.hu/.1/freebsd-current-cd/i386/ISO-IMAGES/4.4/
下载第一张盘 4.4-install.iso
还是老办法,刻出来减少很多的麻烦。

注意:FreeBSD 只能装在_主_分区的。所以你应该先分出一块主分区,然后在
windows 2000 下的计算机管理--磁盘管理中将这块分区删除,使其变为 unused。
记住这块分区的大小,免得安装时装到别处了 :-P

OK,开始安装。
庆幸的是,FreeBSD 直到出现 ""Last Chance: Are you SURE your want continue
installition? ...""的时候并没有对你的磁盘进行改动,所以如果心里没底的话,直接
关机就可以了,并没有任何副作用:-P

+ 光盘引导,开始安装。

+ 进入 Kernel Configuration Menu。
有三个选项的,建议选择第二项,把有 conflicts 的选项中没有用的直接按 del 键去掉,直到
没有了 conflicts 为止。实际上只要把列表中的硬件但是你的机器里没有的 del 掉就可以了。

+ 开始 Begin a standard installation (recommended),如果你是老手的话就用
Begin a custom installation (for experts)。

+ 创建 slice。刚开始安装 BSD 时最不容易弄明白的是 slice,slice 是 BSD 中的分区的概念。
ad0表示你的第一块 IDE 硬盘。选择硬盘 ad0。
这里只是简单的介绍一下 slice。BSD 使用 slice 来表示硬盘的一个部分,跟分区(partition)
的概念类似。FreeBSD 占用一个独立的 UFS 基本分区,这个分区和其他的操作系统使用的分区
的方式相同。在基本分区内再使用 slice 方式进行管理。

+ 选择刚才在 windows 里磁盘管理中设置为 unused 的分区,注意不要搞错!看分区的大小
就没问题了。然后按C创建 slice。确认正确后,使用 W 真正的写入硬盘分区表。如果撤消的话,
用 U 恢复到原来的状态,用Q退出。

+ 安装 Boot manager 时选择 Install a standard MBR(no boot manager),因为我是用
LILO 引导的,所以没有装 boot manager 到 mbr。

+ 用 Disklabel 创建分区。先按C创建 / 分区。大小自己算 :-) ,然后选择 FS a file system,
mount上 / 分区。当然了剩下的就是 swap 了。这里要注意的是FreeBSD 的 swap 分区和 Linux 的 swap
是不同的概念,这个看一下它们的具体位置就明确了。

+ 选组件。如果硬盘大的话就选 all 了,当然了如果你喜欢先装基本的系统,软件以后再装的话就
按需要进行选择。下一步选择安装介质,当然是 CD-ROM 了。

+ 设置网络及基本服务。自己决定。

+ 设置时间、时区。

+ 设置鼠标。

+ 开始XF86Setup。运气好的话就全部搞定了,否则要去www.FreeBSD.org上看看硬件兼容表。

+ 选择桌面。我比较喜欢 KDE,汉化后的效果在 KDE 中要比 gnome 好的多。

+ 选软件包。这个不用多说,自己决定。

+ 增加普通的用户。

+ 结束安装。重新启动。最好是先在 Mandrake8.1 的 LILO 里面设置好,不然只能用 FreeBSD 的
启动盘了。

+ 开始汉化。
# cd /usr/ports/chinese/kde2-i18n/
# make install
时间比较长,你可以先休息一下。

+ 在 KDE 控制中心---个人化---国家和语言中选择中国和zh_CN.GB2312,字符集 gb2312.1980-0。
然后在 KDE 控制中心---观感--字体里面选择 simsun 字体。

+ 使用simsun字体,见下面。


------------
安装simsun的简单做法

系统安装时如果可以选择中文安装(如Mandrake8.1),那就方便了很多。要做的只是换成
simsun字体,增加输入法。如果没有中文安装(如FreeBSD4.4),那就得具体处理。

o 下载simsun字体
http://211.154.143.170/~quan/photo/simsun12-medium.pcf.gz

o 把simsun字体copy到/usr/X11R6/lib/X11/fonts/misc
# cd /usr/X11R6/lib/X11/fonts/misc
# cp fonts.dir fonts.dir.OLD 以防不测 ;-)
# mkfontsdir 重新生成misc目录下的fonts.dir
# cat fonts.dir | grep simsun 可以看到已经加入了simsun字体
# xset fp rehash 更新X Server的字体, 现在就可以使用了

不过我还是建议reboot一下,有时更新了字体也说找不到 ;-P

o KDE中用simsun字体
在KDE控制中心---个人化---国家和语言中选择中国和zh_CN.GB2312,字符集gb2312.1980-0。
然后在KDE控制中心---观感--字体里面选择simsun字体。

o mozilla使用simsun字体
在Edit---preferences---Appearance---Fonts中先选择Fonts:Simplified Chinese,然后再
选择simsun字体。



-------------
Mandrake8.1 LILO设置(可是引导的关键所在)

##---/etc/lilo.conf-----------

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
### 默认进入windows
default=windows
keytable=/boot/us.klt
lba32
prompt
timeout=50
message=/boot/message
menu-scheme=wb:bw:wb:bw
###启动Mandrake8.1
image=/boot/vmlinuz
label=Mandrake8.1
###要想进入Mandrake8.1,要密码哦~
password=:^)
root=/dev/hda7
append="" devfs=mount quiet""
vga=788
read-only
###启动debian
other=/dev/hda7
label=debian
password=:^)
###启动FreeBSD4.4
other=/dev/hda2
label=FreeBSD4.4
password=:^)
table=/dev/hda
other=/dev/hda1
label=windows
table=/dev/hda
other=/dev/fd0
label=floppy
unsafe

###------end here--------

只要把相应的分区改成你的具体的分区就可以了。
当然了如果你不喜欢:^)这个密码的话,也改成你中意的:-P



-------------
/etc/X11/XF86Config-4 设置


###------cut here-----

Section ""ServerLayout""
Identifier ""XFree86 Configured""
Screen 0 ""Screen0"" 0 0
InputDevice ""Mouse0"" ""CorePointer""
InputDevice ""Keyboard0"" ""CoreKeyboard""
EndSection

Section ""Files""
RgbPath ""/usr/X11R6/lib/X11/rgb""
ModulePath ""/usr/X11R6/lib/modules""
FontPath ""/usr/X11R6/lib/X11/fonts/misc/""
FontPath ""/usr/X11R6/lib/X11/fonts/Speedo/""
FontPath ""/usr/X11R6/lib/X11/fonts/Type1/""
FontPath ""/usr/X11R6/lib/X11/fonts/CID/""
FontPath ""/usr/X11R6/lib/X11/fonts/75dpi/""
FontPath ""/usr/X11R6/lib/X11/fonts/100dpi/""
EndSection

Section ""Module""
Load ""glx""
Load ""dbe""
# Load ""dri""
Load ""extmod""
Load ""pex5""
Load ""record""
Load ""xie""
EndSection

Section ""InputDevice""
Identifier ""Keyboard0""
Driver ""keyboard""
EndSection

Section ""InputDevice""
Identifier ""Mouse0""
Driver ""mouse""
Option ""Protocol"" ""PS/2""
Option ""Device"" ""/dev/mouse""
EndSection

Section ""Monitor""
Identifier ""Samsung SyncMaster 750(M)s(T)""
VendorName ""Samsung""
ModelName ""unknown""
HorizSync 30-70
VertRefresh 50-160
option ""DPMS""
EndSection

Section ""Device""
### Available Driver options are:-
### Values: : integer, : float, : ""True""/""False"",
### : ""String"", : "" Hz/kHz/MHz""
### [arg]: arg optional
#Option ""PageFlip"" # []
#Option ""Dac8Bit"" # []
#Option ""NoLogo"" # []
#Option ""Overlay"" # []
#Option ""UBB"" # []
#Option ""Stereo"" # []
#Option ""BlueLine"" # []
#Option ""WindowFlip"" # []
#Option ""SWcursor"" # []
#Option ""HWcursor"" # []
#Option ""VideoKey"" #
#Option ""NvAGP"" #
#Option ""PixmapCacheLines"" #
#Option ""IgnoreEDID"" # []
#Option ""NoDDC"" # []
#Option ""ConnectedMonitor"" #
#Option ""ConnectedMonitors"" #
#Option ""TVStandard"" #
#Option ""TVOutFormat"" #
#Option ""NoRenderAccel"" # []
#Option ""CursorShadow"" # []
#Option ""CursorShadowAlpha"" #
#Option ""CursorShadowXOffset"" #
#Option ""CursorShadowYOffset"" #
#Option ""UseEdidFreqs"" # []
#Option ""FlatPanelScalingMode"" #
#Option ""UseInt10Module"" # []
Identifier ""Card0""
Driver ""nvidia""
VendorName ""NVidia""
BoardName ""Riva TNT2""
BusID ""PCI:1:0:0""
EndSection

Section ""Screen""
Identifier ""Screen0""
Device ""Card0""
Monitor ""Samsung SyncMaster 750(M)s(T)""
DefaultDepth 24
# SubSection ""Display""
# Depth 1
# Modes ""1024x768""
# EndSubSection
# SubSection ""Display""
# Depth 4
# Modes ""1024x768""
# EndSubSection
SubSection ""Display""
Depth 8
Modes ""1024x768"" ""800x600""
ViewPort 0 0
EndSubSection
# SubSection ""Display""
# Depth 15
# Modes ""1024x768""
# EndSubSection
SubSection ""Display""
Depth 16
Modes ""1024x768"" ""800x600""
ViewPort 0 0
EndSubSection
SubSection ""Display""
Depth 24
Modes ""1024x768"" ""800x600""
ViewPort 0 0
EndSubSection
SubSection ""Display""
Depth 32
Modes ""1024x768"" ""800x600""
ViewPort 0 0
EndSubSection
EndSection

### ----- end here ----------

上面的就是 debian Linux 里的 XF86config-4 设置。
你可以按照自己的实际情况修改。
修改后直接 startx 就应该没问题了 ;-)