PC上安装多个操作系统
目
			录
第1章
			绪论
1.1 目标
本文的目标是在一台PC上安装多个操作系统。启动界面如下图所示:

图1.1
1.2 适宜的读者
程序员:开发的程序需要运行在多个操作系统下,也可能需要到多个操作系统下调试程序,VMware又不能满足要求的。制作出来的软件安装包需要在多个操作系统下正常运行。
装机控:喜欢折腾,各种操作系统都想尝试一下的装机发烧友。
第2章
			制作启动U盘
安装多个操作系统,为防止电脑无法启动的情况,最好准备一个启动U盘。在这个启动U盘里装上Windows PE等维护工具。
2.1 初级安装
访问网站http://www.ushendu.cn,单击"立即下载"按钮。如下图所示:

图2.1
下载完成后,安装并运行"U深度v2"。其界面如下图所示:

图2.2
选择U盘的盘符,然后单击"一键制作启动U盘"按钮。等待一段时间后,启动U盘就制作好了。
2.2 启动分析
上一节制作出来的启动U盘,其分区结构如下图所示:

图2.3
这个U盘能够启动的秘密就在于隐藏的508M分区。直接使用Windows的资源管理器是无法查看该分区内容的。
直接查看隐藏分区有难度,就换条路走。如下图所示,可以单击"一键生成ISO文件"按钮生成一个ISO文件。再单击"一键制作启动U盘"按钮把ISO文件内容写入U盘。注意:请保存好这个USD.ISO文件,装系统时会用到。

图2.4
USD.ISO文件写入U盘的界面如下,直接单击"写入"按钮即可。
图2.5
上图所示界面与UltraISO 9.5.5.2960的"写入硬盘映像"界面完全一致,所以笔者猜测:U深度U盘启动盘制作工具调用了UltraISO的此项功能。
现在就可以查看U盘里的内容了,不过在查看之前,需要设置一下Windows的"文件夹选项",如下图所示。这样就可以查看隐藏起来的文件了。

图2.6
启动U盘的内容如下图所示:
图2.7
注意:也可以使用UltraISO把USD.ISO文件的内容写入U盘,这样制作出来的启动U盘里将不再有隐藏文件,便于查看、复制、修改。
光有文件是不够的,还需要知道U盘是通过哪些文件实现启动的。为此,请运行BOOTICE v1.3.2软件,其主界面如下图所示:

图2.8
上图"目标磁盘"选择U盘,然后单击"主引导记录"按钮,显示如下:

图2.9
在图2.8中,单击"分区引导记录"按钮,显示如下:
图2.10
上图中,再单击"安装/配置"按钮,显示界面如下:

图2.11
总结一下,U盘的启动过程如下图所示:
图2.12
1、开机,BIOS自检完成后将查找启动设备,这里就是U盘;
2、BIOS会读取启动U盘的MBR(Main Boot Record),即主引导记录。图2.9说明:MBR是UltraISO USB-HDD+;
3、MBR把控制权交给PBR(Partition Boot Record),即分区引导记录。图2.10和图2.11说明:PBR会把控制权交给文件GRLDR。
现在的关键就是这个GRLDR文件了。虽然图2.10显示的PBR是NTLDR引导程序,但事实上GRLDR却是GRUB4DOS的引导文件。使用BOOTICE v1.3.2软件可以查看GRLDR的内容,具体操作如下:
进入BOOTICE的"实用工具"页面,单击"启动编辑器"按钮

图2.13
显示如下界面

图2.14
上图单击"打开文件"按钮
,载入GRLDR文件。即可看到如下内容:
| 
 timeout 15 default 0 command --set-path=/IUSD/GRUB/ gfxmenu /IUSD/GRUB/MESSAGE configfile (md)4+8 title 【01】 errorcheck off configfile /IUSD/GRUB/MENU12.LST title 【02】 chainloader /iusd/usdw8pe title 【03】 RUN /IUSD/USD title 【04】 errorcheck off configfile /IUSD/GRUB/MENU03.LST title 【05】 errorcheck off configfile /IUSD/GRUB/MENU04.LST title 【06】 RUN --mem /IUSD/IMGS/USDDOS.IMG title 【07】 errorcheck off configfile /IUSD/GRUB/MENU06.LST title 【08】 errorcheck off configfile /IUSD/GRUB/MENU07.LST title 【09】 errorcheck off configfile /IUSD/GRUB/MENU08.LST title 【10】 /IUSD/GRUB/USB_ACC.0PE title 【11】 errorcheck off configfile /IUSD/GRUB/RUN.LST title 【12】 errorcheck off configfile /IUSD/GRUB/MENU11.LST  | 
