自定义Linux ISO live 启动(PE)镜像总结

这里母盘制作使用Linux Mint

制作母盘需要安装的扩展脚本https://cloud.189.cn/t/quqQBfzEnmYf (访问码:0pyi)

cn.i8520.toolbox.deb   cn.i8520.conky.deb根具你的需求安装这个

这是第一个帖子,制作 filesystem.squashfs 文件系统的教程 :

最简单制作LIVE CD的办法- Community - Deepin Technology

核心命令

#挂载母盘的路径
ABC="/media/i8520/3c4ce3cc-b53e-48b9-bc37-e8c23fb295c6"
#标准压缩模式启动速度快
sudo mksquashfs ${ABC} filesystem.squashfs
#最大压缩模式,启动速度慢
sudo mksquashfs ${ABC} filesystem.squashfs -comp xz

这是使用GURB2引导Linux iso镜像的(Linux iso本身不需要可引导) :

grub引导LinuxMint iso镜像- Community - Deepin Technology

修改UUID的帖子:修改Linux 分区 UUID- Community - Deepin Technology


这里使用服务的方式启动挂载脚本

User=i8520  i8520是用户名 是在制作filesystem.squashfs时候的用户名

OK-MONUT.service

[Unit]
Description=OK-MONUT[Service]
Type=simple
User=i8520
ExecStart=/opt/i8520/OK-MONUT
KillMode=process
ExecStop=[Install]
WantedBy=multi-user.target

创建服务:

sudo ln -s /opt/i8520/OK-MONUT.service /etc/systemd/system
sudo systemctl daemon-reload
sudo systemctl enable OK-MONUT.service

挂载脚本OK-MONUT

