livecd简介

LiveOS image - Fedora Project Wiki

Fedora-Workstation-Live.iso
  !(mount)
  /EFI
  /image
  /isolinux
  /LiveOS
      |- squashfs.img
           !(mount)
           /LiveOS
               |- rootfs.img
                    !(mount)
                    /bin -> usr/bin
                    /boot
                    /dev
                    /etc
                    /home
                    /lib -> usr/lib
                    /lib64 -> usr/lib64
                    /lost+found
                    /media
                    /mnt
                    /opt
                    /proc
                    /root
                    /run
                    /sbin -> usr/sbin
                    /srv
                    /sys
                    /tmp
                    /usr
                    /var

squashfs.img

/LiveOS
    |- rootfs.img    (This contains a filesystem of type ext4. Before F-24 it was named ext3fs.img.)

/EFI
/images
/isolinux
/LiveOS
    |- squashfs.img
    
  (Systems before Fedora 24 also had these files
    |- livecd-iso-to-disk  -  a Bash script for installing the LiveOS image onto a USB device
    |- osmin.img  -  a minimized OS image formerly used to aid installation to a hard disk

#!/bin/bash

#创建工作目录
mkdir -p iso/newiso
mkdir -p iso/unsq
echo "创建工作目录"
echo "==============================="
#挂载镜像并全部复制出来
echo "复制镜像"
mount -o loop centos7-livecd.iso /tmp
cp -rp /tmp/* iso/newiso
umount /tmp
echo "复制镜像完成"
echo "==============================="

#解压squashfs
echo "解压squashfs"
cp iso/newiso/LiveOS/squashfs.img iso/unsq
unsquashfs iso/unsq/squashfs.img 
mv squashfs-root iso/unsq
echo "解压完成"
echo "==============================="

#挂载ext3fs.img
mount -o loop,rw iso/unsq/squashfs-root/LiveOS/ext3fs.img /tmp
echo "挂载"
echo "==============================="

#将备份的系统写入文件系统
echo "备份的系统写入ext3fs.img"
tar xf ./backos.tgz -C /tmp
#编辑镜像区域
#
#
umount /tmp
echo "写入完成!!"
echo "==============================="

echo "重建squashfs"
mv iso/unsq/squashfs.img iso/unsq/squashfs.img.bak
mksquashfs iso/unsq/squashfs-root iso/unsq/squashfs.img -comp xz -Xdict-size 1M -b 1M
cp iso/unsq/squashfs.img iso/newiso/LiveOS/squashfs.img
du -sh iso/newiso/LiveOS/squashfs.img
echo "重建完成"

echo "开始重建镜像"
cd iso/newiso
mkisofs -R -b isolinux/isolinux.bin -c isolinux/boot.cat -o /tmp/MyLiveCD.iso -V "centos7-livecd" -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -bisolinux/efiboot.img -no-emul-boot -allow-limited-size .
echo "重建镜像完成!!新镜像/tmp/MyLiveCD.iso"

备份的时候不要备份/etc/fstab和boot proc目录 镜像将不重要的删除

1备份完成的TeClient系统

         tar –zcvf /mnt/backos.tgz  --exclude=/etc/fstab –exclude=/boot –exclude=/proc –exclude=/sys –exclude=/mnt –exclude=/media /

 LiveCD 制作
制作需要的工具:
         livecd-tool 包
         TeClient的iso目录(将TeClient的iso文件拷到一个目录下面)
         genisoimage iso生成工具
思路:
         配置好一个完整的LINUX系统,将此系统打包
         使用livecd-tools工具 生成一个压缩镜像(镜像里面装的是一个最小化系统)
         解压缩,然后将打包好的LINUX解压的里面,最后生成压缩镜像
         将生成好的压缩镜像拷入到LINUX的iso里面
最后配置菜单生成iso
 
注意:
使用tar将系统拷贝到压缩镜像时,压缩镜像之后4G的大小,
         配置菜单的时候,要在kernel行加入biosdevname=0  net.ifnames=0
         否则网卡名不会是eth0
         备份的时候不要备份/etc/fstab和boot proc目录 镜像将不重要的删除
1备份完成的TeClient系统
         tar –zcvf /mnt/backos.tgz  --exclude=/etc/fstab –exclude=/boot –exclude=/proc –exclude=/sys –exclude=/mnt –exclude=/media /
 
2 生成压缩镜像
定义最小化安装的ks文件,用来安装最小化系统
vi ks.cfg
lang en_US.UTF-8
keyboard us
timezone Asia/Shanghai
auth --useshadow --enablemd5
selinux --disabled
firewall --disabled
repo  --name=a-base  --baseurl=http://mirrors.163.com/centos/7/os/$basearch/
repo --name=a-epel   -baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
repo --name=a-extras   --baseurl=http://mirrors.163.com/centos/7/extras/$basearch/
repo --name=a-centosplus --baseurl=http://mirrors.163.com/centos/7/centosplus/$basearch/
repo --name=a-live    --baseurl=http://www.nanotechnologies.qc.ca/propos/linux/centos-live/$basearch/live
%packages
bash
kernel
syslinux
passwd
policycoreutils
perl
firewalld
chkconfig
authconfig
rootfiles
comps-extras
xkeyboard-config
grub2
coreutils
parted
%end
 
安装livecd-tools工具
yum install –y livecd-tools
生产最小化镜像
livecd-creator --config=ks.cfg --cache=/home/livecd/cache --tmpdir=/home/livecd/tmp
当前目录下面会生成一个livecd-ks-xxxx.iso
 
3 解压缩,将备份好的系统解压到生成的压缩镜像内
         准备一个挂着目录  /home/livecd/test
         准备一个存放零时文件目录 /temp/tmp
         mkdir –p /temp/tmp
         mkdir –p /home/livecd/test
         mount -o loop,rw livecd-ks-201702041124.iso /home/livecd/test
cp -a /home/livecd/test/LiveOS/squashfs.img /temp/tmp
umount /home/livecd/test
cd /temp/tmp/
unsquashfs squashfs.img
cd squashfs-root/LiveOS
mount -o loop,rw ext3fs.img /home/livecd/test
tar xf /mnt/backos.tgz –C /home/livecd/test
umount /home/livecd/test
cd /temp/tmp/
mv squashfs.img squashfs.img.bak
mksquashfs squashfs-root squashfs.img
 
4,将生成的squashfs.img 复制到TeClient的iso里面 然后生成iso
    TeClient 的iso目录 /TeClient/test_Teclient
    cp /temp/tmp/squashfs.img   /TeClient/test_Teclient/LiveOS
         修改iso文件里面的sha256的值
         查看squashfs.img 的sha256值
[root@pdj LiveOS]# sha256sum squashfs.img
25075a6f7d9b7588b0587ac677c55f72981cdf038daa2e73dd18a321054cbf2b  squashfs.img
vi /TeClient/test_Teclient/.treeinfo
LiveOS/squashfs.img = sha256:25075a6f7d9b7588b0587ac677c55f72981cdf038daa2e73dd18a321054cbf2b
 
5 修改菜单/TeClient/test_Teclient /isolinux/isolinux.cfg
vi /TeClient/test_Teclient /isolinux/isolinux.cfg
MENU SEPARATOR
label linux
 menu label [ ^I ] TeClient LiveCD
         kernel vmlinuz biosdevname=0  net.ifnames=0
 append  initrd=initrd.img inst.stage2=hd:LABEL=TeClient rd.live.image quiet
 
生成iso文件
         cd /TeClient
genisoimage -quiet -V "TeClient" -J -R -T -v -boot-info-table -no-emul-boot -boot-load-size 4 –b isolinux/isolinux.bin -c isolinux/boot.cat -o /pub/livecd_teclient.iso test_Teclient/
 
 
补充:       
     解决ext3fs.img文件只有4G的问题
 
将ext3fs.img 扩展4G空间
dd if=/dev/zero of=test count=4096 bs=1M
cat test >> ext3fs.img
e2fsck -f ext3fs.img
resize2fs ext3fs.img

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Live CD 是一种可以在计算机上启动的操作系统,它不需要安装在硬盘上,而是从 CD、DVD 或 USB 设备等可移动设备中启动。如果您忘记了您的操作系统的密码,您可以使用 Live CD 来重置密码。 以下是使用 Live CD 重置密码的步骤: 1. 下载并烧录 Live CD:您可以从网上下载 Ubuntu、Fedora、Kali LinuxLinux 发行版的 Live CD。然后,您需要将其烧录到 CD、DVD 或 USB 设备中。 2. 启动计算机:将 Live CD 插入计算机,并重新启动计算机。在启动过程中,您需要进入计算机的 BIOS 设置,并将 CD/DVD 或 USB 设备设置为启动设备。 3. 进入 Live CD:启动计算机后,您会进入 Live CD 的桌面环境。这个环境与您平常使用的操作系统不同,但可以使用类似的界面和应用程序。 4. 打开终端:在 Live CD 中,打开终端并输入以下命令: ``` sudo fdisk -l ``` 该命令将显示您计算机上的硬盘分区情况。请记住您的 Linux 系统分区的名称,例如 `/dev/sda1`。 5. 挂载 Linux 系统分区:输入以下命令以挂载 Linux 系统分区: ``` sudo mount /dev/sda1 /mnt ``` 请将 `/dev/sda1` 替换为您的 Linux 系统分区名称。 6. 修改密码:输入以下命令以修改密码: ``` sudo chroot /mnt passwd username ``` 请将 `username` 替换为您要重置密码的用户名。然后,您会被要求输入新密码。 7. 重启计算机:完成密码重置后,断开 Live CD,并重新启动计算机。您现在可以使用新密码登录您的系统了。 请注意,这些步骤仅适用于 Linux 操作系统。如果您使用的是 Windows 操作系统,您可以使用类似的方法重置密码,但具体步骤可能有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值