秘密全部都在文件GRLDR里。如:用户选择启动项"运行U深度Win8PE装机维护版",就会运行chainloader /iusd/usdw8pe,它的含义就是把控制权交给文件/iusd/usdw8pe,实现Windows 8 PE的启动。
2.3 高级安装
高级安装的步骤比较繁琐,它的优势就在于:可以定制启动项。
2.3.1 分区
不要使用Windows自带的功能对U盘进行分区。因为它只能分一个区。请使用BOOTICE v1.3.2进行分区,操作步骤为:
运行BOOTICE v1.3.2,如下图所示。"目标磁盘"选择U盘,单击"分区管理"按钮。

图2.15
显示如下界面,请单击"重新分区"按钮
图2.16
显示如下界面,请选择"USB-HDD(多分区)",然后单击"确定"按钮。
图2.17
显示如下界面。第1个分区大概15G,主要用来存放资料(Windows一般只认第一个分区);第2、3分区为空;第4个分区400M,用来存放启动U盘所需要的文件。单击"确定"按钮,完成U盘的分区。
图2.18
2.3.2 复制文件
现在要把图2.7所示的所有文件复制到U盘的400M分区内。首先需要让Windows识别这个分区。在BOOTICE软件里选中400M分区,单击"设为可见"按钮。

图2.19
现在,G:就是BOOT分区了。把图2.7所示的所有文件复制G:。
最后,把DATA分区设为可见。
2.3.3 修改MBR和PBR
仅有启动相关的文件,是无法实现U盘启动的。还需要修改U盘的MBR和PBR。
首先设置BOOT分区为活动分区:选中BOOT分区,单击"激活"按钮。

图2.20
下图中,单击"主引导记录"按钮

图2.21
显示如下界面,选择"Windows NT 5.x/6.x MBR",然后单击"安装/配置"按钮
图2.22
显示如下界面。单击"Windows NT 6.x MBR"按钮,即可改写U盘的MBR数据。
图2.23
单击图2.21的"分区引导记录"按钮,显示如下界面。首先选择BOOT分区,然后选择"GRUB4DOS",最后单击"安装/配置"按钮

图2.24
显示如下界面,直接单击"确定"按钮即可。

图2.25
2.3.4 启动分析
按上述步骤制作出来的启动U盘,其启动步骤如下:
1、BIOS把控制权交给MBR;
2、MBR会把控制权交给活动分区的PBR,即BOOT分区的PBR;
3、BOOT分区的PBR会把控制权交给GRLDR文件。
4、GRLDR显示启动菜单,根据用户的选择启动相应的项目。
2.4 初级安装与高级安装的比较
毫无疑问:初级安装比高级安装简单多了。
在启动菜单的定制方面,高级安装修改GRLDR文件即可。初级安装就麻烦了:GRLDR文件被隐藏起来了,无法修改。
在安装到本地磁盘方面:"U深度v2"允许把启动文件写入本地磁盘,但是它具体做了什么工作?会对已有的操作系统造成什么影响?笔者一直没有也不敢尝试,因为稍有不慎就得重做系统。高级安装就不同了:每一步操作会导致什么后果都是非常清楚的。
另外,再次制作启动U盘时。初级安装需要再次安装"U深度v2",而高级安装只需要运行绿色软件BOOTICE及复制文件即可。
第3章
			硬盘分区
3.1 规划
笔者的PC上有两块硬盘:一块2T的,一块4T的。分区情况如下图所示:

图3.1
2T硬盘主要就是用来安装操作系统的。其详细分区情况请见下表:
表3.1 2T硬盘分区表
| 
 编号  | 
 类  | 
 卷  | 
 说  | 
| 
 0  | 
 主分区  | 
 WinXP  | 
 100G,用来安装Windows XP  | 
| 
 4  | 
 逻辑分区  | 
 Win7-64  | 
 200G,用来安装Windows 7  | 
| 
 5  | 
 逻辑分区  | 
 Win8-64  | 
 100G,用来安装Windows 8  | 
| 
 6  | 
 逻辑分区  | 
 Win10-64  | 
 100G,用来安装Windows 10  | 
| 
 7  | 
 逻辑分区  | 
 Win2003  | 
 100G,用来安装Windows 2003  | 
| 
 8  | 
 逻辑分区  | 
 Ubuntu32  | 
 100G,用来安装 32位Ubuntu 10.10  | 
| 
 9  | 
 逻辑分区  | 
 Ubuntu64  | 
 100G,用来安装 64位Ubuntu 10.10  | 
| 
 10~16  | 
 逻辑分区  | 
 每个分区100G,用来安装操作系统  | 
|
| 
 17  | 
 逻辑分区  | 
 20G,Linux 操作系统的 Swap 分区  | 
|
| 
 18  | 
 逻辑分区  | 
 Share  | 
 343G,再分下去26个盘符就不够用了。  | 
