1,复制光盘文件

1 )挂载 iso 镜像

创建目录用于挂载光盘:

mkdir /root/centos7

挂载 iso 镜像

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

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

因为挂载上 iso 镜像是只读的,如果要编辑,需要将文件复制出来,再编辑。

首先创建编辑目录:

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 /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 启动,需要添加如下参数:

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

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 的软连接:

ls -l /usr/bin/mkisofs

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

ls -l /etc/alternatives/mkisofs

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

xorrios 是另外一个比较流行的制作 iso 镜像的工具,并且有一个参数 -asmkisofs 可以和 mkiso 命令兼容。

制作光盘安装linux系统教程,CentOS 7.0全自动安装光盘制作详解相关推荐

  1. 32位安装linux系统下载,CentOS 5.0 i386官方正式版系统(32位)

    CentOS 5.0 是一个企业级的 Linux 发行版本,它是由上游操作系统提供者(UOP)1提供的可自由使用的源代码重新编译而成.CentOS 完全遵守上游提供者的再发行政策,并且以百分之百的软件 ...

  2. linux中realplayer.rpm格式的软件安装,Linux系统中Realplay 10.0的安装和使用

    一.什么是RealPlay Realplay 在Windows大家经常用,不必介绍:呵... ... 在一两年前,如果说Rlealplay 能在Linux操作系统中正常的运行,有点异想天开:目前看来运 ...

  3. CentOS 7.0全自动安装光盘制作详解

    CentOS 7.0全自动安装光盘制作详解 1 复制光盘文件 1 )挂载 iso 镜像 创建目录用于挂载光盘: mkdir /root/centos7 挂载 iso 镜像  mount -o loop ...

  4. U盘安装Linux系统教程步骤

    前面章节介绍了如何通过虚拟机 VMware 安装 Linux 系统,而实际开发中,我们更多的是要将 Linux 系统直接安装到电脑上. 直接在电脑上安装 Linux 系统的常用方法有 2 种,分别是用 ...

  5. 华硕服务器怎么装系统教程视频,华硕怎么安装linux系统教程视频

    华硕怎么安装linux系统教程视频 [2021-02-13 09:38:08]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(&qu ...

  6. Friendly ARM开发板安装Linux系统教程

    友善之臂ARM9开发板安装Linux系统教程 前言:智能蘑菇房项目的运行环境是友善之臂ARM9开发板,所以需要在上面灌一个linux系统,下面我来简单介绍一下. 准备 读卡器 SD卡 串口线一根(US ...

  7. 服务器上安装Linux系统教程

    服务器上安装Linux系统教程 镜像文件下载 启动盘制作 实际安装 镜像文件下载 本教程使用的Linux系统镜像文件为:rhel-server-6.5-x86_64-dvd.iso 要从服务器端下载所 ...

  8. 用移动硬盘安装系统linux系统,U盘、移动硬盘引导启动安装linux系统【Centos 6.4 】...

    U盘.移动硬盘引导启动安装linux系统[Centos 6.4 ]( rhel基本相同) 本文案例是我安装32系统的,64位时U盘单个文件大于4G不能fat32格式问题暂时没提供,有条件时一定研究下在 ...

  9. 在笔记本上安装 linux系统--Ubuntu 20.04(实体机安装而非虚拟机)

    在笔记本上安装 linux系统–Ubuntu 20.04(实体机安装而非虚拟机) 一.刻录操作系统镜像到U盘 Ubuntu有详细的操作说明(5分钟左右能看完)大概如下 Create a bootabl ...

最新文章

  1. R语言ggplot2可视化散点图、并以与y=0为界绘制基于散点包围的多边形(ploygon)、对于y=0坐标轴的上方和下方的多边形分别使用不同的颜色进行填充
  2. mac mysql使用_在Mac中安装和使用MySQL
  3. 让delphi2010操作界面回到delphi7模式
  4. 大数据入门基础教程系列
  5. 以效率为根本,网易慢跑要做“另类”的TO B业务
  6. SQLSever 存储过程创建
  7. ZigBee,ZStack
  8. 计算机大作业visio选题,大作业一 用Visio绘网络结构图
  9. 什么叫直播秒开?如何实现秒开?
  10. Spring for Apache Hadoop 1.0发布
  11. 成功解决pycharm导入第三方库出现ReadTimeoutError超时的问题
  12. HttpServletResponse(打开图片)
  13. otool是mac自带的工具
  14. AIS (船舶自动识别系统Automatic Identification System)数据解析
  15. 基于微信校园二手书交易小程序系统 毕业设计毕设参考
  16. Maven2的新特性
  17. 西方文化系列讲座之希腊文化(下)
  18. 郎咸平:用友和金蝶的长板在哪儿
  19. Dva员工增删改查Demo实现-优化
  20. poj1386 Paly onWords

热门文章

  1. 电子试验的标准 GB2423
  2. 全球及中国手机摄像头音圈马达(VCM)驱动芯片行业研究及十四五规划分析报告
  3. 中科院又立大功!14nm国产芯片将量产
  4. 2023年最新国产芯片生态图谱
  5. 机器学习实战中的函数学习记录
  6. 英语四六级准考证和成绩忘了用python找回(2018)
  7. C语言交通灯数码管,51单片机数码管交通灯程序
  8. 音乐播放器通知栏切歌(Notification+BroadcastReceiver)
  9. [java] BlueJ 里显示 ERROR:找不到符号
  10. 我的世界服务器红石邮寄系统,我的世界服务器高级运输铁路教程