CentOS7全自动安装光盘制做详解node

1 复制光盘文件linux

1)挂载iso镜像ios

建立目录用于挂载光盘:redis

mkdir /root/centos7

挂载iso镜像vim

mount -o loop CentOS-7.0-1406-x86_64-DVD.iso/root/centos7

2)复制光盘文件到编辑目录进行编辑centos

由于挂载上iso镜像是只读的,若是要编辑,须要将文件复制出来,再编辑。bash

首先建立编辑目录:网络

mkdir /root/centos7_iso

复制光盘文件:架构

cp -rf /root/centos7/* /root/centos7_iso/

diskinfo文件需求单独拷贝下:并发

cp /root/centos7/.discinfo /root/iso

2 编辑ks.cfg文件

系统安装的时候,按照ks.cfg文件的内容进行安装,咱们把ks.cfg文件放到isolinux目录下:

cd /root/centos7_iso/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 /p_w_picpaths/pxeboot/vmlinuz inst.stage2=hd:LABEL=CENTOS7 quiet

initrdefi /p_w_picpaths/pxeboot/initrd.img

}

menuentry 'Install CentOS 7 custom byxiaoli110' --class fedora --class gnu-linux --class gnu --class os {

linuxefi /p_w_picpaths/pxeboot/vmlinuz inst.ks=cdrom:/isolinux/ks.cfginst.stage2=hd:LABEL=CENTOS7 quiet

initrdefi /p_w_picpaths/pxeboot/initrd.img

}

和mbr方式相似,指明ks.cfg文件位置和安装源位置。

5 生成iso镜像

通过我踩过多个坑,成功的生成镜像,而且能在EFI和mbr环境安装的镜像生成命令以下:

genisop_w_picpath -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 p_w_picpaths/efiboot.img       -no-emul-boot .

(1)中间踩过的几个坑:

1)制做镜像要使用CentOS7的系统,不要使用CentOS6的系统,由于二者系统的genisop_w_picpath命令的版本不同,6的系统制做出来的iso不能在efi环境启动;

2)若是要在efi启动,须要添加以下参数:

-eltorito-alt-boot     -bp_w_picpaths/efiboot.img       -no-emul-boot

3)经过-V参数指定光盘label

(2)genisop_w_picpath命令参数简介

-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)genisop_w_picpath、mkisofs、xorrios几个命令的区别

提及genisop_w_picpath和mkisofs,其实里面是有点故事的。

最先的时候,Linux系统使用cdrtools工具来管理iso及光盘,mkisofs是cdrtools里面的一个工具,后来cdrtools更好了了受权许可,从GPL修改成CDDL许可,开源社区又推出了一套基于GPL的工具,cdrkit,mkisofs也被genisop_w_picpath去掉,如今系统中的mkisofs实际是genisop_w_picpath的软链接:

ls -l /usr/bin/mkisofs

/usr/bin/mkisofs ->/etc/alternatives/mkisofs

ls -l /etc/alternatives/mkisofs

/etc/alternatives/mkisofs ->/usr/bin/genisop_w_picpath

xorrios是另一个比较流行的制做iso镜像的工具,而且有一个参数-asmkisofs能够和mkiso命令兼容。

linux全自动安装光盘,CentOS7全自动安装光盘制做详解相关推荐

  1. linux免安装mysql_linux上免安装版MySQL5.7.18的教程详解

    1. 下载mysql 从官网下载mysql的压缩包    mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz 2 把下载的包上传到linux上,先安装下依赖包:Ubun ...

  2. mysql安装后目录介绍,MySQL安装后的目录结构及配置文件详解

    MySQL安装后的目录结构及配置文件详解 MySQL安装后的目录结构及配置文件详解 MySQL目录结构说明 MySQL 安装完成后,会在磁盘上生成一个目录,该目录就被称为 MySQL 的安装目录. M ...

  3. server2016安装mysql_windows server2016安装MySQL5.7.19解压缩版教程详解

    记录了MySQL 5.7.19 winx64解压缩版安装教程,具体内容如下 系统环境:Win7 x64 软件准备:mysql 5.7.19 winx64 配置安装流程 具体安装如下: 1.把 mysq ...

  4. win8 64 mysql下载教程_windows下安装mysql-8.0.18-winx64的教程(图文详解)

    1.下载安装包 安装包现在地址: https://dev.mysql.com/downloads/mysql/ 2.解压缩至安装目录 解压缩下载之后的zip,我这里使用的安装路径为: C:\Progr ...

  5. windows上安装python3教程以及环境变量配置详解

    这篇文章主要介绍了windows上安装python3教程以及环境变量配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.在浏览器搜索pyth ...

  6. mysql压缩包删除_mysql解压缩方式安装和彻底删除的方法图文详解

    一.安装mysql (1)将下载下来的mysql压缩文件解压缩到需要安装mysql的目录中 (2)打开解压后的文件夹,复制default.ini文件并重命名为my.ini,此文件的相关配置为: (3) ...

  7. mysql 安全配置 centos_CentOS下安装MySQL5.6.10和安全配置教程详解

    注:以下所有操作都在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装MySQL之前,请确保已经使用yum安装了以下各类基础组件(如果系统已自带,还可以考虑yum update下基 ...

  8. linux7硬盘自动挂载,Centos7自动挂载硬盘参数详解

    UUID=5b69ece8-4e15-4658-9857-8a60efbbb0fe / ext4 defaults 1 1 第一列:分区名(设备ID) 如果磁盘是SCSI/STAT接口,且有多个磁盘, ...

  9. linux Shell(脚本)编程入门实例讲解详解

    linux Shell(脚本)编程入门实例讲解详解 为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具.Shell不仅仅是命令的收集, ...

最新文章

  1. DeepStream开发日志
  2. [上海]LinkCoder第四期活动——Jeffrey Richter:Win 8应用开发与.NET4.5
  3. 数据中心真能促进乡村经济吗?
  4. 光流 | 基于KLT(Kanade-Lucas-Tomasi)特征点跟踪算法(附代码,可扩展)
  5. Ansible 一步一步从入门到精通(一)
  6. php 大批量的删除图片,PHP批量删除记录同时删除图片文件
  7. 阿里百川IMSDK--自定义群聊界面
  8. NLP先验知识(一)
  9. 2022年计算机软件水平考试程序员(初级)练习题及答案
  10. 山东大学软件学院2022数据化企业期末复习总结
  11. 爬取中国地震网地震数据
  12. python--弦图
  13. 腾达ac1200开虚拟服务器,腾达F1200 11AC双频无线路由器的上网设置教程
  14. Java 导入Excel数据
  15. kaldi运行yesno例程
  16. 批处理(bat)打开之后闪退怎么办?
  17. VBA对单元格及区域、行、列的选择、写入、复制、删除、插入等 ​
  18. 为什么学编程都建议不要用拼音命名?看知乎大佬的回答!秒懂
  19. linux升级Openssh到8.4
  20. [演讲]北大鄂维南院士:智能时代意味着什么?

热门文章

  1. 如何隐藏android的屏幕上的Title Bar
  2. linux 一些简记
  3. GNS3 串口连接问题
  4. 关于owa over https的邮箱加密访问
  5. HTML发布那一年,开发版内测公告一般发布时间是几点
  6. python中remove用法_Python 列表 remove() 使用方法及示例
  7. 计划策略的配置参数(2)
  8. [性能] SAP销售订单取数逻辑优化---索引表
  9. 在命令行下进行Oracle用户解锁
  10. 《他其实没那么喜欢你》经典台词(2)