4T硬盘用来存放数据、资料。
注意:
1、超过2T的硬盘必须分成GPT格式;
2、Windows XP不识别GPT分区。因此硬盘并不是越大越好,一般情况下两个2T硬盘就够用了。
3.2 操作
请使用DiskGenius进行硬盘分区。它对分区的控制比较精细,如:给2T硬盘分区时,必须让每个分区按2048扇区对齐,这样在装Ubuntu时才能选择Ext3或Ext4分区格式;Windows在GPT分区时,会自动生成ESP和MSR分区,用户别无选择。DiskGenius可以设置不生成ESP、MSR分区。
使用第2章创建的启动U盘启动电脑,桌面上就有DiskGenius的快捷方式,其版本为 4.6.1。
运行DiskGenius 4.6.1,给2T硬盘分区的步骤:
1、删除所有分区;
2、创建100G的主分区,并激活;
3、剩下的空间全部创建为扩展分区;
4、根据表3.1,在扩展分区内部,再分出15个逻辑分区。注意:每个分区请按2048扇区对齐,并且不用格式化;
5、保存分区表。
运行DiskGenius 4.6.1,给4T硬盘分区的步骤:
1、删除所有分区;
2、创建一个NTFS格式的GPT分区,ESP和MSR可以不用创建;
3、格式化该分区;
4、保存分区表。
第4章
			安装Windows XP
安装之前,请进入BIOS设置程序,设置SATA模式为IDE,否则安装Windows XP时会蓝屏。如下图所示:

图4.1
安装Windows XP,一定不要使用Ghost安装。笔者是通过光盘安装的Windows XP。注意:一定要把Windows XP安装到表3.1所示的WinXP分区。
安装完Windows XP,请将IDE驱动更新为AHCI驱动。重启电脑进入BIOS设置程序,将SATA模式设置为AHCI。
将IDE驱动更新为AHCI驱动,请参考笔者在百度文库的文章《AHCI驱动安装》,网址:http://wenku.baidu.com/view/d93b2c602e3f5727a5e9623c.html
第5章
			安装GRUB4DOS
本章将安装GRUB4DOS到本地磁盘,为后继的安装工作做准备。
5.1 WinXP的启动过程
WinXP的启动过程如下图所示

图5.1
1、开机,BIOS自检完成后将查找启动设备,这里就是2T硬盘;
2、BIOS会读取2T硬盘的MBR;
3、MBR把控制权交给PBR;
4、PBR把控制权交给文件NTLDR;
5、NTLDR根据 boot.ini 文件的内容显示启动菜单;
6、默认情况下boot.ini里只有一项,启动程序继续调用NTDETECT.COM,进入WinXP系统。
5.2 安装GRUB4DOS
根据图5.1所示,安装GRUB4DOS有三种方法:
1、修改MBR,这种方法杀伤力最大;
2、修改PBR,这种方法杀伤力次之;
3、修改boot.ini,这种方法的杀伤力最小。
这里,将采用第3种方法。
首先得下载GRUB4DOS 0.4.4,其方法是访问http://download.gna.org/grub4dos/,然后下载grub4dos-0.4.4.zip

图5.2
这个压缩文件里,有4个文件非常重要,如下图中4个选中的文件:

图5.3
这4个文件之间的关系,请见下图

图5.4
说明:
1、DOS或Win98下,启动系统后运行grub.exe。grub.exe将调用grldr,后者将根据menu.lst的内容显示启动菜单;
2、Windows2000/XP/2003下,启动系统后在boot.ini里可以加载grldr.mbr。grldr.mbr将调用grldr,后者将根据menu.lst的内容显示启动菜单。
因此,安装好WinXP后,安装GRUB4DOS的步骤如下:
1、复制grub.exe、grldr.mbr、grldr、menu.lst到C:\;
2、使用记事本编辑 boot.ini 文件。注意这个文件是隐藏、只读文件,请去除其只读属性。具体修改如下图所示:等待时间修改为10秒,另外增加一个启动项c:\grldr.mbr=GRUB4DOS,当用户选择启动项GRUB4DOS后,会加载c:\grldr.mbr,然后就是按照上图所示显示GRUB4DOS的启动菜单。

图5.5
5.3 安装Windows PE
这一节,将把Windows PE安装到C:\。
1、使用虚拟光驱或WinRAR打开第2章获得的USD.ISO文件,把IUSD文件夹复制到C:\
2、使用记事本编辑C:\menu.lst,其内容如下:
| 
 color white/black black/white white/black white/black timeout 3 default 1 title Windows 2003 PE chainloader /IUSD/USD title Windows 8 PE chainloader /iusd/usdw8pe title Windows XP root (hd0,0) chainloader /ntldr boot title Windows 2003 (IDE) root (hd0,7) chainloader +1 boot title Windows 7 root (hd0,4) chainloader +1 boot title Windows 8.1 root (hd0,5) chainloader +1 boot title Windows 10 root (hd0,6) chainloader +1 boot title Install Ubuntu root (hd0,0) kernel (hd0,0)/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.10-desktop-amd64.iso ro quiet splash locale=zh_CN.UTF-8 initrd (hd0,0)/initrd.lz title Ubuntu 10.10(32bits) kernel (hd0,8)/boot/grub/core.img boot title Ubuntu 10.10(64bits) kernel (hd0,9)/boot/grub/core.img boot  | 
