目
录
第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