无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 12536|回复: 29
打印 上一主题 下一主题

[求助] UEFI能否启动LinuxCD

[复制链接]
1#
发表于 2015-6-26 10:06:32 | 显示全部楼层
UEFI能否启动LinuxCD,取决于LinuxCD是否支持UEFI启动,ubuntu系列都支持,并且只要一个ISO文件,用GRUB2引导,正确配置引导代码就可以进入 live 模式体验或者安装系统。

点评

阿杰兄 您這段話 正是我所需要的... 能否幫我寫小段範例菜單... 以EFI啟動的grub2...希望能導引直接放在ESP分區根目錄的... clonezilla.iso (linux based) clover.iso (MAC based) 我的RAM夠大(32G) 希望  详情 回复 发表于 2015-6-28 11:18
回复

使用道具 举报

2#
发表于 2015-6-28 19:51:26 | 显示全部楼层
本帖最后由 2011cwj6958 于 2015-6-28 20:55 编辑
peterpanheaven 发表于 2015-6-28 11:18
阿杰兄  您這段話 正是我所需要的...

能否幫我寫小段範例菜單...


clonezilla.iso (linux based)
clover.iso (MAC based)
这两个linux我没有用过,你可以参考iso里面的启动配置文件grub.cfg.
有的linux不一定支持整体启动。需要解开

我的ubuntu系列启动菜單 自动查找所有分区ubuntu 或者linux文件夹里的UBUNTU系列的iso。如果存在,则显示菜單待选择

