如题,经过几天的努力,终于将原来ubuntu上的lub工具修改一下,支持deepin,优麒麟,ubuntu等基于debian发行版热备份订制成livecd的工具.支持在livecd启动下再次订制修改并热备份系统为可启动的livecd.纯ramos,
优麒麟或者ubuntu本身支持casper,直接用lub就行了,先将lub工具复制到/bin下,权限设为755即可。
lub的用法:sudo lub为帮助,sudo lub -b为备份到包,sudo lub -r恢复到分区(支持格式化分区,不支持调整分区)
deepin不支持casper,操作繁琐些,要以下步骤完成。
1、先下载deepin的livecd版本(deepin-live-system-2.0-amd64.iso);
2、再下载原厂的安装deepin-15.6-amd64.iso;
3、假设你已经装好deepin系统,然后运行deepin,旧版系统也行,然后运行deepin,并打开终端,以下步骤全部在终端sudo下执行,先执行su吧;
4、deepin要先挂载(mount)原厂的iso,再挂载iso里面live目录下的系统包;
5、然后将已经挂载原厂系统包里的/lib/modules/下基于版本号的目录cp到当前deepin系统/lib/modules下;
6、再把原厂系统包里的/boot下的initrd.img版本号和vmlinuz.版本号cp到当前系统的/boot目录下;
7、再将lub工具cp到/bin目录下,并将权限设为755即可;
8、开始输入 lub -b,并按提示开始备份系统包,备份完毕之后,用UltraISO打开deepin-live-system-2.0-amd64.iso,将mackup.xxx.squashfs改名替换掉deepin-live-system-2.0-amd64.iso系统的filesystem.squashfs包,initrd.img-xxx改名为initrd.img并替换掉deepin-live-system-2.0-amd64.iso的initrd.img,vmlinuz.xxx改为vmlinuz,替换掉deepin-live-system-2.0-amd64.iso里live目录下的vmlinuz,然后保存即可。
lub.zip (11.83 KB, 下载次数: 45)
成品的deepin的livecd:链接:https://pan.baidu.com/s/1uazpGoOx5t4dWKLjHjlCzw 密码:yv24
成品的UbuntuKylin的livecd:链接:https://pan.baidu.com/s/10mVtCxgbFnam63nNZo9C1g 密码:21b5
两个系统的登录密码都是:xchngg
终端SU密码也是:xchngg
==============启动deepin和优麒麟的iso的grub2命令===========
set isofile=/DeepinOS.iso
if search -s -f $isofile; then
menuentry "启动 DeepinOS Live System (amd64)" --class=deepin {
search -f --no-floppy --set=root $isofile
loopback loop $isofile
set gfxpayload=keep
linux (loop)/live/vmlinuz boot=live findiso=$isofile components quiet splash
initrd (loop)/live/initrd.img
}
fi
menuentry " 启动 Deepin OS System" --class deepin {
#启动deepin安装到分区的命令,请在deepin分区的/boot下新建个大于一字节的文档,名称为DeepinOS
set LinuxOS=/boot/DeepinOS
search -f --no-floppy --set=root $LinuxOS
probe -u --set=uuid ($root)
set gfxpayload=keep
linux /vmlinuz root=UUID=${uuid} components quiet splash
initrd /initrd.img
}
menuentry ' 启动 Deepin OS 15.5 Wubi' --class deepin
#### Wubi 安装的菜单 #######
set DeepinDiskFile=/deepin/disks/root.disk
search --no-floppy -f --set=imgRoot ${DeepinDiskFile}
loopback loop5 ($imgRoot)${DeepinDiskFile}
set root=(loop5)
probe -u --set=DeepinDiskUUID ${imgRoot}
linux (loop5)/boot/vmlinuz-4.9.0-deepin4-amd64 root=UUID=${DeepinDiskUUID} loop=${DeepinDiskFile} boot=lupin splash quiet $vt_handoff
initrd (loop5)/boot/initrd.img-4.9.0-deepin4-amd64
}
############# 优麒麟 菜单 ##############
set UbuntuKylin=/UbuntuKylin.iso
if search -s -f $UbuntuKylin; then
menuentry "启动 UbuntuKylin Live System ISO" class=ubuntukylin {
search -f --no-floppy --set=root $UbuntuKylin
loopback loop $UbuntuKylin
set gfxpayload=keep
linux (loop)/casper/vmlinuz.efi locale=zh_CN keyboard-configuration/layoutcode?=cn file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity iso-scan/filename=${UbuntuKylin} quiet splash ---
initrd (loop)/casper/initrd.lz
}
fi
menuentry " 启动 UbuntuKylin OS System" --class ubuntu {
#启动deepin安装到分区的命令,请在优麒麟分区的/boot下新建个大于一字节的文档,名称为UbuntuKylinOS
set UbuntuKylinOS=/boot/UbuntuKylinOS
search -f --no-floppy --set=root $UbuntuKylinOS
probe -u --set=uuid ($root)
set gfxpayload=keep
linux /vmlinuz root=UUID=${uuid} ro quiet splash $vt_handoff
initrd /initrd.img
}
==================== GRUB4DOS 菜单 =================
如果将vlinuz、initrd.lz和系统包,deepin的放到ntfs的某个分区的/live目录下,优麒麟放到某个ntfs分区的/casper下,能用grub4dos启动.
title Live Deepin OS 15.5 CD
set gfxpayload=keep
find --set-root /live/vmlinuz
kernel /live/vmlinuz boot=live components quiet splash
initrd /live/initrd.img
title Live UbuntuKylin OS 18.04 CD
find --set-root /casper/vmlinuz
kernel /casper/vmlinuz boot=casper ro ignore_uuid
initrd /casper/initrd.img
================================================
要将系统恢复到分区也是用 终端命令sudo lub -r按提示操作即可,deepin因为没有capser组件,要先执行sudo mount --bind / /rofs,然后再执行sudo lub -r。sudo lub是lub的帮助。