当用户选择Windows 8 PE时,就会通过C:\iusd\usdw8pe启动Windows 8 PE。
5.4 启动路径图
安装了GRUB4DOS和Windows PE后,电脑启动的路径图不再是图5.1那么简单了,变成了下图所示的样子:

图5.6
在boot.ini里实现了路径的分支,在menu.lst里再次实现了路径的分支。
第6章
			安装Windows 7
6.1 安装
安装Windows7有两种方法:
1、通过光盘安装;
2、下载Windows7安装镜像文件(.ISO)。在Windows XP下载入虚拟光驱。通过虚拟光驱进行安装。
两种方法的区别:第1种方法安装完成后,Windows7的系统盘一定是C盘;而第2种方法安装完成后,Windows7的系统盘一定不是C盘。
笔者使用的是第1种方法。
注意:一定要把Windows7安装到表3.1所示的Win7-64分区。
6.2 修改PBR
安装完Windows7后,启动过程有所变化:主分区的PBR被改写,不再加载NTLDR,而是加载bootmgr文件。为此,需要修改PBR。
1、重启电脑进入WIndows 8 PE;
2、运行BOOTICE,修改C:\的分区引导记录(PBR)为NTLDR引导程序,如下图所示:

图5.7
6.3 移动Win7启动文件
安装完Win7之后,启动Win7的文件在WinXP分区,需要把这些文件移动到Win7-64分区。直接剪切是不行的,需要分两步走:首先复制,然后删除。
6.3.1 复制
进入WinXP分区,删除现有的boot.ini,把boot.bak重命名为boot.ini。因为安装Windows7时,安装程序修改了 boot.ini,并将以前的 boot.ini 重命名为boot.bak。
把文件夹 Boot 和文件 bootmgr复制到Win7-64分区的根目录下。
6.3.2 删除
进入WinXP分区,删除文件BOOTNXT、BOOTSECT.BAK、bootmgr。删除文件夹Boot。注意:删除前请设置相应的权限,否则会无法删除。在 Windows XP下,删除这些文件的具体操作如下:
打开资源管理器,单击【工具】【文件夹选项】菜单项

图6.1
去除"使用简单文件共享(推荐)"的勾中状态,然后单击"确定"按钮。

图6.2
鼠标右键单击文件"bootmgr",然后单击【属性】菜单项,显示如下界面。请进入"安全"页面(如果上图"使用简单文件共享(推荐)"被勾中,那么就不会显示安全页面),然后单击"高级"按钮

图6.3
显示如下界面。请进入"所有者"页面,把bootmgr的所有者更改为登录 WinXP的管理员。单击"确定"按钮。
图6.4
在图6.3里,单击"添加"按钮。显示如下界面,请添加一个叫"everyone"的用户。

图6.5
设置Everyone用户的权限,如下图所示。注意:如果不更改所有者,则无法设置权限。
图6.6
现在,即可删除文件bootmgr了。
删除文件夹Boot也得按上述步骤进行操作,不过操作上有两点不同。
1、修改所有者的界面由图6.4变为下图。多了一个复选框"替换子容器及对象的所有者"。请勾中它,它的含义为:替换Boot文件夹内所有文件夹、文件的所有者。

图6.7
2、图6.6只能修改boot文件夹的权限,为了修改boot文件夹内部所有文件夹、文件的权限,得单击"高级"按钮,显示如下界面:

图6.8
请勾中"用在此显示的可以应用到子对象的项目替代所有子对象的权限项目",然后单击"确定"按钮。这样Everyone的权限才能传递给boot文件夹内的所有文件夹和文件。
现在,也可删除文件夹boot了。
6.4 修改BCD启动项
把Win7的启动文件从WinXP分区分离出来后,还需要更改Win7-64分区里的boot\BCD文件。可使用BOOTICE软件来修改,其操作步骤为:
进入"BCD编辑"页面,单击"其它BCD文件"

图6.9
选择Win7-64分区里的boot\BCD文件后,单击"智能编辑模式"按钮,显示如下界面。把除了Windows 7之外的其它启动项全部删除掉。

图6.10
6.5 启动Win7
现在,启动路径图又恢复成图5.6。在此模式下,Win7是如何启动的呢?
首先在boot.ini显示的启动菜单里选择GRUB4DOS,然后在menu.lst显示的菜单里选择"Windows 7",这样GRUB4DOS将执行如下指令
| 
 root (hd0,4) chainloader +1 boot  | 
