在Windows上制作CentOS自动安装的光盘的教程
1 复制光盘文件
1)挂载iso镜像
创建目录用于挂载光盘:
挂载iso镜像
2)复制光盘文件到编辑目录进行编辑
因为挂载上iso镜像是只读的,如果要编辑,需要将文件复制出来,再编辑。
首先创建编辑目录:
复制光盘文件:
diskinfo文件需求单独拷贝下:
2 编辑ks.cfg文件
系统安装的时候,按照ks.cfg文件的内容进行安装,我们把ks.cfg文件放到isolinux目录下:
vim ks.cfg
我的ks.cfg文件内容如下:
#version=RHEL/CentOS7 by xiaoli110
install
# Keyboard layouts
keyboard 'us'
# Reboot after installation
reboot
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='cn'
# System language
lang zh_CN.UTF-8
# Network information
#network --bootproto=dhcp --device=enp2s0 --onboot=off --ipv6=auto
#network --bootproto=dhcp --device=enp3s0 --onboot=off --ipv6=auto
#network --hostname=localhost.localdomain
# Root password
rootpw --iscrypted 111111111111111111111111111
# System timezone
timezone Asia/Shanghai
# System language
lang zh_CN
# Firewall configuration
firewall --enabled --ssh
# System authorization information
auth --useshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --fstype="xfs"--size=500
part /boot/efi --fstype="xfs"--size=500
part swap --fstype="swap"--size=16000
part / --fstype="xfs" --grow--size=1
%packages
@base
@core
@development
@hardware-monitoring
@performance
@remote-system-management
%end
注意:
1)因为CentOS7系统网卡规则更复杂,为了ks.cfg更通用,最好ks.cfg不用制定网卡配置。
2)为了兼容mbr方式和EFI方式,同时创建了/boot和/boot/efi分区。
3配置mbr引导方式
编辑isoliuux目录下的isolinux.cfg文件,添加自己的内容,在isolinux.cfg文件中label linux下面添加自己的label:
label linux
menu label ^Install CentOS 7
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS7 quiet
label custom
menu label ^Custom CentOS 7 by xiaoli110
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS7 inst.ks=cdrom:/isolinux/ks.cfg
注意点:
1)memu label 后面的内容是在光盘引导起来菜单的内容,^后面的字母是菜单的快捷键;
2)通过inst.ks关键字指明ks.cfg文件位置;
3)inst.stages2标识的是系统按照介质位置,这里使用hd:LABEL表明寻找的是label为CENTOS7的安装介质,使用LABEL关键字的好处是可以精确指定安装介质,为什么label是CENTOS7,是因为我在制作光盘镜像的时候指定的,方法在后面有介绍。
4 配置EFI引导方式
1)EFI简介
EFI可扩展固件接口(ExtensibleFirmware Interface 的缩写),是英特尔主导推出的一种替代BIOS的升级方案。最早由英特尔开发,于2005年将此规范格式交由UEFI论坛来推广与发展,后来并更改名称为Unified EFI(UEFI)。UEFI论坛于2007年1月7日释出并发放2.1版本的规格,其中增加与改进了加密编码(cryptography)、网络认证(network authentication)与用户接口架构(User Interface Architecture)。
EFI是用模块化,C语言风格的参数堆栈传递方式,动态链接的形式构建的系统,较BIOS而言更易于实现,容错和纠错特性更强,缩短了系统研发的时间。
EFI在概念上非常类似于一个低阶的操作系统,并且具有操控所有硬件资源的能力。
2)配置EFI引导
进入光盘目录EFI/BOOT/,编辑grub.cfg文件,添加自己的菜单:
menuentry 'Install CentOS 7' --class fedora--class gnu-linux --class gnu --class os {
linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=CENTOS7 quiet
initrdefi /images/pxeboot/initrd.img
}
menuentry 'Install CentOS 7 custom byxiaoli110' --class fedora --class gnu-linux --class gnu --class os {
linuxefi /images/pxeboot/vmlinuz inst.ks=cdrom:/isolinux/ks.cfginst.stage2=hd:LABEL=CENTOS7 quiet
initrdefi /images/pxeboot/initrd.img
}
和mbr方式类似,指明ks.cfg文件位置和安装源位置。
5 生成iso镜像
经过我踩过多个坑,成功的生成镜像,并且能在EFI和mbr环境安装的镜像生成命令如下:
genisoimage -v -cache-inodes -joliet-long -R -J -T -V CENTOS7 -o /root/centos7.iso \
-c isolinux/boot.cat -bisolinux/isolinux.bin \
-no-emul-boot -boot-load-size 4-boot-info-table \
-eltorito-alt-boot -b images/efiboot.img -no-emul-boot .
(1)中间踩过的几个坑:
1)制作镜像要使用CentOS7的系统,不要使用CentOS6的系统,因为两者系统的genisoimage命令的版本不一样,6的系统制作出来的iso不能在efi环境启动;
2)如果要在efi启动,需要添加如下参数:
3)通过-V参数指定光盘label
(2)genisoimage命令参数简介
-o 指定映像文件的名称。
-b指定在制作可开机光盘时所需的开机映像文件。
-c 制作可开机光盘时,会将开机映像文件中的no-eltorito-catalog全部内容作成一个文件。
-no-emul-boot 非模拟模式启动。
-boot-load-size 4 设置载入部分的数量。
-boot-info-table 在启动的图像中现实信息。
-joliet-long 使用 joliet 格式的目录与文件名称,长文件名支持。
-R 或 -rock 使用 Rock RidgeExtensions 。
-J 或 -joliet 使用 Joliet 格式的目录与文件名称。
-v 或 -verbose 执行时显示详细的信息。
-T 或-translation-table 建立文件名的转换表,适用于不支持 Rock Ridge Extensions 的系统上。
(3)genisoimage、mkisofs、xorrios几个命令的区别
说起genisoimage和mkisofs,其实里面是有点故事的。
最早的时候,Linux系统使用cdrtools工具来管理iso及光盘,mkisofs是cdrtools里面的一个工具,后来cdrtools更好了了授权许可,从GPL修改为CDDL许可,开源社区又推出了一套基于GPL的工具,cdrkit,mkisofs也被genisoimage去掉,现在系统中的mkisofs实际是genisoimage的软连接:
/usr/bin/mkisofs ->/etc/alternatives/mkisofs
ls -l /etc/alternatives/mkisofs
/etc/alternatives/mkisofs ->/usr/bin/genisoimage
xorrios是另外一个比较流行的制作iso镜像的工具,并且有一个参数-asmkisofs可以和mkiso命令兼容。
相关文章
CentOS上配置VirtualBox虚拟机及安装Windows的教程
这篇文章主要介绍了CentOS上配置VirtualBox虚拟机及安装Windows的教程,值得注意的是这里我们使用命令行进行部署及介绍在其他计算机上使用远程桌面的方法,需要的朋友可以参2016-06-20将CentOS服务器的目录映射为Windows磁盘驱动器的方法
这篇文章主要介绍了将CentOS服务器的目录映射为Windows磁盘驱动器的方法,使用Samba这款工具,方便于对服务器进行远程管理,需要的朋友可以参考下2015-06-24- 这篇文章主要介绍了Centos6下安装R语言教程,本文着重讲解了Centos下的安装,本文同时给出了Windows下的安装提示,需要的朋友可以参考下2015-06-03
- centos 7与windows系统引导恢怎么恢复?安装centos 7后发现已经安装的windows 8系统和xp系统的启动项消失了,而且安装时centos的引导直接安装在主引导记录中,根本没有安装2015-01-21
- 最近尝试着在已经安装了Win7的系统下安装CentOS,实现双系统切换使用的目的。经过大半天的实验,算是成功了,现在把我的方法给大家介绍一下,希望对大家有帮助2014-12-13
centos6.3使用ntfs-3g挂载windows ntfs分区的方法
这篇文章主要介绍了centos6.3使用ntfs-3g挂载windows ntfs分区的方法,需要的朋友可以参考下2014-05-04双系统重装windows7后无法启动centos6.4的解决方法
双系统下重装windows7后无法启动centos6.4的情况想必很多朋友都有遇到过吧,下面为大家介绍个不错的解决方法2013-09-05Windows 2008R2 HyperV下安装CentOS6,网卡无痛设置
今天下午被同事拉着在2008R2的 HyperV下安装CentOS系统,由于网上的教程都是基于某些旧版本资料的,过程实在坑爹,所以把这个过程记录下来,希望以后的兄弟在安装的时候,能顺利2012-07-20- 最近工作空闲下来了,于是就想利用这段时间学习一下Linux。首先得有一个Linux环境,因此利用自己的电脑,安装了双系统。2012-07-04
- 如何远程控制centOS桌面? 如何使用windows远程控制centOS桌面?2012-05-15
最新评论