如何快速将 Linux 系统制作成 ISO 镜像文件?

大家好,我是 JackTian。

上次跟大家分享了一个《神器工具:新一代多系统启动 U 盘装机解决方案》这篇文章发出后,当天阅读量突破 2000,截止目前在看:64 个,留言:20 条,赞赏:7 个,被转载:5次,通过这一数据来看,阅读数已经是我平时的好几倍了,这并不算什么。

更重要的是,得到了很多读者朋友们的认可,他们就在当天纷纷地去尝试这款神奇的装机工具,分分钟秒杀传统的大白菜,我相信大家用了它,会更让你爱不释手,大大的提高了我们装机时的工作效率。

那么,就有朋友留言说了,杰哥能不能分享下现有 Linux 操作系统刻录成 ISO 文件的教程呀,看上去这个问题很简单。虽然我之前并没有实践过这块,也趁此机会学习下并分享给大家。

今天就跟大家分享下这款神奇的开源免费故障恢复和备份工具 —— Mondo Rescue。

什么是 Mondo Rescue?

Mondo Rescue(简称 Mondo):是一款开源免费的故障恢复和备份工具,可以说是 Linux 操作系统下的 Ghost ,你可以轻松地创建系统(Linux 或 Windows)克隆或备份的 ISO 镜像,可以将这些镜像存放在 CD、DVD、磁带、USB 设备、硬盘和 NFS 上。

万一数据丢失了,你将能够可以从备份介质还原系统所有数据或根据实际需求还原所有数据。除此之外,Mondo Rescue 还可用来快速恢复或者重新部署工作镜像到其他系统中。

Mondo 支持 LVM 1/2、RAID、ext 2/3/4、JFS、XFS、ReiserFS、VFAT 等,并且可以轻松支持其他文件系统,支持软件 RAID 和大多数硬件 RAID 控制器,支持磁盘几何形状的调整,包括从非 RAID 到 RAID 的迁移。支持 BIOS 和 UEFI 引导模式。

Mondo 在所有主要的 Linux 发行版(Fedora、RHEL、OpenSUSE、SLES、Mageia、Debian、Ubuntu、Gentoo)上运行,可使用它来备份非 Linux 分区,例如:NTFS。

安装

1、下载安装包

你可以根据你的实际系统类型自行去官网下载,由于会有很多依赖关系,也可以通过 yum 的形式安装。

# wget ftp://ftp.mondorescue.org/rhel/6/x86_64/mondorescue.repo

进入/etc/yum.repos.d/目录中操作,如在其他目录操作可能会起不到作用。

# yum install -y mondo

yum 安装过程中,可能会出现如下问题。

"warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

解决办法:

# cd /etc/pki/rpm-gpg/
# wget http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

使用 CentOS 时,会出现如下错误:

warning: rpmts_HdrFromFdno: Header V4 DSA/SHA1 Signature, key ID XXXXXX: NOKEY

解决办法:

加上"--nogpgcheck"参数

就是在你要执行的语句后面加上该参数即可;

# yum install -y mondo --nogpgcheck
制作镜像

安装完毕后,以 root 为身份用户,在终端下输入mondoarchive,即可进入图形操作界面。

# mondoarchive
See /var/log/mondoarchive.log for details of backup run.
Checking sanity of your Linux distribution
.......

备份到什么介质

选择Hard disk备份ISO镜像到硬盘

备份位置选择

输入备份 ISO 镜像所在目录的完整路径名或默认。

压缩类型选择

建议选择 gzip ,压缩率大。

压缩率选择

压缩选项选择 Maximum(9)

选择每个镜像大小

输入你所想要的每个 ISO 镜像的大小,并以MB(兆字节)为单位。

该数值应当小于等于 CD-R(W)(700)或 DVD(4480)的容量。这里默认即可。

制定镜像名称

制定 ISO 镜像文件名,例如默认的 mondorescue,也可自定义或默认。

选择要备份的目录

输入你所要备份的文件目录,默认为根目录要备份全系统(默认即可)。

排除不需要备份的目录

排除不备份的文件系统并以|分隔。

一般来说有一些文件是不需要的,是可以排除掉的,而如果想要完整地备份你的操作系统,直接默认回车。