其含义为:启动编号为4的分区,从PBR开始启动。PBR会查找、调用bootmgr文件,也就是Win7-64分区内的bootmgr,最终Win7被启动。
chainloader +1替换为chainloader /bootmgr也可实现Win7的启动,但是后者跳过PBR代码的执行有时就会有问题。如:某些激活Win7的程序就是通过PBR来启用的,一旦PBR的代码未被执行,那么Win7就会处于未被激活的状态。
第7章
			安装Windows 8.1
7.1 安装
下载Windows8.1的安装镜像文件(.ISO)。使用UltraISO 9.5.5.2960把ISO文件写入U盘。
启动电脑时选择启动设备为U盘,即可进行Windows8.1的安装。
注意:一定要把Windows8安装到表3.1所示的Win8-64分区。
7.2 修改PBR
与Win7的处理完全相同。
7.3 移动Win8启动文件
与Win7的处理大致相同。不同之处在于:
1、不要把WinXP分区内的bootmgr移动到Win8-64分区,请直接删除掉;
2、移动完成后,请在WinXP分区创建文件夹bootmgr。为什么要这么做?因为把Win8启动文件移动到它自己的分区后,Win8并不安分:每次启动Win8,它都会在活动主分区(WinXP分区)写入文件bootmgr和文件夹Boot。然后启动Win7的chainloader +1就有问题了:它首先从主分区找bootmgr,找到了就从主分区的bootmgr开始启动,结果就是把Win8给启动起来了。创建bootmgr文件夹,就是防止Win8在WinXP分区创建bootmgr和文件夹boot。
7.4 修改BCD启动项
与Win7的处理完全相同。
第8章
			安装Windows 10
Win10的安装与Win8的安装完全相同。
第9章
			安装 Windows 2003
笔者使用光盘安装Windows 2003,其安装步骤与Windows XP相同,比较简单。需要注意的是它的启动,使用GRUB4DOS启动Windows 2003的命令如下:
| 
 title Windows 2003 (IDE) root (hd0,7) chainloader +1 boot  | 
最关键的是chainloader +1,虽然它载入的是Win2003分区的PBR,但是该PBR会优先载入活动主分区(即WinXP分区)里的NTLDR文件,最终就是把Windows XP启动起来了。
为了防止这种情况发生,可以使用BOOTICE修改Win2003分区的PBR,如下图所示。最关键的就是把引导文件改成了NT007。

图9.1
把WinXP分区里的boot.ini、NTLDR、NTDETECT.COM三个文件复制到Win2003分区。然后重命名NTLDR为NT007,最后修改boot.ini,内容如下:
| 
 [boot loader] timeout=0 default=multi(0)disk(0)rdisk(0)partition(5)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(5)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect  | 
这样,即可实现GRUB4DOS引导Windows 2003系统了。
第10章
			安装 Windows 98
Windows 98必须安装在主分区内,且必须是FAT或FAT32格式的分区。分区容量最大为32GB。
显然,图3.1和表3.1所示的分区不适合Windows 98的安装。改进方案就是在WinXP分区前面插入32GB的主分区,并将该分区激活。
安装Windows 98时,将改写MBR和活动主分区的PBR,并且会把启动文件(IO.SYS)写入第一个主分区。如果第一个主分区是NTFS格式的,那么安装程序会因为无法写入IO.SYS文件而失败。解决办法有两个:1、保证第一个主分区是FAT32格式;2、也可以插入一个FAT32分区格式的U盘,安装程序将把启动文件写入该U盘内。
安装完Windows 98后,如果内存大于1GB,则无法进入Windows 98系统,解决办法:修改C:\Windows\System.ini文件,在[386Enh]和[VCACHE]段增加两条语句,如下所示。其含义为:只使用1GB的内存。
| 
 [386Enh] MaxPhysPage=30000 [VCACHE] MAXFILECACHE=524288  | 
最后需要提醒的是:因为Windows 98过于古老,因此并不是所有的电脑都能完美的支持它。在笔者的电脑上,Windows 98的显示就不正常,USB鼠标也无法正常使用。
第11章
			完全由GRUB4DOS启动
安装完WinXP、Win7、Win8.1、Win10之后,系统启动图一直如图5.8所示。虽然它可以很好的工作,但是每次进入Win7都要选择两次,是不是有些烦?能不能只选择一次,就进入相应的操作系统?
11.1 安装GRUB4DOS
方法就是完全通过GRUB4DOS来管理启动。具体的操作上有两种方法:1、修改MBR;2、修改PBR。
11.1.1 修改MBR
重启电脑进入WinPE,使用BOOTICE软件修改2T硬盘的MBR为GRUB4DOS,如下图所示:

图11.1
电脑启动后,根据MBR的设置,将会在各个分区内查找文件grldr。其查找顺序为:活动的主分区,然后按顺序查找各个分区。
GRUB4DOS的启动文件grldr是可以更换名称的,单击上图的"安装/配置"按钮,将显示下图。可以在该界面内修改启动文件名称。