#!/bin/bash
#-----------------------------
# 在mint无法使用开机脚步也就是当前脚本启动docker,其他系统未知
# 为了容易获取UUID建议在分配分区时,候使用 GParted 设置卷标 分区选择exit4
# 卷标不能是中文否则会乱码
#-----------------------------
# 自动响应sudo密码
# key 的直是密码
#-----------------------------
#最外面的一个函数
i8520_link_dir(){
#在制作filesystem.squashfs设在的密码
key='lcs520..!'
shijian=`date +%Y年%m月%d日%H:%M:%S`
echo "${key}" | sudo -S $shijian > /dev/null 2>&1
#预处理
USRE_NAME=`/opt/i8520/MY-USER-PWD`
sudo /opt/i8520/CCCX /media/$USRE_NAME
sudo /opt/i8520/CCCX 750 /media/$USRE_NAME
MY_OK_MONUT="/tmp/MY_OK_MONUT"
sudo rm -rf ${MY_OK_MONUT}
mkdir -p ${MY_OK_MONUT}
#docker的一些配置文件,执行sudo systemctl restart docker会重新生成
sudo rm -rf /var/lib/docker/*
#-----------------------------
# 导出硬盘设备名字
# SATA nvme
#-----------------------------
sudo blkid | grep "/dev/sd" | awk '{print $1}' | sed 's/://g' > ${MY_OK_MONUT}/SATA.log
sudo blkid | grep "/dev/nvme" | awk '{print $1}' | sed 's/://g' > ${MY_OK_MONUT}/nvme.log
#-----------------------------
# 遍历卸载 机械硬盘的脚本
#-----------------------------
MYSATA(){
filename="${MY_OK_MONUT}/SATA.log"  
while IFS= read -r line
doecho "umount $line" >> ${MY_OK_MONUT}/SATA.log.x
done < "$filename"
sed '1i\#!/bin/bash' ${MY_OK_MONUT}/SATA.log.x > ${MY_OK_MONUT}/SATA.log.sh
sudo /opt/i8520/CCCX 750 ${MY_OK_MONUT}/SATA.log.sh
}
MYSATA
#-----------------------------
# 遍历卸载 nvme硬盘的脚本
#-----------------------------
MYNVME(){
filename="${MY_OK_MONUT}/nvme.log"  
while IFS= read -r line
doecho "umount $line" >> ${MY_OK_MONUT}/nvme.log.x
done < "$filename"
sed '1i\#!/bin/bash' ${MY_OK_MONUT}/nvme.log.x > ${MY_OK_MONUT}/nvme.log.sh
sudo /opt/i8520/CCCX 750 ${MY_OK_MONUT}/nvme.log.sh
}
MYNVME
#-----------------------------
# 执行卸载硬盘
#-----------------------------
sudo ${MY_OK_MONUT}/SATA.log.sh
sudo ${MY_OK_MONUT}/nvme.log.sh
#-----------------------------
# 挂载分区
#-----------------------------
MYTumount(){
sudo rm -rf /home/*
#挂载用户目录,可以理解为桌面,这样可以在桌面保存东西
echo "UUID=7eb8c958-65af-4cc2-8946-261d7096bb0a /home             ext4 defaults 0  2" | sudo tee -a /etc/fstab > /dev/null 2>&1
#挂载docker目录
echo "UUID=c4f7099f-b57f-4baf-9d7d-2417f933fe1a /var/lib/docker   ext4 defaults 0  2" | sudo tee -a /etc/fstab > /dev/null 2>&1
echo "UUID=aeb78a7a-31d3-413f-9388-127ea0d72cfe /opt/data/shell   ext4 defaults 0  2" | sudo tee -a /etc/fstab > /dev/null 2>&1
echo "UUID=24ea6448-1b9a-46ef-a2b7-7f24e440036c /opt/data/Weather ext4 defaults 0  2" | sudo tee -a /etc/fstab > /dev/null 2>&1
#挂载SMB共享目录
echo "UUID=8848285b-e13e-49c2-85c3-25978ac518f9 /opt/data/SmbFile ext4 defaults 0  2" | sudo tee -a /etc/fstab > /dev/null 2>&1
echo "UUID=883dd58e-61cf-4184-9c63-5059af2b156f none    swap    sw          0      0" | sudo tee -a /etc/fstab > /dev/null 2>&1
#激活挂载
sudo mount -a
#重启桌面管理器
sudo service lightdm restart
sleep 1
}
MYTumount}#-----------------------------
# 避免重复挂载
#-----------------------------
ReadFstabUuid="c4f7099f-b57f-4baf-9d7d-2417f933fe1a"
CatFsta=`cat /etc/fstab|grep "${ReadFstabUuid}"|wc -l`
Quantity='1'
if [[ ! X${Quantity} = X${CatFsta} ]];thenecho "不存在"i8520_link_direlseecho "存在"
fiexit 0

grub.cfg

set timeout=0
set default=0
set fallback=1
set color_normal=white/black
set menu_color_normal=white/black
set color_highlight=black/light-gray
export color_normal menu_color_normal color_highlight;
#----------------------
#加载文件系统支持
insmod part_gpt
insmod part_msdos
insmod fat
insmod ntfs
insmod ext2
insmod exfat
insmod btrfs
insmod gfxterm
insmod png
insmod all_video
insmod iso9660
insmod udf
#------------------------
function load_video {if [ x$feature_all_video_module = xy ]; theninsmod all_videoelseinsmod efi_gopinsmod efi_ugainsmod ieee1275_fbinsmod vbeinsmod vgafi
}
#设置显示模式
insmod font
if loadfont ${prefix}/Fonts/unicode.pf2; thenset gfxmode=autoset gfxpayload=keepexport gfxmodeload_videoinsmod all_videoinsmod video_bochsinsmod video_cirrusinsmod fontinsmod gfxterminsmod gfxmenuinsmod gettextinsmod jpeginsmod pngif terminal_output gfxterm; thenset locale_dir=/boot/grub/Locale/set lang=zh_CNexport langfi
fi
#------------------------
#设置背景图片 boot/gurb/image
terminal_output  gfxterm
background_image $prefix/image/TETER.png
#------------------------
#启动镜像
menuentry "Mint 21.2 镜像系统" -class gnu-linux -class gnu -class os {echo ""echo "正在启动 Mint 21.2 镜像系统......"set gfxpayload=keepinsmod xzioset isofile=/pe/LinuxMint21.2/VM17-Mint-21.3-DOCKER-SMB.iso#/boot/grub/MYi8520 创建的空文件search --file --no-floppy --set=root /boot/grub/MYi8520loopback loop $isofile# username=mint 用户名,如果使用制作 filesystem.squashfs一样的用户名就免密码# quiet splash --linux (loop)/casper/vmlinuz boot=casper hostname=DOCKER iso-scan/filename=$isofilelocales=zh_CN.UTF-8initrd (loop)/casper/initrd.lz
}

 包含Windows启动项目

set timeout=30
set default=0
set fallback=1
set color_normal=white/black
set menu_color_normal=white/black
set color_highlight=white/black
export color_normal menu_color_normal color_highlight;
#----------------------
#加载文件系统支持
insmod part_gpt
insmod part_msdos
insmod fat
insmod ntfs
insmod ext2
insmod exfat
insmod btrfs
insmod gfxterm
insmod png
insmod all_video
insmod iso9660
insmod udf
#------------------------
if [ "$grub_platform" = "pc" ]; theninsmod all_videoinsmod vbeinsmod vgaelif [ "$grub_platform" = "efi" ]; theninsmod efi_gopinsmod efi_ugafi
#设置显示模式
insmod font
if loadfont ${prefix}/Fonts/unicode.pf2; thenset gfxmode=autoset gfxpayload=keepexport gfxmodeinsmod all_videoinsmod video_bochsinsmod video_cirrusinsmod fontinsmod gfxterminsmod gfxmenuinsmod gettextinsmod jpeginsmod pngif terminal_output gfxterm; thenset locale_dir=/boot/grub/Locale/set lang=zh_CNexport langfi
fi
#------------------------
#设置背景图片 boot/gurb/image
terminal_output  gfxterm
background_image $prefix/image/TETER.png
#------------------------
#启动linuxmenuentry "Mint 21.2 镜像系统" -class gnu-linux -class gnu -class os {echo ""echo "正在启动 Mint 21.2 镜像系统......"set gfxpayload=keepinsmod xzioset isofile=/pe/LinuxMint21.2/VM17-Mint-21.3-DOCKER-SMB.isosearch --file --no-floppy --set=root /boot/grub/MYi8520loopback loop $isofilelinux (loop)/casper/vmlinuz boot=casper hostname=DOCKER iso-scan/filename=$isofilelocales=zh_CN.UTF-8initrd (loop)/casper/initrd.lz}#启动Windows
if [ "$grub_platform" = "pc" ]; then# BIOS 引导配置menuentry "USM 系统总裁PE" --class=windows --class=os --hotkey=1 {echo ""echo "正在启动 USM 系统总裁PE....."insmod ntldrsearch --file --no-floppy --set=root /boot/grub/MYi8520ntldr ($root)/boot/grub/BOOTMGR}
elif [ "$grub_platform" = "efi" ]; then# EFI 引导配置menuentry "USM 系统总裁PE" --class=windows --class=os --hotkey=1 {echo ""echo "正在启动 USM 系统总裁PE....."search --file --no-floppy --set=root /boot/grub/MYi8520terminal_output consolechainloader ($root)/EFI/MICROSOFT/BOOT/bootmgfw.efi}
fi

以上代码是在制作母盘时候的要主要的是 filesystem.squashfs打包完成后记得修改OK-MONUT文件的名字,以免对母盘系统需要修改时造成无法进入桌面


使用制作好的Linux ISO live  视频

【自定义Linux ISO live 启动(PE)镜像】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/33080.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sapphire开发日志 (十) 关于页面

关于页面 任务介绍 关于页面用户对我组工作量的展示。 实现效果 代码解释 首先封装一个子组件用于展示用户头像和名称。 const UserGrid ({src,name,size,link, }: {src: any;name: any;size?: any;link?: any; }) > (<Box sx{{ display: "flex", flex…

边缘计算和本地计算有什么区别

边缘计算和本地计算是两种不同的计算模式&#xff0c;它们在数据处理的位置、网络依赖性、响应时间、资源利用和应用场景等方面存在显著差异。 ### 边缘计算&#xff08;Edge Computing&#xff09; 边缘计算是一种分布式计算范式&#xff0c;它将数据处理和计算任务从集中式…

每日一练:攻防世界:5-1 MulTzor

一、XorTool 基于 XOR&#xff08;异或&#xff09;运算实现。它可以帮助您快速地对文本、二进制文件进行加密解密操作。 认识XorTool工具&#xff1a; 让我们先去认识一下工具&#xff1a; xortool.py 是基于 python 的脚本&#xff0c;用于完成一些 xor 分析&#xff0c;…

【C语言】多线程

C语言之多线程创建 多线程一、线程创建和回收二、线程属性三、线程分离 最后 多线程 线程是轻量级的线程(LWP:light weight process) 线程是最小执行单位&#xff0c;进程是最小分配资源单位。一个进程可以有多个线程&#xff0c;一个进程可以理解为只有一个线程的进程。 每个线…

3D模型相关生成

3D模型相关生成 1. DreamFusion Model DreamFusion Model 是一种将文本描述转化为三维模型的技术。你可以想象它是一个“魔法翻译器”&#xff0c;你告诉它一个场景或物体的描述&#xff0c;比如“一个飞翔的龙”&#xff0c;它就能生成一个相应的 3D 模型。 原理&#xff1…

测试实习生【面试小结 6.20】

1&#xff0c;自我介绍 2&#xff0c;你为什么要考虑测试这一份工作呢&#xff1f; 首先&#xff0c;据我了解&#xff0c;在近几年&#xff0c;国内对软件测试越来越重视了&#xff0c;并且从用户角度来说&#xff0c;对于同类产品&#xff0c;可能更加注重于产品的质量和服务…

【云计算 复习】第6节 AWS亚马逊

一、基础存储架构Dynamo 1.概述 &#xff08;1&#xff09;为了保证其稳定性&#xff0c;Amazon的系统采用完全的分布式、去中心化的架构。 &#xff08;2&#xff09;Dynamo只支持简单的键值对方式的数据存储&#xff0c;不支持复杂的查询 &#xff08;3&#xff09;Dynamo中…

大语言模型系列-Transformer

Transformer 是一种由 Vaswani 等人在 2017 年提出的大型神经网络架构&#xff0c;广泛应用于自然语言处理任务。Transformer 架构的关键特点在于其基于注意力机制&#xff08;Attention Mechanism&#xff09;&#xff0c;完全摒弃了传统的循环神经网络&#xff08;RNN&#x…

腾讯 MOFA-Video: 可控制图转视频

腾讯 MOFA-Video: 可控制图转视频 MOFA-Video 它支持运动轨迹、人脸关键点并支持将其混合控制图像转换为视频。 混合控制: 结合图像、控制信号和关键点生成动画。 运动画笔: 结合图像、轨迹和画笔生成动画。 控制比例: 调整动画的控制比例&#xff0c;从纯 SVD 到完全控制。 通…

“人工智能+”带来新变化

以生成式人工智能&#xff08;AIGC&#xff09;为代表的新一代人工智能技术创新加速演进&#xff0c;相关商业化应用成果也不断涌现&#xff0c;行业应用范围不断拓展&#xff0c;深度赋能实体经济&#xff0c;为行业提质增效与实现减排提供助力。 自主航运初创公司OrcaAI于6月…

Appium+python自动化(二十一)- 让猴子按你指令大闹手机,让我们都成为耍猴高手(超详解)

宏哥微信粉丝群&#xff1a;https://bbs.csdn.net/topics/618423372 有兴趣的可以扫码加入 简介  一年一度的暑假如期而至&#xff0c;每年必不可少的&#xff0c;便是《西游记》这部经典电视连续剧的播出&#xff0c;作为一名90后&#xff0c;对于这部经典剧的情谊&#xff…

深度学习工具jupyter创建并检测pytorch环境以及安装工具包

1. 前言 确保已经安装Python和anaconda&#xff08;anaconda一般自带jupyter&#xff09;。然后创建一个jupyter环境&#xff0c;查看启动后的new有没有环境选项。 如果遇到了EnvironmentLocationNotFound:Not such a environment。说明conda环境安装位置有问题&#xff0c;往…

Raspberry Pi AI Kit——Hailo-8L安装记录(预告)

Hailo-8的测试见往期文章&#xff0c;最近树莓派发布了官方套件——Raspberry Pi AI Kit&#xff0c;其采用Hailo-8L&#xff0c;算力为13TOPS&#xff0c;是Hailo-8算力的一半&#xff0c;官网地址为 Raspberry Pi AI Kit安装 最近在进行Raspberry Pi AI Kit使用测试 !](htt…

建议收藏!100款宝藏级AIGC工具分享,70款ChatGPT插件惊艳的开发过程与宏大的商业化愿景

建议收藏&#xff01;100款宝藏级AIGC工具分享&#xff0c;70款ChatGPT插件惊艳的开发过程与宏大的商业化愿景。 不输ChatGPT&#xff1f;整理了100款AIGC神器&#xff0c;打工人速进。 说到AIGC工具&#xff0c;你还是只知道ChatGPT&#xff1f; 实际上&#xff0c;越来越多…

景联文科技实力入选「2024中国AI大模型产业图谱1.0版」!

近日&#xff0c;数据智能产业创新服务媒体数据猿联合上海大数据联盟共同发布《2024中国AI大模型产业图谱1.0版》&#xff0c;从大数据和人工智能等智能技术的核心出发&#xff0c;全面覆盖整个产业链&#xff0c;为行业提供更为精细且直观的专业导向。 景联文科技凭借高质量数…

小区业主管理系统

摘 要 随着城市化进程的加速和人口的不断增加&#xff0c;小区的数量也在不断增加。小区作为城市居民居住的主要场所&#xff0c;其管理工作也变得越来越重要。传统的小区业主管理方式存在诸多问题&#xff0c;如信息传递不畅、业务处理效率低下等。因此&#xff0c;开发一个高…

ansible copy模块参选选项

copy模块用于将文件从ansible控制节点&#xff08;管理主机&#xff09;或者远程主机复制到远程主机上。其操作类似于scp&#xff08;secure copy protocol&#xff09;。 关键参数标红。 参数&#xff1a; src:&#xff08;source&#xff1a;源&#xff09; 要复制到远程…

“明天下班以后请假了,孩子中考“

「作者简介」&#xff1a;冬奥会网络安全中国代表队&#xff0c;CSDN Top100&#xff0c;就职奇安信多年&#xff0c;以实战工作为基础著作 《网络安全自学教程》&#xff0c;适合基础薄弱的同学系统化的学习网络安全&#xff0c;用最短的时间掌握最核心的技术。 前几天约服务器…

上海市计算机学会竞赛平台2023年9月月赛丙组点对之和(一)

题目描述 给定两个数列 &#x1d44e;1,&#x1d44e;2,…,&#x1d44e;&#x1d45b;a1​,a2​,…,an​ 与 &#x1d44f;1,&#x1d44f;2,…,&#x1d44f;&#x1d45b;b1​,b2​,…,bn​&#xff0c;保证这些数字是 11 到 &#x1d45b;n 之间的整数&#xff0c;请计算 …

轻轻一按,即可加速您的 Mac

一键智能清理 让你的 Mac 电脑焕然一新 CleanMyMac X 是一款专业的 Mac 电脑清理软件&#xff0c;支持一键扫描 Mac 磁盘垃圾&#xff0c;智能清理垃圾文件和系统语言安装包&#xff0c;快速释放磁盘空间&#xff0c;让你的 Mac 电脑焕然一新&#xff01; 智能扫描一键清理 Ma…