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. Linux Redis安装,Linux如何安装Redis,Linux Redis自动启动,Redis开机启动

    Linux Redis安装,Linux如何安装Redis,Linux Redis自动启动,Redis开机启动 >>>>>>>>>>>& ...

  2. headless webkit(无界面浏览器、爬虫)

    phantomjs / puppeteer https://github.com/amir20/phantomjs-node https://github.com/GoogleChrome/puppe ...

  3. Java调用MQ队列

    IBM MQ 6.0中设置两个队列,(远程队列.通道之类都不设置). 队列管理器是XIR_QM_1502 队列名称是ESBREQ IP地址是10.23.117.134(远程的一台电脑,跟我的电脑不在一 ...

  4. linux 开机自启脚本

    1.vi /home/dpf/mqtt.sh #!/bin/sh/home/dpf/Desktop/Udp_Single_Async_Mqtt_yuan/hwjc_udp_receive_mqtt & ...

  5. MVC的简单分页【转】

    传值的方式是通过querystring. 本例子是把整需要的数据查出来再分页的,因为当时做的时候数据很少,只有几十条. 如果数据多的话,可以在存储过程里分页,只是要传页码和记录的条数过来. 控制器: ...

  6. codeforces水题100道 第十四题 Codeforces Round #321 (Div. 2) A. Kefa and First Steps (brute force)

    题目链接:http://www.codeforces.com/problemset/problem/580/A题意:求最长连续非降子序列的长度.C++代码: #include <iostream ...

  7. 探求C#.Net中ArrayList与Array的区别

     ArrayList与Array的区别概述     ArrayList 是数组的复杂版本.ArrayList 类提供在大多数 Collections 类中提供但不在 Array 类中提供的一些功能.例 ...

  8. 【Shell脚本编程系列】知识储备以及建立规范的脚本

    前言 学习shell脚本编程需要的知识储备: vi/vim编辑器命令 vimrc设置要熟练 基础命令,100多个要熟练 基础和常用的网络服务命令要会:nfs . rsync. inotify . la ...

  9. cmake编译android平台的libPoco

    1.下载源代码,解压到POCO-1.7.8-ALL 2.从$ANDROID_NDK\cmake下复制android.toolchain.cmake AndroidNdkGdb.cmake Androi ...

  10. 题目1162:I Wanna Go Home(最短路径问题进阶dijkstra算法))

    题目链接:http://ac.jobdu.com/problem.php?pid=1162 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...