if  search --file /ubuntu/UBUNTU.iso; then
menuentry "启动UBUNTU LiveCD模式" --class ubuntu {
insmod ntfs
        search -s -f /ubuntu/UBUNTU.iso
        loopback loop ($root)/ubuntu/ubuntu.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu/UBUNTU.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /ubuntu/ubuntu-studio.iso; then
menuentry "启动UBUNTU studio LiveCD模式" --class ubuntustudio {
insmod ntfs
        search -s -f /ubuntu/ubuntu-studio.iso
        loopback loop ($root)/ubuntu/ubuntu-studio.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu/ubuntu-studio.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /ubuntu/ubuntu-gnome.iso; then
menuentry "启动Uubuntu-gnome LiveCD模式" --class ubuntugnome {
insmod ntfs
        search -s -f /ubuntu/ubuntu-gnome.iso
        loopback loop ($root)/ubuntu/ubuntu-gnome.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu/ubuntu-gnome.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /ubuntu/kUBUNTU.iso; then
menuentry "启动kUBUNTU LiveCD模式" --class kUBUNTU {
insmod ntfs
        search -s -f /ubuntu/kubuntu.iso
        loopback loop ($root)/ubuntu/kubuntu.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu/kUBUNTU.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /ubuntu/edubuntu.iso; then
menuentry "启动edubuntu LiveCD模式" --class edubuntu {
insmod ntfs
        search -s -f /ubuntu/edubuntu.iso
        loopback loop ($root)/ubuntu/edubuntu.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu/edubuntu.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /ubuntu/Emmabuntus2.iso; then
menuentry "启动Emmabuntus2 LiveCD模式" --class Emmabuntus {
insmod ntfs
        search -s -f /ubuntu/Emmabuntus2.iso
        loopback loop ($root)/ubuntu/Emmabuntus2.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu/Emmabuntus2.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /ubuntu/Emmabuntus3.iso; then
menuentry "启动Emmabuntus3 LiveCD模式" --class Emmabuntus {
insmod ntfs
        search -s -f /ubuntu/Emmabuntus3.iso
        loopback loop ($root)/ubuntu/Emmabuntus3.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu/Emmabuntus3.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /ubuntu/elementaryos-freya.iso; then
menuentry "启动elementaryos-freya-amd64 LiveCD模式" --class elementaryos {
insmod ntfs
        search -s -f /ubuntu/elementaryos-freya.iso
        loopback loop ($root)/ubuntu/elementaryos-freya.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu/elementaryos-freya.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /ubuntu/elementaryos-stable.iso; then
menuentry "启动elementaryos-stable-amd64 LiveCD模式" --class elementaryos {
insmod ntfs
        search -s -f /ubuntu/elementaryos-stable.iso
        loopback loop ($root)/ubuntu/elementaryos-stable.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu/elementaryos-stable.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /ubuntu/lUBUNTU.iso; then
menuentry "启动lUBUNTU LiveCD模式" --class lUBUNTU {
insmod ntfs
        search -s -f /ubuntu/lubuntu.iso
        loopback loop ($root)/ubuntu/lubuntu.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu/lUBUNTU.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /ubuntu/xUBUNTU.iso; then
menuentry "启动xUBUNTU LiveCD模式" --class xUBUNTU {
insmod ntfs
        search -s -f /ubuntu/xubuntu.iso
        loopback loop ($root)/ubuntu/xubuntu.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu/xUBUNTU.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /ubuntu/mythbuntu.iso; then
menuentry "启动mythbuntu LiveCD模式" --class mythbuntu {
insmod ntfs
        search -s -f /ubuntu/mythbuntu.iso
        loopback loop ($root)/ubuntu/mythbuntu.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu/mythbuntu.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /ubuntu/ubuntu-mate.iso; then
menuentry "启动UBUNTU-MATH LiveCD模式" --class ubuntumate {
insmod ntfs
        search -s -f /ubuntu/ubuntu-mate.iso
        loopback loop ($root)/ubuntu/ubuntu-mate.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu/ubuntu-mate.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /ubuntu/ubuntukylin.iso; then
menuentry "启动ubuntukylin LiveCD模式" --class ubuntukylin {
insmod ntfs
        search -s -f /ubuntu/ubuntukylin.iso
        loopback loop ($root)/ubuntu/ubuntukylin.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu/ubuntukylin.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /linux/UBUNTU.iso; then
menuentry "启动UBUNTU LiveCD模式" --class UBUNTU {
insmod ntfs
        search -s -f /linux/UBUNTU.iso
        loopback loop ($root)/linux/ubuntu.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/linux/UBUNTU.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /linux/ubuntu-studio.iso; then
menuentry "启动UBUNTU studio LiveCD模式" --class ubuntustudio {
insmod ntfs
        search -s -f /linux/ubuntu-studio.iso
        loopback loop ($root)/linux/ubuntu-studio.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/linux/ubuntu-studio.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /linux/ubuntu-gnome.iso; then
menuentry "启动Uubuntu-gnome LiveCD模式" --class ubuntugnome {
insmod ntfs
        search -s -f /linux/ubuntu-gnome.iso
        loopback loop ($root)/linux/ubuntu-gnome.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/linux/ubuntu-gnome.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /linux/kUBUNTU.iso; then
menuentry "启动kUBUNTU LiveCD模式" --class kubuntu {
insmod ntfs
        search -s -f /linux/kubuntu.iso
        loopback loop ($root)/linux/kubuntu.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/linux/kUBUNTU.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /linux/edubuntu.iso; then
menuentry "启动edubuntu LiveCD模式" --class edubuntu {
insmod ntfs
        search -s -f /linux/edubuntu.iso
        loopback loop ($root)/linux/edubuntu.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/linux/edubuntu.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /linux/Emmabuntus2.iso; then
menuentry "启动Emmabuntus2 LiveCD模式" --class Emmabuntus {
insmod ntfs
        search -s -f /linux/Emmabuntus2.iso
        loopback loop ($root)/linux/Emmabuntus2.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/linux/Emmabuntus2.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /linux/Emmabuntus3.iso; then
menuentry "启动Emmabuntus3 LiveCD模式" --class Emmabuntus {
insmod ntfs
        search -s -f /linux/Emmabuntus3.iso
        loopback loop ($root)/linux/Emmabuntus3.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/linux/Emmabuntus3.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /linux/elementaryos-freya.iso; then
menuentry "启动elementaryos-freya-amd64 LiveCD模式" --class elementaryos {
insmod ntfs
        search -s -f /linux/elementaryos-freya.iso
        loopback loop ($root)/linux/elementaryos-freya.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/linux/elementaryos-freya.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /linux/elementaryos-stable.iso; then
menuentry "启动elementaryos-stable-amd64 LiveCD模式" --class elementaryos {
insmod ntfs
        search -s -f /linux/elementaryos-stable.iso
        loopback loop ($root)/linux/elementaryos-stable.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/linux/elementaryos-stable.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /linux/lUBUNTU.iso; then
menuentry "启动lUBUNTU LiveCD模式" --class lUBUNTU {
insmod ntfs
        search -s -f /linux/lubuntu..iso
        loopback loop ($root)/linux/lubuntu.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/linux/lUBUNTU.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /linux/xUBUNTU.iso; then
menuentry "启动xUBUNTU LiveCD模式" --class xUBUNTU {
insmod ntfs
        search -s -f /linux/xubuntu.iso
        loopback loop ($root)/linux/xubuntu.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/linux/xUBUNTU.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /linux/mythbuntu.iso; then
menuentry "启动mythbuntu LiveCD模式" --class mythbuntu {
insmod ntfs
        search -s -f /linux/xubuntu.iso
        loopback loop ($root)/linux/mythbuntu.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/linux/mythbuntu.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /linux/ubuntu-mate.iso; then
menuentry "启动UBUNTU-MATH LiveCD模式" --class ubuntumate {
insmod ntfs
        search -s -f /linux/ubuntu-mate.iso
        loopback loop ($root)/linux/ubuntu-mate.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/linux/ubuntu-mate.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}
fi

if  search --file /linux/ubuntukylin.iso; then
menuentry "启动ubuntukylin LiveCD模式" --class ubuntukylin {
insmod ntfs
        search -s -f /linux/ubuntukylin.iso
        loopback loop ($root)/linux/ubuntukylin.iso
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/linux/ubuntukylin.iso locale=zh_CN.UTF-8 splash
        initrd (loop)/casper/initrd.lz
}

点评

哇!真感謝您這套... if search --file /xxxxxxxx; then menuentry " xxxxxxxx"{ } fi 及iso-scan的script... 讓我的UEFI啟動的grub2菜單相當乾淨俐落... 只有找到相對應的ISO才會出現菜單... 這真是帥^^  详情 回复 发表于 2015-6-29 15:10
Thx a lot...and then i shall try one by one^^ Orz!!  详情 回复 发表于 2015-6-29 00:20

评分

参与人数 1无忧币 +5 收起 理由
peterpanheaven + 5 很给力!

查看全部评分

回复

使用道具 举报

3#
发表于 2015-6-29 21:11:55 | 显示全部楼层
本帖最后由 2011cwj6958 于 2015-6-29 21:17 编辑
peterpanheaven 发表于 2015-6-29 15:10
哇!真感謝您這套...
if search --file /xxxxxxxx; then
menuentry " xxxxxxxx"{  }


再给你一个查找支持uefi启动 一键还原的

if  search --file /EassosRestoreBoot/bzImage; then
menuentry "【 Eassos Restore易数一键还原 】" --class linux {
search --file /EassosRestoreBoot/bzImage --set=root
        linux /EassosRestoreBoot/bzImage vga=791 loglevel=3
        initrd /EassosRestoreBoot/initramfs
}
fi

if  search --file /BeiKelSystem/kernel.dat; then
menuentry "【 BeiKel System 贝壳系统救护 】" --class linux {
  search --file /BeiKelSystem/kernel.dat --set=root
        linux /BeiKelSystem/kernel.dat quiet vga=791 Lang=1 SrcDiskNo=0 SrcDiskSize=500107862016 DstDiskNo=0 DstDiskSize=500107862016 SrcPartNo=2 DstPartNo=7 InstallDir=BeiKelSystem
        initrd /BeiKelSystem/ramdisk.dat   
}  
fi


if  search --file /EasyRecovery/vmlinuz; then
menuentry "【 Easy Recovery 一键还原系统 】" --class linux {
search --file /EasyRecovery/vmlinuz --set=root
linux /EasyRecovery/vmlinuz
initrd /EasyRecovery/initrd.img
}
fi

if  search --file /ORM/vmlinuz; then
menuentry "【 Easy Recovery 一键还原系统 】" --class linux {
search --file /ORM/vmlinuz --set=root
linux /ORM/vmlinuz
initrd /ORM/initrd.img
}
fi

if  search --file /nova/initrd.img-3.5.0; then
menuentry "【 联想一键还原okr8.1 】" --class linux {
        search --file /nova/initrd.img-3.5.0 --set=root
        linux /nova/vmlinuz-3.5.0 dodisk novafb ro quiet zh splash=silent vga=790
        initrd /nova/initrd.img-3.5.0
}
fi

点评

我把CDlinux0.9.7.1.ISO放在了BOOT/IMGS/目录下,应该怎么写winly的配置菜单呢?我的平板是UEFI32位启动的。  详情 回复 发表于 2015-7-5 20:16
收下.收下...感激您^^  发表于 2015-6-29 22:39

评分

参与人数 1无忧币 +5 收起 理由
peterpanheaven + 5 赞一个!

查看全部评分

回复

使用道具 举报

4#
发表于 2015-7-1 20:25:57 | 显示全部楼层
tulongwa 发表于 2015-7-1 20:02
linux稍后再研究了,现在想在D盘放一个PE,省的总是用优盘启动,但是怎么也不行,每次选过进入PE选项重启以 ...

查看boot目录下是否有boot.sdi
回复

使用道具 举报

5#
发表于 2015-7-1 20:26:01 | 显示全部楼层
tulongwa 发表于 2015-7-1 20:02
linux稍后再研究了,现在想在D盘放一个PE,省的总是用优盘启动,但是怎么也不行,每次选过进入PE选项重启以 ...

查看boot目录下是否有boot.sdi

点评

你说的是D盘的boot目录下的boot.sdi吗?有的。  详情 回复 发表于 2015-7-1 20:53
回复

使用道具 举报

6#
发表于 2015-7-1 22:55:03 | 显示全部楼层
tulongwa 发表于 2015-7-1 20:53
你说的是D盘的boot目录下的boot.sdi吗?有的。另外这个boot.sdi不区分32位还是64位吧?

启动分区,BCD所在分区

点评

ESP分区EFI/microsoft/boot下面有的,boot下没有,不过那也没关系啊,我是EFI启动的  详情 回复 发表于 2015-7-2 13:03
回复

使用道具 举报

7#
发表于 2015-7-2 15:37:22 | 显示全部楼层
tulongwa 发表于 2015-7-2 13:03
ESP分区EFI/microsoft/boot下面有的,boot下没有,不过那也没关系啊,我是EFI启动的

ESP分区boot下要有,因为你的bcd配置是boot下的,要么你修改bcd配置,为EFI/microsoft/boot下的boot.sdi
回复

使用道具 举报

8#
发表于 2015-7-9 01:58:42 | 显示全部楼层
本帖最后由 2011cwj6958 于 2015-7-9 02:07 编辑
tulongwa 发表于 2015-7-5 20:16
我把CDlinux0.9.7.1.ISO放在了BOOT/IMGS/目录下,应该怎么写winly的配置菜单呢?我的平板是UEFI32位启动 ...


我的菜单,请参考修改ISO路径    ISO是别人的重新打包的版本
if  search --file /linux/cdlinux.iso; then
menuentry "【 启动 CDlinux无线破解中文定制版 】"  {
   insmod ntfs
    search -s -f /linux/cdlinux.iso
   loopback loop ($root)/linux/cdlinux.iso
   linux  (loop)/CDlinux/bzImage quiet CDL_LANG=zh_CN.UTF-8 CDL_DIR=/ CDL_IMG=/linux/cdlinux.iso
   initrd (loop)/CDlinux/initrd
}
fi
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-13 13:54

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表