大多数 Linux 发行版都会提供一个可以从 USB 启动的 live 环境,以便用户无需安装即可测试系统。我们可以用它来评测这个发行版或仅仅是当成一个一次性系统,并且很容易将这些文件复制到一个 U 盘上,在某些情况下,我们可能需要经常运行同一个或不同的 ISO 镜像。GRUB 2 可以配置成直接从启动菜单运行一个 live 环境,而不需要烧录这些 ISO 到硬盘或 USB 设备。

获取和检查可启动的 ISO 镜像

为了获取 ISO 镜像,我们通常应该访问所需的发行版的网站下载与我们架构兼容的镜像文件。如果这个镜像可以从 U 盘启动,那它也应该可以从 GRUB 菜单启动。

当镜像下载完后,我们应该通过 MD5 校验检查它的完整性。这会输出一大串数字与字母合成的序列。

将这个序列与下载页提供的 MD5 校验码进行比较,两者应该完全相同。

配置 GRUB 2

ISO 镜像文件包含了整个系统。我们要做的仅仅是告诉 GRUB 2 哪里可以找到 kernel 和 initramdisk 或 initram 文件系统(这取决于我们所使用的发行版)。

在下面的例子中,一个 Kubuntu 15.04 live 环境将被配置到 Ubuntu 14.04 机器的 Grub 启动菜单项。这应该能在大多数新的以 Ubuntu 为基础的系统上运行。如果你是其它系统并且想实现一些其它的东西,你可以从这些文件了解更多细节,但这会要求你拥有一点 GRUB 使用经验。

这个例子的文件 kubuntu-15.04-desktop-amd64.iso 放在位于 /dev/sda1 的/home/maketecheasier/TempISOs/ 上。

为了使 GRUB 2 能正确找到它,我们应该编辑

  1. /etc/grub.d40-custom

  1. menuentry "Kubuntu 15.04 ISO" {
  2. set isofile="/home/maketecheasier/TempISOs/kubuntu-15.04-desktop-amd64.iso"
  3. loopback loop (hd0,1)$isofile
  4. echo "Starting $isofile..."
  5. linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash
  6. initrd (loop)/casper/initrd.lz
  7. }

分析上述代码

首先设置了一个变量名 $menuentry ,这是 ISO 文件的所在位置 。如果你想换一个 ISO ,你应该修改isofile="/path/to/file/name-of-iso-file-.iso".

下一行是指定回环设备,且必须给出正确的分区号码。

  1. loopback loop (hd0,1)$isofile

注意 hd0,1 这里非常重要,它的意思是第一硬盘,第一分区 (/dev/sda1)。

GRUB 的命名在这里稍微有点困惑,对于硬盘来说,它从 “0” 开始计数,第一块硬盘为 #0 ,第二块为 #1 ,第三块为 #2 ,依此类推。但是对于分区来说,它从 “1” 开始计数,第一个分区为 #1 ,第二个分区为 #2 ,依此类推。也许这里有一个很好的原因,但肯定不是明智的(明显用户体验很糟糕)..

在 Linux 中第一块硬盘,第一个分区是 /dev/sda1 ,但在 GRUB2 中则是 hd0,1 。第二块硬盘,第三个分区则是 hd1,3, 依此类推.

下一个重要的行是:

  1. linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash

这会载入内核镜像,在新的 Ubuntu Live CD 中,内核被存放在 /casper 目录,并且命名为 vmlinuz.efi 。如果你使用的是其它系统,可能会没有 .efi 扩展名或内核被存放在其它地方 (可以使用归档管理器打开 ISO 文件在 /casper 中查找确认)。最后一个选项, quiet splash ,是一个常规的 GRUB 选项,改不改无所谓。

最后

  1. initrd (loop)/casper/initrd.lz

这会载入 initrd ,它负责载入 RAMDisk 到内存用于启动。

启动 live 系统

做完上面所有的步骤后,需要更新 GRUB2:

  1. sudo update-grub

当重启系统后,应该可以看见一个新的、并且允许我们启动刚刚配置的 ISO 镜像的 GRUB 条目:

选择这个新条目就允许我们像从 DVD 或 U 盘中启动一个 live 环境一样。

本文来自云栖社区合作伙伴“Linux中国”,原文发布日期:2015-10-19