图11.2
11.1.2 修改PBR
修改过程如下图所示。操作步骤为:
1、保证2T硬盘的MBR为"Windows NT 6.x MBR";
2、修改活动主分区(WinXP分区)的PBR为BOOTMGR;
3、修改活动主分区(WinXP分区)的PBR为GRUB4DOS。
启动过程:MBR(Windows NT 6.x MBR)会载入活动主分区前12扇区的引导程序(所以第2步必不可少)。引导程序的前4个扇区被改写为GRUB4DOS引导程序,它会加载本分区内根目录下的grldr文件,继续完成系统的启动工作。

图11.2
现在,启动路径图变成了下面这个样子:

图11.3
11.2 修改启动菜单
GRUB4DOS的启动菜单,由grldr文件负责配置。这里,启动菜单分为内置和外置两种。
11.2.1 内置菜单
内置启动菜单在grldr文件内部,可使用BOOTICE软件打开grldr文件进行编辑。具体的操作步骤如下。
运行BOOTICE软件,单击下图的"启动编辑器"按钮

图11.4
显示界面如下图所示

图11.5
上图单击"打开文件"按钮
,载入GRLDR文件。即可对其进行编辑。注意:如果含有汉字,请务必保存为UTF-8格式。
11.2.2 外置菜单
GRLDR文件的内容缺省如下所示:
| 
 pxe detect configfile default 0 timeout 1 title find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst errorcheck off configfile /menu.lst configfile /boot/grub/menu.lst configfile /grub/menu.lst find --set-root --ignore-floppies --ignore-cd /menu.lst && configfile /menu.lst find --set-root --ignore-floppies --ignore-cd /boot/grub/menu.lst && configfile /boot/grub/menu.lst find --set-root --ignore-floppies --ignore-cd /grub/menu.lst && configfile /grub/menu.lst errorcheck on commandline title commandline commandline title reboot reboot title halt halt  | 
它的含义是:查找文件menu.lst,并根据该文件内容显示启动菜单。所以,不用修改GRLDR。直接修改文件menu.lst,也可以达到编辑启动菜单的目的。
注意:如果含有汉字,请务必保存menu.lst为UTF-8格式。
11.3 美化启动界面
GRUB4DOS的启动界面在默认情况下不能显示汉字,不能显示底图。为此,需要美化启动界面。这里介绍两种方法。
11.3.1 gfxmenu
下面,最关键的语句就是gfxmenu /MESSAGE,它将根据文件MESSAGE显示图形界面。
| 
 color white/black black/white white/black white/black timeout 3 default 7 gfxmenu /MESSAGE title DOS map --mem /HJMac/MaxDOS93.ima (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0)  | 
可使用软件MsgDiyer 2.0.3来编辑MESSAGE文件,如下图所示

图11.6
单击上图中的"虚拟机中预览"或"模拟预览"按钮,可以不用重启电脑即可查看启动界面。
11.3.2 graphicsmode
下面,最关键的语句就是graphicsmode、splashimage、font。
| 
 debug off calc 29<<2+*0x8304 > nul calc *%@retval%+8 > nul calc *%@retval%=*%@retval%&0xffffff > nul call Fn.0 0x40000 "!BAT\necho -P:0000 $[0000]\t\t\t\t\t\t\t\t\t\0" && initscript (md)0x200+1 color=0xFFFFFF color border=0xFFFFFF write 0x8274 0x2001 graphicsmode -1 1024 768 splashimage /back.bmp font /微软雅黑.hex default 11 timeout 120  | 
graphicsmode语句中的-1表示将显示模式切换为VBE模式;1024和768表示屏幕分辨率。
splashimage /back.bmp 表示底图为back.bmp(1024x768,24位位图)。
font /微软雅黑.hex 表示载入字体文件"微软雅黑.hex"。
说明:splashimage似乎只能从FAT32格式的分区里载入底图文件。如果分区格式是NTFS,则无法载入底图文件。
第12章
			安装Ubuntu10.10
本章将介绍如何安装、配置32位的Ubuntu10.10。
12.1 安装
网上下载Ubuntu10.10的镜像文件ubuntu-10.10-desktop-i386.iso。
12.1.1 硬盘启动Ubuntu
现在进入Windows XP操作系统,然后按如下步骤进行操作:
1、将ubuntu-10.10-desktop-i386.iso复制到C:根目录下;
2、将ubuntu-10.10-desktop-i386.iso载入虚拟光驱。进入虚拟光驱将casper目录下的vmlinuz和initrd.lz复制到C:根目录下,再将.disk目录复制到C:根目录下;
3、使用记事本编辑menu.lst文件的Install Ubuntu。注意:filename后面就是Ubuntu的安装镜像文件名。
| 
 title Install Ubuntu root (hd0,0) kernel (hd0,0)/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.10-desktop-i386.iso ro quiet splash locale=zh_CN.UTF-8 initrd (hd0,0)/initrd.lz  | 
