3.3多重引导安装流程与管理(option)
有鉴于自由软件的蓬勃发展以及专利软件越来越贵,所以政府单位也慢慢的希望各部门在选购计算机时,能够考虑同时含有两种以上操作系统的机器了。加上很多朋友其实也常常有需要两种不同操作系统来处理日常生活与工作的事情。那我是否需要两部主机来操作不同的操作系统?不需要的,我们可以通过多重启动来选择登陆不同的操作系统喔!一部机器搞定不同操作系统哩。
Tips
你可能会问:“既然虚拟机这么热门,应用面也广,那为啥不能安装Linux上面使用 Windows虚拟机?或反过来使用呢?”原因无他,因为“虚拟机在图形显示的性能依旧不足”啊!所以,某些时刻你还是得要使用实体机器去安装不同的操作系统啊!
不过,就如同鸟哥之前提过的,多重启动系统是有很多风险存在的,而且你也不能随时变动这个多重操作系统的引导扇区,这对于初学者想要“很猛烈的”玩Linux是有点妨碍~所以,鸟哥不是很建议新手使用多重启动啦!所以,下面仅是提出一个大概,你可以看一看,未来我们谈到后面的章节时,你自然就会有“豁然开朗”的笑容出现了!^_^
3.3.1安装CentOS7.x + Windows 7的规划
由于鸟哥身边没有具有UEFI BIOS的机器,加上Linux对于UEFI的支持还有待持续进步,因此,下面鸟哥是使用虚拟机创建200GB的磁盘,然后使用传统BIOS搭配MBR分区表来实践多重启动的项目。预计创建CentOS 7.x以及一个Windows7的多重操作系统,同时拥有一个共享的数据磁盘。
Tips
为什么要用MBR而不用本章之前介绍的GPT呢?这是因为“Windows 8.1以前的版本,不能够在非UEFI的BIOS环境下使用GPT分区表的分区来启动”啊!我们既然没有UEFI的环境,那自然就无法使用GPT分区来安装Windows系统了。但其实Windows还是可以使用GPT,只是“启动的那颗硬盘,必须要在MBR的分区磁盘中”。例如C盘单颗硬盘使用MBR,而数据磁盘D盘使用GPT,那就OK没问题!
另外,与过去传统安装流程不同,这次鸟哥希望保留Linux(因为启动管理是由Linux管的)在前面,Windows在后面的分区内,因此需要先安装Linux后再安装 Windows,后来通过修改系统配置文件来让系统达成多重启动!基本上鸟哥的分区是这样规划的(因为不用GPT,所以无须BIOS Boot项目):
Linux设备文件名 Linux装载点 Windows设备 实际内容 文件系统 容量
/dev/vda1 /boot - Linux启动信息 xfs 2GB
/dev/vda2 / - Linux根目录 xfs 50GB
/dev/vda3 - C Windows系统盘 NTFS 100GB
/dev/vda5 /DATA D 共享数据盘 VFAT 其他剩余
再次强调,我们得要先安装Linux再通过后续维护的方案来处理的喔!而且,为了强制Windows要安装在我们要求的分区,所以在Linux安装时,得要将上述的所有分区先分区出来喔!大概就是这样!来实践吧!
3.3.2高级安装CentOS7.x与Windows 7
请依据本章前面的方式一项一项来进行各项安装行为,比较需要注意的地方就是安装时,不可以加上inst.gpt喔!我们单纯使用MBR分区啊!
进行到 图3.2.12的项目时,先不要选择分区,请按下“[ctrl]+[alt]+[f2]”来进入安装过程的shell环境。然后进行如下的动作来预先处理好你的分区!因为鸟哥使用图形化界面的分区模式,老是没有办法调出满意的顺序!只好通过如下的手动方式来创建啰!但是你得要了解parted这个指令才行!
[anaconda root@localhost /]# parted /dev/vda mklabel msdos #建立MBR分区
[anaconda root@localhost /]# parted /dev/vda mkpart primary 1M 2G #建立/boot
[anaconda root@localhost /]# parted /dev/vda mkpart primary 2G 52G #建立/
[anaconda root@localhost /]# parted /dev/vda mkpart primary 52G 152G #建立C
[anaconda root@localhost /]# parted /dev/vda mkpart extended 152G 100%#建立扩展分区
[anaconda root@localhost /]# parted /dev/vda mkpart logical 152G 100% #建立邏輯分区
[anaconda root@localhost /]# parted /dev/vda print #顯示分割結果
如果按照上面的处理流程,由于原本是MBR的分区,因此经过mklabel的工作,将MBR强制改为GPT后,所有的分区就死光光了!因此不用删除就不会有剩余。接下来就是创建五个分区,最终的print行为就是列出分区结果,结果应该有点像下面这样:
接下来再次按下“[ctrl]+[alt]+[f6]”来回到原本的安装流程中,然后一步一步实践到分区那边,然后依据相关的设备文件名来进行“重新格式化”并填入正确的挂载点,最终结果有点像下面这样:
你会看到有个“重新格式化”的项目吧!那个一定要勾选喔!之后就给它持续的安装下去,直到装好为止喔!安装完毕之后,你也无须进入到设置的项目,在重新开机后,塞入Windows7的原版光盘,之后持续的安装下去!要注意,得要选择那个100G容量的分区安装才行!最重要的那个安装画面有点像下面这样:
一样,让windows自己安装到完毕吧!
3.3.3救援MBR内的启动管理程序与配置多重启动菜单
为了应付分区工作,所以我们是先安装Linux再安装Windows的。只是,如此一来,整颗硬盘的MBR部份就会被Windows的启动管理程序占用了!因此,安装好了Windows的现在,我们得要开始来救援MBR,同时编辑一下启动菜单才行!
救援回Linux的启动管理程序:
救援Linux启动管理程序也不难,首先,放入原版光盘,重新启动并且进入类似 图3.2.8 的画面中,然后依据下面的方式来处理救援模式。进入“Troubleshooting”,选择“Rescue a CentOS system”,等待几秒钟的启动过程,之后系统会出现如下的画面,请选择“Continue”喔!
如果真的有找到Linux的操作系统,那么就会出现如下的图示,告诉你,你的原本的系统放置于/mnt/sysimage当中喔!
接着下来准备要救援MBR的启动管理程序啰!处理的方法指令如下:
sh-4.2# chroot /mnt/sysimage
sh-4.2# grub2-install /dev/vda
Installing for i386-pc platform.
Installation finished. No error reported.
sh-4.2# exit
sh-4.2# reboot
修改启动菜单任务:
接下来我们可以修订启动菜单了!不然启动还是仅有Linux而已~先以正常流程登陆Linux系统,切换身份成为root之后,开始进行下面的任务:
[root@study ~]# vim /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Windows 7" {
set root='(hd0,3)'
chainloader +1
}
[root@study ~]# vim /etc/default/grub
GRUB_TIMEOUT=30 #將5秒改成30秒长一些
...
[root@study ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
接下来就可以测试能否成功了!如果一切顺利的话,理论上就能够看到如下的图示,并且可以顺利的进入Linux或Windows啰!加油!
后续维护的注意事项
多重启动设置完毕后请特别注意,(1)Windows的环境中最好将Linux的根目录与swap取消挂载,否则未来你打开文件资源管理器时,该软件会要求你“格式化!”如果一个不留神,你的Linux系统就毁了。(2)你的Linux不可以随便的删除!因为grub会去读取Linux根目录下的/boot/目录内容,如果你将Linux移除了,你的Windows也就无法启动了!因为整个启动菜单都会不见喔!
3.4重点回顾
不论你要安装什么样的Linux操作系统角色,都应该要事先规划例如分区、启动管理程序等;
建议练习机安装时的磁盘分区能有/, /boot, /home, swap四个分区;
安装CentOS 7.x的模式至少有两种,分别是图形界面与命令行;
CentOS 7会主动依据你的磁盘容量判断要用MBR或GPT分区方式,你也可以强迫使用GPT;
若安装笔记本电脑时失败,可尝试在启动时加入“linux nofb apm=off acpi=off”来关闭省电功能;
安装过程进入分区后,请以“自定义的分区模式”来处理自己规划的分区方式;
在安装的过程中,可以创建逻辑卷轴管理器(LVM);
一般要求swap应该要是1.5~2倍的实体内存量,但即使没有swap依旧能够安装与运行Linux操作系统;
CentOS 7默认使用xfs作为文件系统;
没有连上Internet时,可尝试关闭防火墙,但SELinux最好选择“强制”状态;
设置时不要选择启动kdump,因为那是给核心开发者查阅死机数据的;
可加入时间服务器来同步化时间,台湾可选择tock.stdtime.gov.tw这一部;
尽量使用一般用户来操作Linux,有必要再转身份成为root即可;
即使是练习机,在创建root密码时,建议依旧能够保持良好的密码规则,不要随便设置!
3.5本章习题
(要看答案请将鼠标移动到“答:”下面的空白处,按下左键圈选空白处即可察看)问答题部分:
Linux的目录配置以“树状目录”来配置,至于磁盘分区(partition)则需要与树状目录相配合!请问,在默认的情况下,在安装的时候系统会要求你一定要分区出来的两个Partition是什么?
就是根目录“/”与内存交换空间“Swap”
默认使用MBR分区方式的情况下,在第二颗SATA磁盘中,分割“六个有用”的分区(具有filesystem的),此外,已知有两个primary的分区类型!请问六个分区的文件名?
/dev/sdb1(primary)
/dev/sdb2(primary)
/dev/sdb3(extended)
/dev/sdb5(logical下面皆为logical)
/dev/sdb6
/dev/sdb7
/dev/sdb8
请注意,5-8这四个logical容量相加的总和为/dev/sdb3!
什么是GMT时间?台北时间差几个钟头?
GMT时间指的是格林威治时间,称为标准时间,而台北时间比GMT快了8小时!
软件磁盘阵列的设备文件名是什么?
RAID:/dev/md[0-127];
如果我的磁盘分区时使用MBR方式,且设置了四个Primary分区,但是磁盘还有空间,请问我还能不能使用这些空间?
不行!因为最多只有四个Primary的磁盘分区,没有多的可以进行分区了!且由于没有Extended,所以自然不能再使用Logical分区。
3.6参考资料与延伸阅读
注1:虚拟机管理器创建一部虚拟机的流程:
http://www.cyberciti.biz/faq/kvm-virt-manager-install-centos-linux-guest/
http://www.itzgeek.com/how-tos/linux/centos-how-tos/install-kvm-qemu-on-centos-7-rhel-7.html#axzz3Yf6il9S2
https://virt-manager.org/screenshots/
注2:CentOS 7网卡的命名规则:
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/sec-Understanding_the_Predictable_Network_Interface_Device_Names.html
注3:高级内存测试网站:
http://www.memtest.org/
注4:更多的核心参数可以参考如下链接:
http://www.faqs.org/docs/Linux-HOWTO/BootPrompt-HOWTO.html
对于安装过程所加入的参数有兴趣的,则可以参考下面这篇链接,里面有详细说明硬件原因:http://polishlinux.org/choose/laptop/
安装过程的简易示意图:
http://www.tecmint.com/centos-7-installation/
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/sect-disk-partitioning-setup-x86.html