如何从GRUB2引导ISO映像

Linux 从根本上说,与Windows相比,它具有非常重要的优势: 您可以通过直接从安装CD引导来测试它,并查看它是否在PC上正常工作。,称为Live CD。 今天几乎所有发行版都有这种可能性。

然而, 还有其他可能性,从而避免了用户每次要创建Live CD时都需要刻录CD的情况。 最常见的是 将Linux复制到USB 使用特殊程序,然后从USB启动PC。 但是,如果您已经有 GRUB2 安装在您的PC上, 还有一种可能性很少被公开,但是更快,更有效和更安全.


您是否刻录了数千张CD来刻录自己喜欢的发行映像? 您是否认为通过从USB加载Linux可以赶上潮流? 哈! 这种方法节省了时间和金钱,因为除了超快之外,它还更加安全(由于缺少可能的“写入错误”以及与读取Live CD相关的其他问题),并且无需刻录文件。ISO映像到CD或USB。

步骤

1.- 编辑档案 /etc/grub.d/40_custom

须藤gedit /etc/grub.d/40_custom
注意:TonyDiaz会酌情建议我们修改此文件,而不是 /boot/grub/grub.cfg。 原因是系统更换 的grub.cfg 每次您在GRUB中进行修改时,这种情况就会经常发生。 因此,有必要修改专门设计用于在GRUB中添加自定义菜单项的模板: 40_自定义.

2.- 向菜单添加一个新条目,如下所示:

菜单项Lubuntu现场“ { 
设置根=(hd0,5)
回送循环 /vbox/lubuntu-10.10.iso
linux(循环)/ casper / vmlinuz启动= casper iso-scan /文件名=/vbox/lubuntu-10.10.iso --
initrd(循环)/casper/initrd.lz
}

