ubuntu18将现有系统打包成iso

文章目录

参考:https://blog.csdn.net/qq_29022265/article/details/105876264

1 使用systemback

安装systemback

sudo add-apt-repository --remove ppa:nemh/systemback
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 382003C2C8B7B4AB813E915B14E4942973C62A1B
sudo add-apt-repository "deb http://ppa.launchpad.net/nemh/systemback/ubuntu xenial main"
sudo apt update
sudo apt install systemback

制作iso镜像

sudo systemback

制作时记住勾选用户数据,否则备份出来的so会有一些文件不见

iso镜像使用效果

【问题1】 initrd被备份为initrd.gz
多了一个后缀,需要在配置grub的时候修改对应配置

【问题2】据说制作出来的iso没有grub
由于我是利用系统外的grub做引导,所以就避开了这个问题,有兴趣的可以试试

【问题3】运行sudo systemback如果出现以下情况
Unsafe X Window authorization!

Please do not use ‘sudo’ command.
解决方法:
/usr/lib/systemback/sbsustart systemback

其他使用目前没有发生什么问题

ps: 经测试,使用systemback制作的iso可以写到u盘充当启动盘,但无法安装系统。
也可以拷贝到硬盘中,通过grub2 引导 iso启动

2 利用squashfs

参考 https://www.cnblogs.com/liangxiaofeng/p/5105803.html
思路是,先制作filesystem.squashfs,替换掉iso中的文件,最后再生成新iso。以下内容ubuntu18 server上测试通过

1)制作filesystem.squashfs
文章中的脚本最后在github上找到,下载位置
https://github.com/a1ive/lub

运行脚本
sudo ./lub -b
按照脚本中的提示就可以顺利得到一个filesystem.squashfs. 注意按照提示不要排除其他文件夹,直接回车即可.(我尝试排除了一些,结果生成的文件有点问题)

将要备份系统。建议退出其他程序。继续?(y/n)
y
指定一个空目录 (绝对路径) 来存放备份。
可以从 Nautilus 文件管理器拖放目录至此。
可以使用移动硬盘。
如果不指定, 将会存放到 /home/weig/backup-2020.11.27
/mnt/sdc/backup
是否排除 /home 里所有的用户文件? (y/n)
y
是否也排除 /home 里所有的用户配置文件(隐藏文件)? (y/n)
y
是否排除已下载软件包在 /var/cache/apt/archives/ 里的本地缓存 ? (y/n)
y
(高级用户功能)指定其他需要排除的文件/目录, 一行写一个。以空行结束。
可以从 Nautilus 文件管理器拖放至此。
注意程序已经自动排除所有移动设备, windows 分区, 手动挂载的所有设备, /proc, /sys, /tmp 下的文件, wubi 的 /host 内容, 等等。
所以在绝大多数情况下你只需要直接回车就可以了。
如果你排除了重要的系统文件/目录, 不要指望你的备份能够工作。

ls: cannot access '/tmp/bind/media/*': No such file or directory
开始备份?(y/n)
y

...

已备份至 /mnt/sdc/backup。请阅读里面的 menu.lst :)

2)导入一个正常iso中除了filesystem.squashfs的其他部分
这里使用官方ubuntu18 livecd 的iso

#in
sudo mkdir ubuntuiso
#out
sudo mkdir livecd
#挂载iso镜像
$ sudo mount -o loop ./ubuntu-18.04.5-live-server-amd64.iso ./ubuntuiso/
mount: /mnt/sdc/ubuntuiso: WARNING: device write-protected, mounted read-only.
#同步iso主体内容
sudo rsync --exclude=*.squashfs -a ./ubuntuiso/* ./livecd
#拷贝自己的squashfs,自己注意名字
sudo cp ./sqfs/backupxxxx.squashfs ./livecd/casper/filesystem.squashfs

3)重新打包iso

sudo apt install mkisofs
cd livecd
sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-custom-livecd.iso .

ps: 以上为全部内容。 按道理说还要关注下filesystem.manifest,md5sum.txt等。但是我跳过了,好像也没出现啥毛病。

PS:经测试,使用该方法制作的iso 仅可以放到磁盘上通过grub引导启动。不能使用u盘充当启动盘。暂时还不知啥原因

    原文作者:狂奔的CD
    原文地址: https://blog.csdn.net/kkae8643150/article/details/109045456
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