用Grub启动ISO

近期作死在服务器里换系统,客户回复实在太慢,最后自己动手,丰衣足食,所以我选择用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,从里面找到loaderargs,其中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

以后有时间一定会增加

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,915评论 9 468
  • 4.x86 CPU架构设计 4.1.x86硬件需求 对于通用交换机硬件需求,请参阅“交换机硬件需求”章节描述。 x...
    半天妖阅读 10,909评论 0 1
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,187评论 2 33
  • 当前顶级发行版概览   对于Linux新手来说,在各发行版之间困惑得进行选择和不断增加的数量实在令人头晕。这就是写...
    David_Peng阅读 11,359评论 0 16
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,442评论 19 139