3.- 不要忘记编辑显示为红色的部分,其中:

  • 菜单项:是PC启动时将出现在GRUB2列表中的名称。 就我而言 
  • 扎根:表示ISO文件在哪个分区中。 为了找出正确的配置,其原因很简单。 
  • 我最喜欢的发行版的ISO映像在哪里? 在我的磁盘Y上,分区X。您可能知道该磁盘安装到的路径,但不知道其设备名称。 为了它…
  • 我打开了“系统”>“管理”>“磁盘工具”,然后在选择了该分区所在的硬盘后,单击该分区以显示其所有数据和特征。
  • 选择分区后,查找“设备”标签,然后查看显示的数据。 就我而言: / dev / sda5。 正在高清a 或sda 这意味着它是磁盘1; 如果是SDb 哦,Db,它应该是磁盘2。因为它与sda有关5,它表示它是磁盘5的分区1。为此,“ set root”应具有(hd0,5)。 Grub2从0开始磁盘计数,这就是为什么此设置告诉您ISO映像在磁盘1,分区5上的原因。 
  • 回送:表示ISO文件所在分区中的路径。 这时很容易感到困惑,因为要求的不是安装此磁盘的路径,而是其余路径。 例如我的磁盘 sdaxnumx 骑 /媒体/备份/。 因此,该ISO映像所在的文件夹的完整路径为 /媒体/备份/ vbox /。 但是,正如我们在“设置根目录”中已告诉您的是哪个磁盘和分区一样,没有必要弄清楚磁盘的安装路径(/媒体/备份/)。 出于这个原因,此时进入的路径就是 /vbox/file.iso.
  • linux(循环):告诉我们要使用哪个内核引导以及它在哪里。 推理与上一点相同。 为了使系统能够使用西班牙语的菜单和窗口以及键盘布局进行引导,必须添加locale和bootkbd参数。 另外,要显示加载映像(启动画面)而不是内核消息,需要添加启动画面参数。 最后,要对相等的输入进行分组,您需要添加quiet参数。 因此,此“个性化”版本如下所示:
    linux(循环)/ casper / vmlinuz引导= casper语言环境= es_ES bootkbd = es控制台设置/ layoutcode = es安静启动iso-scan /文件名= / vbox / lubuntu-10.10.iso-
  • initrd(循环):告诉我们initrd在哪里。 
  • 4.- 保存相关文件后,剩下的就是更新GRUB2:

    须藤更新

    我刚刚在Lubuntu 10.10中尝试了此方法,并且完全不需要花20秒钟的时间! 我向你保证 这是尝试Ubuntu Beta版本或其他发行版的最佳方法 无需更改系统,安装Virtual Box,刻录CD或花费USB只是将其用作Live CD等。

    谢谢Miguel市长i Tur提出这个话题!

    发表您的评论

    您的电子邮件地址将不会被发表。 必填字段标有 *

    *

    *

    1. 负责数据:MiguelÁngelGatón
    2. 数据用途:控制垃圾邮件,注释管理。
    3. 合法性:您的同意
    4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
    5. 数据存储:Occentus Networks(EU)托管的数据库
    6. 权利:您可以随时限制,恢复和删除您的信息。

    1.   米克尔·马约尔·图尔

      文件未找到

      您必须先加载内核

      我在ext10.10上安装了ubuntu 64 amd4,这显然改变了语法,我不知道,它给了我错误。

      我通过复制命令,反复试验将原始内核复制到40_custom文件中,但是它们都给了我相同的错误。

      通过在grub中执行ls,分区(必须是ext4)是这样命名的,我不知道为什么它们用单引号引起来。

      所以请:1,-澄清它适用于ext2分区

      2.-进行扩展以启动到ext4分区,因为我不清楚,并且肯定会是chorradita,但是像前一件事一样,我知道它可能是这样,但是我没有找到他们可以解释的地方。我,在更糟糕的ext4版本中。

      提前致谢

      我的40_custom,只有Ubuntu可在其中使用

      #!/ bin / sh的

      执行尾-n +3 $ 0

      #此文件提供了添加自定义菜单项的简便方法。 只需键入

      您要在此注释后添加的#个菜单项。 注意不要改变

      #上面的'exec tail'行。

      menuentry“ Ubuntu,使用Linux 2.6.35-23-通用” –类ubuntu –类gnu-linux –类gnu –类os {

      记录失败

      insmod 部分_msdos

      插入mod ext2

      设置根='(hd0,msdos1)'

      搜索–no-floppy –fs-uuid –set c617a74c-d199-49fc-997e-77ebbe33a8bb

      linux /boot/vmlinuz-2.6.35-23-通用根= UUID = c617a74c-d199-49fc-997e-77ebbe33a8bb ro安静启动nomodeset#video = uvesafb:mode_option = >> 1024×768-24 <<,mtrr = 3 ,滚动= ywrap initrd /boot/initrd.img-2.6.35-23-generic}菜单项“ Rescatux” {recordfail insmod part_msdos insmod ext2 set root ='((hd0,msdos1)')loopback loop /isos/rescatux.iso linux(循环)/ casper / vmlinuz引导= casper语言环境= en_ES bootkbd =控制台设置/布局代码=安静启动iso-scan /文件名= / isos / rescatux.iso-initrd(循环)/casper/initrd.lz}菜单项« rescatux2»{set root ='(hd0,msdos1)'回送循环/isos/rescatux.iso linux(loop)/ casper / vmlinuz boot = casper iso-scan /文件名= / isos / rescatux.iso-initrd(loop)/ casper / initrd.lz}

    2.   米克尔·马约尔·图尔

      Manolo,因为它对我不起作用,所以我没有选择Burg,您也不愿意为Burg粘贴您拥有的东西-顺便说一句,我感谢您发现我,这真是太好了。

      我认为我的问题源于我使用ext4的事实,如果您也遇到这种情况,我可以使用珍珠。

      顺便说一句,我们可以向您发送有关如何安装burg的条目,该条目将保留更新,以及如何添加ISO映像。

    3.   马诺洛(Manolo Pajaro)

      它对我不起作用,我尝试了在另一页上找到的代码,然后尝试复制您放置的代码,但GRUB中的两个选项都不可用。 我已经遍历了grub.cfg的其余部分,并且发现set root的参数用单引号引起来,您是否将它像这样放在文件中并且起作用了? 这对我来说都不可行:/

    4.   让我们使用Linux

      Manolo,这与其他情况下的复制粘贴无关。 请注意,本文详细解释了必须更改的内容,以便在特定情况下一切正常。
      如果您按照说明操作有任何问题,请告诉我...
      一个大大的拥抱! 保罗

    5.   兄弟

      看起来很有趣,我将尝试...

    6.   拉斐尔

      还是一件有趣的文章,它派上用场了……我通常将USB与出色的Multiboot配合使用,主要是因为它允许我将fat32中的USB与我的“实时”系统一起准备在系统不再可用的PC上启动启动(胜利)并保留将文件保存在USB上的选项...但是由于它是fat32系统,所以它的最大缺点是它不接受大于4 GB的文件,这就是为什么我喜欢这个!
      问候

    7.   米克尔·马约尔·图尔

      不客气,很高兴您已经解释得很好,现在从USB进行多重引导,在其上安装grub2以及恢复发行版和其他工具都缺少相同的东西。

      很高兴继续阅读。

    8.   托尼迪亚兹

      很好! 但是,如果您允许我,我将尝试对其进行一些改进。

      文件/boot/grub/grub.cfg由称为grub-mkconfig的工具使用/etc/grub.d/路径中的模板生成,因此,每次生成新的grub文件时(例如,当进入一个新内核,或者对其进行更新,或者当手动执行update-grub命令时,系统用新的内核替换先前的文件,删除我们手动插入的任何条目。 换句话说,每次在grub中进行修改时,条目都必须插入到文件中,这经常发生。

      因此,我的建议是,不应编辑/boot/grub/grub.cfg文件,而应编辑与要从中引导的系统相对应的模板。 在这种情况下,由于它是“自定义”条目,因此应进入/etc/grub.d/40_custom文件,该文件是准备添加自定义条目的文件。

      这样,每次系统生成新的grub.cfg时,将始终自动添加我们的自定义条目。

      这就是我从SystemRescueCD iso映像引导它的方式,它的工作原理就像一个魅力😉

      所有的问候。

    9.   让我们使用Linux

      您有所有理由! 谢谢你提醒我。 现在,我添加该修改。

    10.   托尼迪亚兹

      又是我😉

      我忘记了在上一条消息中告诉您,如果/etc/grub.d/40_custom文件或任何其他模板被修改,则必须使用update-grub命令更新grub。

      问候,并保持下去! 🙂

    11.   让我们使用Linux

      准备! 再次感谢! 🙂

    12.   客人

      那么好! 这非常有用! 非常感谢😀

    13.   塞克斯

      如果我们想要一个Ubuntu映像(对于其他发行版,我不确定它是否有效):
      ·从西班牙语的菜单和窗口以及键盘布局开始
      在启动期间,而不是内核消息中,显示加载映像(启动画面)
      第四行是:

      linux(循环)/ casper / vmlinuz引导= casper语言环境= es_ES bootkbd = es控制台设置/ layoutcode = es安静启动iso-scan /文件名= / vbox / lubuntu-10.10.iso-

      静音用于对相等的输入进行分组。

      顺便说一句,如果您明确指出修改并保存了指示的文件后必须执行sudo update-grub,那将是很好的选择。

    14.   马诺洛(Manolo Pajaro)

      是是是我知道我不应该原样复制它哈哈我不是那样做的,是的,我根据我的团队进行了修改,我已经发现了问题所在,我不使用grub而是burg xD

    15.   兄弟

      您好!

      我已经将其配置为引导Ubuntu 10.10 Live,并且可以完美运行(我将在博客上添加指向本文的链接),这是我的配置:

      menuentry“ Ubuntu 10.10 Live” {
      设置根=(hd0,1)
      回送循环/home/fraterneo/ubuntu-10.10-desktop-i386.iso
      linux(循环)/ casper / vmlinuz启动= casper安静启动iso-scan /文件名= / home /兄弟/ ubuntu-10.10-desktop-i386.iso-
      initrd(循环)/casper/initrd.lz
      }

      但是,我尝试使用Fedora 13 Live cd进行此配置,我将其配置为:

      «Fedora 13 Live»菜单条目{
      设置根=(hd0,1)
      回送循环/home/fraterneo/Fedora-13-i686-Live.iso
      linux(循环)/ EFI /引导/ vmlinuz0 root = live:LABEL = Fedora-13-i686-Live rootfstype = auto ro liveimg quiet rhgb
      initrd(循环)/EFI/boot/initrd0.img
      }

      在启动过程中(启动映像)哪一个给我以下错误:
      找不到根设备
      引导失败,永远休眠

      我尚未找到可能的解决方案。 让我们看看是否有人受到鼓励和进一步调查。

      一声问候!。

    16.   库斯托

      最好使用gksudo gedit,而不是sudo gedit。

    17.   潘乔夫

      宏伟的兄弟,GRUB带来的可能性是难以置信的,现在我要示范几个Live,而无需使用CD呵呵呵! 优秀的!

    18.   自我管理

      是否可以使用grub4dos做到这一点?

    19.   让我们使用Linux

      事实是我不知道。 🙁
      让我们知道您是否发现了一些东西...
      干杯! 保罗

    20.   马塞洛

      已检查。 这些参数仅适用于Ubuntu。 / casper文件夹以及vmlinuz和initrd.lz文件仅在* buntu发行版中找到。 在Fedora中,它完全不同,因此此类参数不起作用。 我正在研究这个主题。

    21.   让我们使用Linux

      嗨,米格尔! 事实是,我与帖子中推荐的命令没有太大区别。 无论如何,据我所知,引导程序所用的格式(EXT2或EXT4或其他任何格式)都没有关系。 实际上,我在ext4中拥有它,而帖子中的代码对我来说则是完美的。
      我建议以下内容:

      1)确保isofile路径存在。 也就是说,在帖子中包含代码的情况下,存在/vbox/lubuntu-10.10.iso。 为此,我只是打开了Nautilus,导航到有问题的文件夹,然后查看ISO文件是否存在。

      2)可能造成问题的第二点是根本。 检查根目录是否正确。 这篇文章解释了如何知道将什么值赋给该变量。 否则,您剩下要做的就是反复试验。

      无论如何,此帖子中包含的代码都不容易复制粘贴。 您必须更改标记为红色的数据,并根据情况进行调整。

      一个拥抱! 保罗
      2)

    22.   阿多·埃洛(Ado Ello)

      我知道在GRUB 1中是如何完成的,但在2 not中却不是。
      我在制作Multiboot Pendrive的教程的评论中链接了您 http://www.youtube.com/watch?v=FbpYNSuaNTI&hd=1
      问候

    23.   让我们使用Linux

      哎呀! 很好的老师!
      我正要写一篇有关该主题的文章(multiboot pendrive)。 当我这样做时,我一定会包括您的视频。 如果您不介意的话,当然...,并且总是要弄清楚来源和您的作者身份。
      感谢您抽出宝贵的时间,并与社区分享您的知识。
      一个大大的拥抱! 保罗

    24.   犬风

      我有一个问题,有点特别,例如,如果我仅安装了Windows XP,并且没有发行版,但是我已经准备好了分区,那么应该怎么做或怎么做才能仅安装足够且必要的分区,以便启动GRUB2,来启动我在另一个硬盘中拥有的ISO ???

    25.   犬风

      好吧,让我们看一下,这个想法是,在我要安装新发行版的分区中,它只有/ boot / grub条目,也许还有Kernel 2.6条目及其配置,因此在安装期间稍后更新。

      主要思想是节省大量时间,我看不到安装发行版,修改grub,安装另一个的要点,如果仅安装grub,则可以直接启动iso,而无需CD或USB 。

      好吧,无论如何,如果我安装了发行版,那就是Slackware64,但是无论如何,我将下载Chakra Linux的更新的ISO,以查看这次是否可以安装xD

    26.   米克尔·马约尔·图尔

      http://ubuntuforums.org/showthread.php?t=1632692
      在这里给了我一个看起来不错的替代解决方案。
      但是仍然无法正常工作,显然是由于在EXT4中启动了

      menuentry“ Ubuntu 10.10 Maverick ISO 64位” {
      设置isofile =»/ boot / ISO / maverick-desktop-amd64.iso»

      回送循环(hd0,5)$ isofile
      linux(循环)/ casper / vmlinuz引导= casper iso-scan /文件名= $ isofile nomodeset
      initrd(循环)/casper/initrd.lz
      }

    27.   弗朗西斯科·哈维尔·马丁·洛佩兹

      对于以前,入口将如何?

    28.   保罗

      我的笔记本出现问题,其中阻止了Grub引导(grub2),装有Huayra(Linux的Debian版本)和Windows 8,他们更改了grub.cfg并阻止了引导。
      那不是问题,除了当我想从LiveUSB引导时,笔记本电脑会重新启动并且不会从USB启动,并且无法更改设置。
      我想知道如何将ISO从笔式驱动器复制到硬盘驱动器并从那里运行(LiveUSB的ISO)。

      谢谢

      1.    让我们使用linux

        嗨,巴勃罗!

        我们建议您在我们的问答服务中问这个问题 询问供应商 DesdeLinux 这样整个社区都可以帮助您解决问题。

        拥抱,巴勃罗。

    29.   Mariano

      如何使用ubuntu 15.04 mate amd64做到这一点。 把内核也许解决方案?
      我有两个磁盘,第一个是ext10.04系统的Ubuntu 4。 在第二个中,我有一个ext4分区,另一个有ntfs。 在第二个分区中,我复制了iso并将其提取到位。 我遵循了教程的所有步骤,并根据磁盘位置进行了相应的修改。
      重新启动后,出现grub条目,在我的情况下为“ Ubuntu mate 15.04”,我没有进入安装,但是结果是没有可供选择的内核。 我做错了什么? 我希望得到一个答案。

    30.   劳伦西奥

      在Linux Mint上,它对我不起作用。
      我用ubuntu 14.04.02和bodhi Linux对其进行了测试。
      在ntfs分区和ext4上
      在grub中创建了一个新行,但是选择它时没有任何启动,则屏幕为黑色。
      问候。

    31.   雷纳尔多

      早上好,这种媒介的朋友们,我对grub2的菜单项有疑问,就像这样。

      1-slackware x64 efi
      2-我已安装Windows 7

      *我刚刚更换了键盘,但我感到惊讶,因为没有显示出松弛度,正在寻找信息,我发现这是一个菜单输入问题,我接受了相同松弛度的iso,我输入了,然后在其中给出了第三个选项说它无法识别引导/,老实说,我不知道该怎么做,如果有人可以解释如何找回我的闲暇,我将不胜感激..或向我发送网址,他们在其中解释步骤

      在此先感谢这个精彩博客的亲爱的朋友

    32.   乔治诺

      好朋友,我有一个问题,也许对某些人来说很愚蠢……我为Ubuntu LTS创建了一个安装程序,最后一个可下载16.04桌面版本的安装程序,我想将其作为单个系统安装在Asus Prime Z2027-A上配备Celeron处理器和带有4 Gb SDA的Ram 256 Gb ...以太坊采矿需要什么。

      问题是我已经在USB上插入了带有UNEBOOTIN…的ISO。 我打开计算机以从USB引导,然后直接进入带有图形界面的安装模式,然后启动GRUB引导系统,该计算机及其所有组件都装箱了,它们绝对没有任何东西,因此我认为这是一个问题。带Grub的Ubuntu…。 检测到我做过LS的所有设备,以发现有...

      问题是基本的,我想安装UBUNTU,但是我只能进入Grub>
      字面

      感谢在前进。