4、重启电脑,在启动菜单中选择"Install Ubuntu"。启动后,就进入了下图所示的Ubuntu界面。现在,即可尝试Ubuntu的大部分功能。

图12.1
12.1.2 卸载ISO设备
现在卸载ISO设备,否则会影响到后面的安装。
按下Ctrl+Alt+T快捷键打开终端,如下图所示。请执行命令sudo umount -l /isodevice,将ISO设备卸载。然后关闭终端。

图12.2
12.1.3 运行安装程序
鼠标左键双击桌面上(图12.1)的"安装Ubuntu 10.10"图标,开始安装Ubuntu。首先要求选择语言。请选择"中文(简体)",然后单击"前进"按钮

图12.3
接下来的设置界面如下,单击"前进"按钮。注意:请将电脑的网络断开,否则Ubuntu会联网下载文件,导致安装非常缓慢。

图12.4
在"分配磁盘空间"界面,请选择"手动指定分区(高级)",然后单击"前进"按钮

图12.5
12.1.4 分区
配置分区如下图所示:

图12.6
这里给Ubuntu设置了两个分区,一个用于挂载/,另一个用于交换空间。其中交换空间是32位Ubuntu和64位Ubuntu公用的。
选择要挂载/的分区,然后单击"更改"按钮。文件系统建议选择 Ext4,这里选择 Ext3 是为了便于 Ghost 备份分区(Ghost不认Ubuntu的Ext4分区)。挂载点请选择/。单击"确定"按钮,完成这个分区的设置。

图12.7
选择交换空间分区,然后单击"更改"按钮。交换空间分区将被挂载到/swap

图12.8
设置好分区,请设置引导程序的安装位置。
注意:
1、一定不要把引导程序安装到硬盘上(/dev/sda),而是应该安装到挂载/的分区上。因为引导程序安装到硬盘上,将会把GRUB写入硬盘的MBR;
2、引导程序可以写入逻辑分区,但是无法直接从逻辑分区启动操作系统。必须借助GRUB等工具才能完成启动工作。

图12.9
12.1.5 继续安装
接下来选择区域,直接单击"前进"按钮

图12.10
接下来是键盘布局,直接单击"前进"按钮

图12.11
接下来是配置用户名和密码

图12.12
接下来是安装操作系统,这个耗时要多一些

图12.13
安装完成后,单击"现在重启"按钮

图12.14
12.1.6 显卡驱动
笔者电脑的显卡为Quadro2000,其驱动安装程序是:
32位 Drivers\Linux\IA32\NVIDIA-Linux-x86-260.19.44.run
64位 Drivers\Linux\IA64\NVIDIA-Linux-x86_64-260.19.44.run
请以 Recover--Mode进入Ubuntu,然后运行显卡驱动安装程序。具体的命令如下:
1、修改NVIDIA-Linux-x86-260.19.44.run的所有者
下面的命令把NVIDIA-Linux-x86-260.19.44.run的所有者更改为user
| 
 sudo chown -R user NVIDIA-Linux-x86-260.19.44.run  | 
2、更改文件权限
| 
 chmod +x NVIDIA-Linux-x86-260.19.44.run  | 
3、运行NVIDIA-Linux-x86-260.19.44.run
| 
 sudo NVIDIA-Linux-x86-260.19.44.run  | 
12.1.7 GRUB4DOS启动Ubuntu
至此,Ubuntu10.10被安装到一个独立分区了。可以通过修改menu.lst来实现GRUB4DOS启动它,命令如下所示:
| 
 title Ubuntu 10.10(32bits) kernel (hd0,8)/boot/grub/core.img boot  | 
12.2 配置
12.2.1 时间
对于计算机的系统时间,即BIOS里的时间。Windows认为它是本地时间,而Linux 认为它是UTC时间,如果时区选择+8:00,则这两个系统的时间将相差8小时。为了消除这种差别,需要进行设置
方法一、修改Windows
修改注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation 增加一个 REG_DWORD 类型的 RealTimeIsUniversal,其值设定为 1。这样Windows会将BIOS时间当作UTC时间来处理;
方法二、修改Linux
编辑文件 /etc/default/rcS,将"UTC=yes"改成"UTC=no",保存后重启系统就可以了。编辑指令为:sudo gedit /etc/default/rcS
12.2.2 修改启动菜单
安装Ubuntu时,安装程序会检测都安装了哪些操作系统?然后将其它操作系统的启动也加入到了启动菜单。修改启动菜单的方法就是修改grub.cfg文件,其指令如下:
sudo gedit /boot/grub/grub.cfg
12.2.3 修改卷标
卷标就是硬盘分区的名称,Ubuntu里修改卷标的指令为:
sudo e2label /dev/sda1 卷标
12.2.4 root
设置ROOT密码的命令:sudo passwd root 输入密码后按 Enter 键即可。
启用 root 帐号的步骤为:单击 System ==> Preferences ==> Login Window 菜单,切换到 Security 选项页,然后勾中"Allow local system administrator login"选项。
禁用 root 帐号的命令:sudo passwd -l root
PC上安装多个操作系统的更多相关文章
- PC上安装MAC X Lion
		
