近期作死在服务器里换系统,客户回复实在太慢,最后自己动手,丰衣足食,所以我选择用Grub(Grub2)来启动安装镜像。以下分享一些我成功的经验。
通用
menuentry "Name" {
set root=(hdx,y)
set isofile='/isofile.iso'
set loader='/foo'
loopback loop $isofile
linux (loop)$loader/linux args
initrd (loop)$loader/initrd
}
解释
root
:ISO文件所在盘
isofile
:ISO文件所在目录
loader
:ISO文件中linux和initrd所在目录
linux
:加载内核的命令,后面的args
为内核参数
建议打开ISO文件,从里面找到grub.cfg,从里面找到loader
和args
,其中args
可能需要做一些修改。
以下为我尝试的一些发行版的启动方法。
openSuSE
menuentry "openSUSE" {
load_video
insmod gzio
insmod part_msdos
insmod ext2
set root='(hdx,y)'
set isofrom_device='/dev/sdax'
set isofrom_system='/opensuse.iso'
set loader='/boot/x86_64/loader'
loopback loop $isofrom_system
linux (loop)$loader/linux isofrom_device=$isofrom_device isofrom_system=$isofrom_system ramdisk_size=512000 ramdisk_blocksize=4096 ro quiet splash $vt_handoff preloadlog=/dev/null showopts
initrd (loop)$loader/initrd
}
使用的镜像为openSUSE-Tumbleweed-NET-x86_64-Current.iso。
Fedora
menuentry 'Fedora' {
set isofile='/fedora.iso'
set loader='/isolinux'
loopback loop $isofile
linux (loop)$isolinux/vmlinuz inst.stage2=http://mirrors.tuna.tsinghua.edu.cn/fedora/releases/27/Everything/x86_64/os/ ro liveimg quiet rhgb rd.luks=0 rd.md=0
initrd (loop)/isolinux/initrd.img
}
使用镜像为Fedora-Everything-netinst-x86_64-27-1.6.iso
以后有时间一定会增加