如何使用 GRUB 2 直接从硬盘运行 ISO 文件相关推荐

  1. linux从光盘中安装php,Linux_Vfloppy通过CD光盘安装Linux到硬盘运行,光盘版的linux系统,可以证我 - phpStudy...

    Vfloppy通过CD光盘安装Linux到硬盘运行 光盘版的linux系统,可以证我们无需安装,就可直接运行,避免了,不懂安装,安装失败等,如复制在硬盘运行,更是方便,速度比在光盘上运行快得多,而且每 ...

  2. 硬盘运行微型linux,linux用smartctl看硬盘运行了多少小时

    linux用smartctl看硬盘运行了多少小时 2013-02-03 1.什么是S.M.A.R.T. SMART是一种磁盘自我分析检测技术,早在90年代末就基本得到了普及每一块硬盘(包括IDE.SC ...

  3. 硬盘运行时断电会导致硬盘怎样

    原文地址:http://www.pcxx8.com/html/3688.html 常听说在硬盘运行的时候切断电源会导致硬盘有不可修复的损伤.那么在硬盘运行的时候切断电源会导致硬盘怎样呢? 电脑学习吧: ...

  4. 通过硬盘iso文件安装ubuntu

    今天从公司领到了一个新的笔记本,由于性能比较好,我就想在上面装一个ubuntu,先去ubuntu网站上把9.04的iso下载下来,接下来本来是想用vmware来安装的,后来还是想全新安装吧.可是接下来 ...

  5. linux用iso文件启动,直接从硬盘启动Linux ISO镜像

    直接从硬盘启动Linux ISO镜像 Linux的GRUB2启动加载器可以直接从硬盘启动Linux ISO文件,可以启动Live CD的 ISO,而不用烧录到光盘来安装Linux到一个硬盘分区,或从U ...

  6. ubuntu linux下下打开iso文件两种方法,linux Ubuntu的ISO镜像怎么安装啊?解压出来后运行那个文件?...

    匿名用户 1级 2008-09-29 回答 WUBI安装方式(推荐给第一次接触ubuntu,担心安装会出问题的朋友使用) 在8.04的live 光盘支持WUBI安装方式,在光盘的根目录,有一个wubi ...

  7. chrome只能装在c盘吗_电脑硬盘使用与文件整理入门——逃离C盘?

    在Windows 10伴随着SSD固态硬盘大范围铺开的背景下,曾经广泛传播的硬盘使用模式(C盘装系统,D盘装软件,E.F盘放各种文件)是否还有实践意义?我们该基于什么样的理念来养成一些良好习惯,从而安 ...

  8. linux系统运行iso,linux可以加载iso镜像文件到启动项吗

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 楼主的需求描述不清,不作评述.只说下关于楼上一些吧友提到的grub loopback设备可mount iso并读取其中文件的功能 未读过grub1/2的源 ...

  9. linux 运行iso镜像文件,linux可以加载iso镜像文件到启动项吗

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 楼主的需求描述不清,不作评述.只说下关于楼上一些吧友提到的grub loopback设备可mount iso并读取其中文件的功能 未读过grub1/2的源 ...

最新文章

  1. UDP对应的应用层协议之DNS、DHCP
  2. Visual Studio 2008 Windows Server 2008 预发布-20日在南宁
  3. 常用开发环境搭建配置教程(OneStall)
  4. 机器学习- 吴恩达Andrew Ng Week7 知识总结Support Vector Machines
  5. 自动基线校正 python_红外光谱的
  6. java math 最大值_java 中Math 的常用方法
  7. matlab直接解超越方程函数,用matlab 解超越方程~
  8. python爬取拉钩网招聘信息
  9. VC浏览器的定制与扩展
  10. python编程视频剪辑_专治爱剪辑的片头片尾的脚本(Python)
  11. Unity实现边缘轮廓高亮
  12. 个人使用MATLAB timer 心得
  13. 「Ceph源码分析」纠删码解码
  14. LaTeX入门_刘海洋_电子工业出版社_案例代码1
  15. ks 怎么抓salt值?api,did?
  16. 12月18日第壹简报,星期日,农历十一月廿五
  17. 今日科普:MEMS传感器的应用案例介绍
  18. Xamarin.Forms之AbsoluteLayout
  19. 笔记本电池9针脚图解_上柴Econtrols天然气发动机控制系统原理图解
  20. 数字化项目管理系统实现了自动化绩效考核

热门文章

  1. DatePicker 和 DatePickerDialog的基本使用方法
  2. 美国本科申请Essay的写作注意事项
  3. javascript原型和原型链
  4. 【译】Serverless Jenkins with Jenkins X
  5. 重构手法之重新组织数据【1】
  6. 3星|《大产品,小团队》:携程软件开发流程改进的故事
  7. 【Vegas原创】RHEL6多界面切换方法
  8. Bootstrap 模态对话框只加载一次 remote 数据的解决办法 转载
  9. 【WP8】Uri关联启动第三方App
  10. 大数据开发笔记(二):Yarn分布式集群操作系统