选择临时目录路径

输入临时目录路径,选择默认路径即可。

选择暂存目录路径

输入暂存目录路径,选择默认路径即可。

选择是否备份扩展的属性

选择备份扩展的属性,选择 yes。

备份机器的内核

默认直接选择 OK 回车即可。

验证备份文件

如要验证你的备份文件,在 Mondo 创建备份文件之后,选择 “Yes” 即可。

到这步骤之后软件会自动去备份(创建“/”文件系统目录、文件列表划分为集合、调用 MINDI、创建 boot+data 磁盘、备份文件系统、备份大文件、运行 mkisofs、创建 ISO 镜像文件、验证 ISO 镜像的压缩包、验证 ISO 镜像的大文件等)执行过程中无需人工交互操作。

最后,mondo archive 已经结束了它的运行,归档完成,选择 OK 回车键返回到shell 提示符界面中。

这时我们回到/var/cache/mondo/目录下验证是否有一个 ISO 镜像文件。

# cd /var/cache/mondo/
# ls
difflevel.0  mondorescue-1.iso

到这步后,你就可以将备份镜像刻录到 CD/DVD 中了,便于以后恢复系统使用,可以用 Mondo 生成的 ISO 镜像引导操作系统,在引导提示符界面中选择“(手动输入)nuke”类型,恢复文件。

以上为 CentOS 为例,下面简单的以 Ubuntu 操作系统为例,可以使用remastersysremastersys-gui工具。

Remastersys 可以将你安装的 Ubuntu、Debian 及其衍生版打包成一个可以用来安装的 Live CD/DVD 的 ISO 镜像文件,可打包一个包含个人数据的 ISO 镜像文件作为操作系统备份,也可以打包一个不包含个人数据的 ISO 镜像文件发布给其他人安装。

Remastersys 包下载

$ mkdir tools
$ cd tools/
$ wget ftp://ftp.gwdg.de/pub/linux/easyvdr/mirror/remastersys/ubuntu/remastersys/remastersys_3.0.4-2_all.deb 
$ wget ftp://ftp.gwdg.de/pub/linux/easyvdr/mirror/remastersys/ubuntu/remastersys-gui/remastersys-gui_3.0.4-1_amd64.deb

安装 Remastersys 依赖

$ sudo apt-get install syslinux-utils isolinux squashfs-tools casper libdebian-installer4 ubiquity-frontend-debconf user-setup discover xresprobe systemd

安装 Remastersys-gui 依赖

$ sudo apt-get install libvte-common libvte9 plymouth-x11

开始安装 Remastersys

$ cd tools/
$ sudo dpkg -i remastersys_3.0.4-2_all.deb
$ sudo dpkg -i remastersys-gui_3.0.4-1_amd64.deb

Remastersys 备份操作系统

命令行模式:

$ sudo remastersys backup

图形化模式:

$ sudo remastersys-gui
Reference

[1] http://www.mondorescue.org/
[2] https://www.iteye.com/blog/haiwei2009-2083177
[3] https://www.cnblogs.com/winstom/p/9675891.html
[4] https://blog.csdn.net/weixin_41078837/article/details/80575920
[5] https://blog.csdn.net/dearfinance/article/details/72722168?utm_source=blogxgwz0
[6] https://blog.csdn.net/u012209894/article/details/52983062


原创不易,码字不易。 觉得这篇文章对你有点用的话,麻烦你为本文点个赞,或转发一下,因为这将是我输出更多优质文章的动力,感谢!

⬇⬇⬇⬇⬇⬇⬇⬇

