Grub24Dos是个很好的软件,可用于Windows与Linux双系统的安装的工具。注意不是那个Grub4Dos。使你不必依赖于任何Linux分区启动您的计算机的可用性。在Windows MBR没有触及,因此可以实现Windows和Linux的多重安全。

注:grub24dos.zip用于Windows 7,Windows 8的和Vista。如果您正在运行Windows XP或Windows 2000,你应该下载和运行备用包,grub2xp.zip。

这些指示假设您启动Windows自带的MBR。

Grub24Dos的安装说明(在Grub24dos的压缩包中也有说明):

(1)下载完成后将其解压到C:盘下,文件夹名为grub2;

(2)进入C:\grub2\install目录,然后运行grub24dos.exe(需要管理员权限) ;

(3)然后配置Grub2(不需要修改),点击OK(该步实际上是修改Windows BCD);

(4)重新启动系统后,在Grub2的引导菜单中便能够见到Grub2  For Dos选项,然后就可以进入Grub2了;

利用grub2引导iso文件进行ubuntu安装,主要是类似于下面的命令。

loopback loop (hd0,3)/ubuntu.iso
linux (loop)/casper/vmlinuz boot=casper
iso-scan/filename=/ubuntu.iso
initrid (loop)/casper/initrid.lz
boot

我相信,到目前为止。几乎所有人都知道,我样的命令。

但是,我相信没有几个人能够讲清楚这几条命令的作用,以及由来。

所以,我现在,来说说自己关于这几条命令的理解。

本人,也在这个论坛发个几个讨论贴子,但是不是很深入,还有一点小错。
这几个贴子的链结
http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=314207
http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=314659

现在开始讲。
loopback loop (hd0,3)/ubuntu.iso
这句,是使用grub2的回放技术,把ubuntu.iso的文件内容,投射到loop上。在使用这个命令时,
你得考虑你的内存足够的大。

linux (loop)/casper/vmlinuz boot=casper
iso-scan/filename=/ubuntu.iso
这句,是加载内核,其中(loop),是使用了上一句所投射的设备,其访问的是ubuntu.iso文件的内容。
其中boot=casper是使用casper来启动一个在iso文件内的一个预先安好的live系统。
在这里http://packages.ubuntu.com/natty/casper你可以看到它的基本介绍,
你也可以安装一个到你的系统中,利用man casper来看一下,它的基本使用方法。

其中的iso-scan/filename=/ubuntu.iso,是利用iso-scan来寻找到你的ubuntu.iso文件,所在位置
并把所找到的iso文件挂到光驱设备(在这里,其相到于find, 和mount命令的集成,但功能更强)/cdrom
http://packages.ubuntu.com/natty/iso-scan这里有介绍,(提一句,这个文件包,你不应该安装到你的正常系统上去)

initrid (loop)/casper/initrid.lz
我想,你只要看了上面两句的解释后,这一句你也就明白了。
其中initrid.lz是一个镜象文件,里面存的是一些内核要加载的重要文件。

用grub2引导ISO硬盘安装ubuntu方法两则

骤一,要有 gurb2 的命令行环境,如果以前安装了 ubutnu9.10以上的版本,则开机就是 gurb2(注:burg
也是 gurb2,一样的操作),在选择菜单按’
c'键自动进入命令行模式(按’ESC’退出命令行模式)(注:grub2菜单默认是不显示的,开机时一直按住shift按键,进可以进图grub2菜单选项)
步骤二,下载
ubuntu的iso镜像,放在硬盘分区的根目录下,建议放在根目录下,这样在命令行下好找,不容易出问题,比如我的放在了
第一个分区。
步骤三,重启电脑,进入 grub2 的命令行模式,一步一步输入以下命令

代码:
1.grub> loopback loop
(hd0,1)/ubuntu.iso
2.grub> set root=(loop)
3.grub> linux /casper/vmlinuz boot=casper
iso-scan/filename=/ubuntu.iso
4.grub> initrd /casper/initrd.lz
5.grub> boot

步骤四,上一步的 boot 命令执行后计算机开始命令行的滚屏,最后如果成功,会提示很多选项ok,然后
ubuntu的iso镜像顺利引导,进入 ubuntu的live cd桌面,桌面上有 install
ubuntu的字样,和光盘启动时的样子一模一样,不过与光盘安装有一点不同,也很重要,就是之前我们挂载了iso设备,现在要卸载它,不然会出现分区表问题。
在终端里输入:

代码:
sudo umount -l /isodevice

步骤五,双击install ubuntu图标安装。
解释一下grub2的命令:

