使用Grub+Memdisk引导安装任意ISO镜像

思路是将ISO镜像放置于内存盘,并从内存盘启动安装。由于镜像需要安装在内存盘,所以对于内存要求为大于镜像本身体积+镜像运行内存。安装步骤如下:

1、首先确认系统采用grub引导,通过ls /boot/grub2/grub.cfg命令,如果系统返回/boot/grub2/grub.cfg,那么说明为grub,可以采用该方法(centos采用grub2目录,其他系统对应修改)。

有输出为grub。

2、查看系统分区情况,查看命令为df -h。返回只有根目录而没有/boot目录,说明为一个分区,直接按照下文指令即可,多个分区需要修改目录。

挂载点只有根目录。

3、下载需要启动的镜像并放于/boot目录。wget -O /boot/isoboot.iso https://www.ikuai8.com/download.php?n=/3.x/iso/iKuai8_x32_3.4.4_Build202009281633.iso

以爱快系统镜像为例。

4、安装syslinux用于获取启动文件,并复制到启动目录。yum install syslinux -y && cp -f /usr/share/syslinux/memdisk /boot/memdisk,ubuntu为/usr/lib/syslinux/memdisk

本文以centos安装syslinux,ubuntu安装命令注意替换。

5、编辑grub引导文件并添加引导。命令为vim /etc/grub.d/41_custom,修改为以下内容:

#!/bin/sh
cat <<EOF
menuentry 'OS Install' {
    insmod part_msdos
        insmod part_gpt
        insmod ext2
    set root=(hd0,msdos1)
    echo 'Loading memdisk ...'
    linux16 /boot/memdisk raw iso
    echo 'Loading ISO ...'
    initrd16 /boot/isoboot.iso
    echo 'Booting ISO ...'
}
EOF

6、修改grub时间为30S,防止时间太短来不及确认。命令为vim /etc/default/grub

修改第一行时间。

7、更新grub配置文件,centos命令为grub2-mkconfig -o /boot/grub2/grub.cfg,ubuntu命令为update-grub

8、重启选择OS Install进行系统的安装。

9、安装完成。

发表评论