<think>好的,我现在需要回答用户关于如何在Linux中创建ISO镜像文件的问题。首先,我得仔细阅读用户提供的引用资料,看看有哪些可用的信息。 用户提到了三个引用。引用[1]和[3]是关于制作ISO镜像的,而引用[2]是关于验证ISO镜像的。用户的问题主要集中在创建ISO文件上,所以重点应该放在引用[1]和[3]上。特别是引用[3]提到了使用mkisofs命令根据目录创建ISO,并且具备启动功能。引用[1]也提到在Linux制作可启动的img/iso文件的方法,可能需要使用dd命令或其他工具。 接下来,我需要整理步骤。制作ISO镜像通常有两种情况:从现有光盘或设备创建,或者从目录生新的ISO。对于从光盘创建,dd命令是常用的工具,例如`dd if=/dev/cdrom of=image.iso`。而从目录生的话,mkisofs或genisoimage命令更合适,如引用[3]中的示例`mkisofs -r -o filename.iso /home/user`。 另外,用户可能还需要知道如何制作可启动的ISO。这时候可能需要结合使用mkisofs的参数,比如添加-b选项指定引导镜像。引用[1]提到制作可启动的镜像,可能需要使用类似的方法,或者使用xorriso这样的高级工具。 然后,验证ISO镜像的正确性也很重要,引用[2]提到验证ISO的完整性和可靠性,例如通过校验SHA256哈希值。虽然用户的问题主要是创建,但作为补充信息,可以提到验证步骤,这样回答更全面。 需要确保命令的语法正确,比如正确使用选项参数。例如,mkisofs的-o指定输出文件,-r设置Rock Ridge扩展,-J启用Joliet扩展等。如果有制作可启动ISO的需求,可能需要使用-eltorito-boot选项指定引导文件。 还要注意用户是否提到需要包含系统文件,比如将整个系统制作ISO。如果是系统备份,可能需要使用其他工具,比如Clonezilla或者使用dd命令备份整个分区,但这可能与制作可启动ISO有所不同。根据引用内容,用户可能是指从现有系统目录创建ISO,所以应重点放在目录生的方法上。 最后,生相关问题需要考虑用户可能进一步想知道的内容,比如验证镜像、优化ISO大小、添加启动选项等。结合引用中的信息,可以生相关问题,引导用户进一步学习。</think>### 如何在Linux中创建ISO镜像文件 #### 方法1:从光盘/设备生ISO镜像 **适用场景**:将物理光盘或USB设备转换为ISO文件。 **命令工具**:`dd` **操作步骤**: 1. 插入光盘或连接设备,通过`lsblk`或`mount`命令确认设备路径(如`/dev/sr0`或`/dev/sdb`)。 2. 使用`dd`命令复制内容到ISO文件: ```bash dd if=/dev/sr0 of=output.iso bs=2048 ``` - `if`:输入设备路径 - `of`:输出文件名 - `bs`:块大小(默认2048,与光盘扇区对齐) **注意**:需确保设备未被挂载,否则可能导致数据不一致[^1]。 --- #### 方法2:从目录生ISO镜像 **适用场景**:将本地文件或系统目录打包为ISO文件。 **命令工具**:`mkisofs`或`genisoimage` **操作步骤**: 1. 安装工具(如未预装): ```bash sudo apt install mkisofs # Debian/Ubuntu sudo yum install genisoimage # CentOS/RHEL ``` 2. 使用以下命令生ISO: ```bash mkisofs -r -J -o output.iso /path/to/directory ``` - `-r`:启用Rock Ridge扩展(保留文件权限和符号链接) - `-J`:启用Joliet扩展(兼容Windows文件名) - `-o`:指定输出文件名[^3]。 --- #### 方法3:创建可启动ISO镜像 **适用场景**:制作包含引导功能的系统安装镜像或Live CD。 **命令工具**:`xorriso`(高级工具) **操作步骤**: 1. 准备引导文件(如`isolinux.bin`或`grub`引导记录)。 2. 使用`xorriso`构建镜像: ```bash xorriso -as mkisofs -b boot/grub/eltorito.img -no-emul-boot -boot-load-size 4 -boot-info-table -o bootable.iso ./source_dir ``` - `-b`:指定引导镜像文件 - `-no-emul-boot`:禁用模拟启动模式 - `-boot-info-table`:写入引导信息表。 --- #### 验证ISO镜像完整性(可选) 下载或生ISO后,可通过以下方式验证: 1. **计算哈希值**: ```bash sha256sum output.iso ``` 对比结果与官方提供的哈希值是否一致[^2]。 2. **挂载测试**: ```bash mount -o loop output.iso /mnt ``` 检查文件是否可正常访问。 ---
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值