制作自定义系统iso镜像
一、制作自己的ISO启动盘篇
在需要安装特定系统的时候,我们使用原版的linux系统盘镜像来安装,需要手动操作N多步,在机器非常多的环境下,这种方式显然不理想,这是我我们就需要制作我们特定的系统盘来简化安装,释放双手。
制作自己的ISO启动盘其实很简单,只需要了解iso光盘启动需要加载的文件,然后借助工具制作就可以。
1、创建引导光盘文件
- 1、创建一个目录用来存放我们的iso文件
- mkdir –pv /app/myiso
- 2、将光盘挂载到一个目录下,方便我们复制目录
- mount /dev/sr0 /mnt
- 3、将光盘启动文件拷贝到我们创建的目录内
- cp -r /mnt/ /app/myiso/ #整个光盘复制过去
- 4、创建应答文件目录并将应答文件拷贝过去
- mkdir /app/myiso/isolinux/ksdir
- cp path/ks_file /app/myiso/isolinux/ksdir/ks-mini.cfg #应答文件的创建参见http://blog.vservices.top/myblog/?p=766 第三节
- 5、修改linux的启动菜单文件,可以参见http://blog.vservices.top/myblog/?p=766 第二节
- vim /app/myiso/isolinux/isolinux.cfg
- default vesamenu.c32
- timeout 600
- display boot.msg
- menu clear
- menu background splash.png
- label linux
- menu label ^Install CentOS 7
- kernel vmlinuz
- append initrd=c7/initrd.img ks=ksdir/ks-mini.cfg
- label local
- menu default
- menu label Boot from ^local drive
- localboot 0xffff
- 6、删除“/app/myiso/”下的所有 "TRANS.TBL" 文件,该文件会在生成新的iso时重新生成
- find /app/myiso/ -name TRANS.TBL -exec rm {} \;
- 7、删除 /app/myiso/repodata下除了以'-comps.xml'结尾的所有文件(被排除掉的是包组数据库,这个需要保留)
- grep -v '-comps.xml$' /app/myiso/repodata/ | xargs rm -rf
- 8、创建新的rpm包数据库
- cd /app/myiso/
- createrepo -g repodata/38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml ./ #该命令依赖createrepo这个rpm包
2、生成镜像
- mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 7 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/c7.iso /app/myiso/
- 新的镜像保存在/root下
3、刻录镜像
我们生成的镜像虽然可以引导,但是如果将其刻录到U盘内将不能启动,原因是:刻录后,U盘的MBR是空的。所以准对这种情况我们需要对光盘镜像做一下处理。
处理方法:
- 我们需要借助syslinux这个软件包
- yum install -y syslinux
- 安装好这个包后我们使用一下命令,填充MBR,这样刻入硬盘或U盘是MBR已经做好了引导区
- isohybrid /root/c7.iso
- 做完这一步,我们就可以查看这个镜像的前512个字节了
- hexdump -C -n 512 /root/c7.iso
制作自定义系统iso镜像的更多相关文章
- 利用dd命令制作u盘iso镜像
现在安装系统都是用u盘安装,那么制作u盘的iso镜像就是必须的了.现在此类工具倒是不少,但是,好用的不多,有的还收费.唉,还是用dd吧,老配方,老味道. 首先:要df -h一下,看看u盘的盘符,类似 ...
- 从零开始制作一个linux iso镜像
一.前言 对于一个极简化的linux系统而言,只需要三个部分就能组成,它们分别是一个linux内核.一个根文件系统和引导.以下是本文制作linux iso镜像所用到的系统和软件: OS ...
- Windows 8.1 系统ISO镜像下载或自Win8应用商店升级方法
1)下载 -- 面向全体用户的Win8.1预览版ISO镜像下载(28日开放): 安装时请输入微软官方提供给大家的产品密钥:NTTX3-RV7VB-T7X7F-WQYYY-9Y92F. 64位简体中文版 ...
- Remastersys备份linux系统ISO镜像
1. 安装Remastersys 利用Ubuntu Software Center安装,修改sources.list文件,在文件末尾加入下面三行,添加软件源, #Rsudo remastersys d ...
- xubuntu下制作自定义的ISO文件
by han; 1.打开命令编辑器,建立文件 # sudo su # mkdir -p /opt/custom_conf/user_custom_conf/config 2.将自定义的设置复制保存到/ ...
- 使用debootstrap制作debian-jessie系统docker镜像
先看一下Docker官网提示:In general, you'll want to start with a working machine that is running the distribut ...
- window下从硬盘安装linux系统iso镜像文件的方法
首先,需要安装grub2win,http://sourceforge.net/projects/grub2win/ 其次,将iso文件放在grub2可识别的分区, 如c:\abc\iso.iso 最后 ...
- Centos各版本系统ISO镜像下载地址
https://www.centos.org/download/mirrors/ 需要在里面一个个看,有些是没有旧版本镜像的 补充: 上面这个方法很难再找到旧版本了 更好的方法如下:以下载Centos ...
- 已集成 VirtIO驱动windows server 2012, 2008, 2003的ISO镜像下载
已集成 VirtIO驱动简体中文windows server 2012, 2008, 2003系统ISO镜像下载地址. 适用于上传自定义ISO并且使用 VirtIO驱动的kvm架构vps,vultr家 ...
随机推荐
- Java学习笔记-IO
IO(Input Output)流,用来处理设备之间的数据传输 IO IO概述 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中 流按操作数据分为两种:字节流与字符流 流按流向 ...
- ZOJ Problem Set - 1005
注意,条件:B>=C .应考虑B=C的情况. #include<iostream> using namespace std; int A,B,C; void jugs(int a,i ...
- 暑假--升级攻击家庭wifi
参考: 1.http://blog.jobbole.com/64832/ 2.http://blog.jobbole.com/65851/ 3.http://blog.jobbole.com/6562 ...
- 关于Dev-c++运行时与Windows不兼容问题
问题描述. 解决方案 1.鼠标右键点击图标,进入属性. 2.点击上方的兼容性. 3.在兼容模式中勾选以兼容模式运行这个程序并选择windows7. 4.再点击以管理员身份运行此程序. 5.点击应用. ...
- hdoj4812 D Tree(点分治)
题目链接:https://vjudge.net/problem/HDU-4812 题意:给定一颗带点权的树,求是否存在一条路经的上点的权值积取模后等于k,如果存在多组点对,输出字典序最小的. 思路: ...
- yaml语言格式
YAML是"YAML Ain't a Markup Language"(YAML不是一种标记语言),强调这种语言以数据做为中心,而不是以置标语言为重点. 转载2篇比较好的关于yam ...
- MQTT安全篇
物联网的核心是连接万物,通过交换并分析数据使得生活更舒适与便捷.不过,敏感数据泄露或者设备被非法控制可不是闹着玩的.比如前段时间国内某著名家电企业的智能洗衣机,使用了某著名电商基于XMPP协议的物联网 ...
- nginx.conf and dockerfile带颜色
wget http://www.vim.org/scripts/download_script.php?src_id=14376 -O nginx.vim mv nginx.vim /usr/shar ...
- C语言中signed和unsigned理解
一直在学java,今天开始研究ACM的算法题,需要用到C语言,发现好多知识点都不清楚了,看来以后要多多总结~ signed意思为有符号的,也就是第一个位代表正负,剩余的代表大小,例如:signed i ...
- Vue生命周期及业务场景使用
vue里的生命周期是什么? vue实例从创建到销毁的过程称之为vue的生命周期 vue的生命周期各阶段都做了什么? beforeCreate 实例创建前:这个阶段实例的data.methods是读不到 ...