引用:
1.grub> loopback loop
(hd0,1)/ubuntu.iso
利用grub2的回放设备,挂iso,这样可以使你不用把casper文件夹提取出来,就能从iso中启动。
2.grub> set root=(loop)
这是设置grub的根目录。
3.grub> linux /casper/vmlinuz boot=casper
iso-scan/filename=/ubuntu.iso
这是让grub挂内核。并传递参数boot=casper 给initramfs
4.grub> initrd /casper/initrd.lz
设置系统引导
5.grub> boot
开始启动引导

再解释一下硬盘分区,硬盘是从0开始计数的,而分区是从1开始计数的,扩展分区是从5开始计数的。
_______________________________________________________
另,grub.cfg引导iso安装ubuntu:(已测试)
打开grub.cfg

代码:
sudo gedit /boot/grub/grub.cfg

在文件最后添加:

代码:
menuentry "ubuntu iso install" {
    loopback loop (hd0,1)/ubuntu.iso
    set root=(loop)
    linux /casper/vmlinuz boot=casper
iso-scan/filename=/ubuntu.iso
    initrd /casper/initrd.lz
}

重启,选择ubuntu iso install进入ubuntu的live cd桌面。再进行上面步骤四,就可以安装系统了。。

如果要引导ubuntu的安装盘镜像,可以按照下面的步骤:
  1. 首先将光盘镜像放入c盘根目录,改个短点的名字,如ubuntu.iso,这里只是为了方便。
  2. 启动机器进入grub2的菜单,按c进入命令行模式。
  3. 输入下面的命令:
    1. grub> loopback loop (hd0,1)/ubuntu.iso
    2. grub> set root=(loop)
    3. grub> linux /casper/vmlinuz boot=casper
      iso-scan/filename=/ubuntu.iso
    4. grub> initrd /casper/initrd.lz
    5. grub> boot
  4. 注意上面的(hd0,1)表示的是盘符,第一个硬盘是0,第一个分区是1

  5. 切无误的话输入boot后就会引导光盘镜像启动,如果是ubuntu或者lubuntu的desktop镜像会进入live
    cd模式,进入桌面后按ctrl+alt+t呼出终端控制台,输入sudo umount -l
    /isodevice,然后再双击桌面上的安装图标进行安装即可。
安装完后重启机器最先看到的就是GRUB2的引导菜单,注意,这个和前面装的那个GRUB24dos是同时存在的,选择windows启动项后会看到前面做的那个引导菜单,他们两个同时存在。

grub24dos的更多相关文章

随机推荐

  1. express安装及使用(windows系统)

    npm install express //安装express命令 npm install express-generator -g //Express 应用生成器,通过应用生成器工具 express ...

  2. 【PHP代码审计】 那些年我们一起挖掘SQL注入 - 1.什么都没过滤的入门情况

    0x01 背景 首先恭喜Seay法师的力作<代码审计:企业级web代码安全架构>,读了两天后深有感触.想了想自己也做审计有2年了,决定写个PHP代码审计实例教程的系列,希望能够帮助到新人更 ...

  3. FFMPEG AVRational

    FFMPEG的很多结构中有AVRational time_base;这样的一个成员,它是AVRational结构的 typedef struct AVRational{ int num; ///< ...

  4. iOS开发--NSDateFormatter

    NSDate对象包含两个部分,日期(Date)和时间(Time).格式化的时间字符串主要也是针对日期和时间的 1.基础用法 NSDate* now = [NSDate date]; NSDateFor ...

  5. 使用es6的蹦床函数解决递归造成的堆栈溢出

      首先,我们先定义一个函数,使用递归的思想写求和的方法: function sum(x, y) { if (y > 0) { return sum(x + 1, y - 1); } else ...

  6. 在javaweb的项目当中实现随机数字的生成

    首先,需要在javaweb的项目当中新建一个Servlet文件,然后再web.xml中配置一下: 这样运行的时候就可以通过“http://localhost:8080/Response/Respons ...

  7. java的两种冒泡算法

    所谓的冒泡算法,就是给数组进行排序,可以根据以小到大的顺序,也可以根据以小到大的顺序,在数组的封装类java.util.Arrays通过sort方法进行按升序的排序.那不用类的话怎么进行呢? 思路一: ...

  8. Android学习之Handler消息

    Android系统规定,一些耗时的操作不能放在UI线程中去执行,这样会报一个ANR错误.所以为了避免该问题,我们需要开启一个新的线程去执行一些耗时操作:开启新的线程,将耗时的操作在新线程里面去执行, ...

  9. chrome 安装页面编码选择插件

    https://chrome.google.com/webstore/detail/set-character-encoding/bpojelgakakmcfmjfilgdlmhefphglae se ...

  10. 深入学习Make命令和Makefile(上)

    https://www.zybuluo.com/lishuhuakai/note/209302 深入学习Make命令和Makefile(上) make是Linux下的一款程序自动维护工具,配合make ...