KDE 发表于 2023-3-23 21:58:14

杜甫ipmi 挂载iso 安装系统要几个钟 解决办法之一

本帖最后由 KDE 于 2023-3-25 17:06 编辑

# 创建1GB大小的空镜像
truncate -s 1g memdisk.img

# 加载镜像到驱动器
kpartx -a memdisk.img

# 分区格式化设置引导
parted -s /dev/loop0 mklabel msdos
parted -s /dev/loop0 mkpart primary fat32 2048s 100%
parted -s /dev/loop0 set 1 boot on

# 格式化为FAT 32
mkfs.vfat -F 32 /dev/loop0p1

# 挂载到 /mnt
mount /dev/loop0p1 /mnt

# 安装grub
grub-install --force --removable --no-floppy --target=i386-pc --boot-directory=/mnt/boot /dev/loop0
grub-install --force --removable --no-floppy --target=x86_64-efi --boot-directory=/mnt/boot --efi-directory=/mnt

# 复制memdisk到/mnt根目录
curl -LO https://mirrors.kernel.org/pub/linux/utils/boot/syslinux/Testing/6.04/syslinux-6.04-pre1.tar.gz
tar -xf syslinux-6.04-pre1.tar.gz
cp syslinux-6.04-pre1/bios/memdisk/memdisk /mnt

# 下载iso镜像到根目录
curl -Lo /mnt/memdisk.iso 'https://drive.google.com/uc?export=download&id=19UMiysyARdK0opWA2no9tfRd0TZn63hY'
cp memdisk.iso /mnt

# grub引导菜单 (注意initrd16 /memdisk.iso这里写实际镜像名称)
cat <<EOF> /mnt/boot/grub/grub.cfg
set timeout=10
set default=0

menuentry "Bootable ISO Image: memdisk.iso" {
      insmod part_msdos
      insmod fat
      set root='(hd0,msdos1)'
      linux16 /memdisk iso
      initrd16 /memdisk.iso
}
EOF

# 卸载/mnt 卸载镜像 最高压缩镜像
umount -l /mnt
kpartx -d memdisk.img
gzip -k --best memdisk.img

# DD 镜像到硬盘启动 测试
dd if=memdisk.img of=/dev/sdb bs=512 status=progress









现在这个/dev/sdb硬盘就会把iso加载到内存运行了 实际内存要大 不然会因为内存资源不足 而出错

应用场景 我想到的就是杜甫了 ipmi 挂载镜像的速度不能忍 要好几个钟

我们进入自带的内存救援系统 把这个包含ISO的硬盘镜像DD到硬盘

然后再从硬盘启动,从而进入ISO引导


页: [1]
查看完整版本: 杜甫ipmi 挂载iso 安装系统要几个钟 解决办法之一