PC上安装MACXLion 网上关于如何在PC下安装MAC的文章已近不少了,但对于一些初学者在实践当中会遇到各种问题,以下视频资料为大家展示两种虚拟机安装MacOS. 1.VmwareWorkstat ...
 - mac os x在PC上安装
		
系统安装之前的准备工作及安装过程简介 前面我们已经提到,苹果电脑虽然已经采用了x86架构的Intel处理器,但其官方并不提供在非苹果电脑上安装Mac OS的支持.所以,要想在普通PC/笔记本电脑上安装 ...
 - 系统重装 如何在PC上安装Mac OS,苹果操作系统
		
[苹果系统 无影精品]<精睿 无影技术Mac OS X 中文优化正式会员版V10.14和V10.16>◆ 系统前沿:==================================== ...
 - Hello China操作系统在Virtual PC上的安装和使用
		
http://blog.csdn.net/hellochina15/article/details/7253350 本文介绍如何在Windows 7操作系统和Virtual PC 2007虚拟机上安装 ...
 - 让你在PC上调试Web App,UC浏览器发布开发者版
		
目前,在手机上使用浏览器访问网页,无法便捷地进行网页语言调试.手机屏幕相对较小且操作不便,直接在手机上进行网页数据调试不太现实. 因此,UC使用技术将手机网页调试信息分离,实现一种能在大屏幕.高配置P ...
 - 普通pc电脑安装苹果系统mac_详细教程(精)附带所有工具下载
		
苹果操作系统只允许在苹果电脑上面安装和使用.和Windows不一样,要在PC上安装,需要一系列的模拟和破解.破解安装的过程很繁琐而具有挑战性,以下是安装10A432雪豹的PC安装指南,附带25张图片帮 ...
 - 突破极限 解决大硬盘上安装Unix新思路
		
一.问题提出 硬盘越做越大,然我喜欢让我忧.10年前就遇到过在586电脑BIOS不认识超过8.4G容量硬盘的问题,以及Windows Nt操作系统不认大硬盘(容量超过8.4G)的问题,对于Linux ...
 - Fiddler—PC上实现手机的抓包
		
PC上安装Fiddler之后,可以抓取各种浏览器的请求,通过一些设置可以获取iPhone.安卓手机.windows phone的请求.具体的工作原理我也不多说(哼,绝对不是因为我不懂XD),主要说下如 ...
 - 在VMware Workstation上安装Kali Linux
		
在VMware Workstation上安装Kali Linux VMware Workstation是一款功能强大的桌面虚拟计算机软件.该软件允许用户在单一的桌面上同时运行不同的操作系统,并且可以进 ...
 
随机推荐
- 解析xml,几种方式
			
市面上解析xml分两种方式,1.dom 2.sax ,xml解析常见的一共有三种开发包,1.jaxp 2.jdom 3.dom4j,这三种方式最常用的是dom4j,jaxp和jdom很少有人用, ...
 - mysql 修改数据库的列
			
alter table tableName oldcolumn newcolumn datatype;
 - BZOJ 1006 神奇的国度(弦图的染色数)
			
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1006 题意:给定一个弦图,求最小染色数.就是用最小数目的颜色进行染色使得任意两个相邻的节 ...
 - 11.Events
			
1.A type that defines an event member allows the type (or instances of the type) to notify other obj ...
 - [SAP ABAP开发技术总结]内表操作
			
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
 - CUBRID学习笔记 42 Hierarchical QuerySQL层级查询
			
cubrid的中sql查询语法Hierarchical QuerySQL层级查询 ------ 官方文档是英文的,看不明白可以参看ocracle的同类函数说明.很多都是一样的. ORACLE中CONN ...
 - unity3d vs2012
			
Unity3D自带的MonoDevelop编辑器无论是js还是c#代码提示都很差,很诡异的就是变量名和方法名有的时候提示有的时候不提示.不过用Visual Studio代替MonoDevelop这个问 ...
 - I2总线
			
I2C简介 飞利浦(PHILIPS)公司开发的两线式串行总线 每个器件都有一个唯一的地址识别 1.只要求两条总线线路:一条串行数据线SDA,一条串行时钟线SCL 2.每个连接到总线的器件都可以通过唯一 ...
 - ubuntu linux 使用常见问题
			
Q:gedit不支持windows下的中文显示 A:http://wiki.ubuntu.org.cn/Gedit%E4%B8%AD%E6%96%87%E4%B9%B1%E7%A0%81 Q:bash ...
 - jquery使用技巧
			
1. 禁用右键点击(Disable right-click) <!DOCTYPE html> <html> <head> <meta charset=&quo ...