PC3000 军达成数据恢复论坛

 找回密码
 立即注册
查看: 4632|回复: 1
打印 上一主题 下一主题

用U盘grub引导多系统经验 [复制链接]

管理员

军达成网站技术

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    慵懒
    2013-7-7 17:56:22
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    金钱
    2035
    元宝
    994657
    专业度
    8659

    最佳新人

    跳转到指定楼层
    楼主
    发表于 2011-8-22 15:16:30 |只看该作者 |倒序浏览
    最先接触到用grub引导系统时应该说是linux升级后改menu.lst来启用新的内核。当时也只是对grub有很少的了解,更准确的称呼应该是叫GNU GRUB,并不是这里介绍的grub4dos。最近帮朋友弄电脑时接触到windows的系统引导工具ntldr丢失的问题,当时没有解决,所以重装了系统,浪费了我一下午的时间在网络上找驱动(特别是ATI显卡驱动,试了好多个)。后来就对系统引导做了一点点学习。

    grub4dos是国人开发的,论坛上戏称“不点大师”,而GNU GRUB是GNU的一个子项目,都是用于引导多系统启动。GNU GRUB是安装在MBR(或PBR)中,分为stage1,stage1_5,stage2等阶段,所以安装好了GNU/linux后重装windows只要修复MBR就可以恢复grub引导多系统了。

    grub4dos较之则更为强大,当然也可以将其写入MBR或PBR,可以在DOS下运行grub.exe,也可以用其它引导程序加载。它可以引导存在于软盘,光盘,硬盘上的系统,以及软盘镜像IMG,光盘镜像ISO,硬盘镜像DSK。

    下面就说说我在U盘上使用grub4dos的经验。

    1,首先下载DOS系统常用文件io.sys,msdos.sys,command.com,autoexec.bat等,可以下个DOS软盘镜像,用UltraISO提取上面这些文件到一个目录中备用,下载HP的一个格式化U盘工具,将它格式化成DOS可启动盘。格式化后,U盘就成为模拟硬盘。

    注:不要用网络上流传的USBOOT,经我测试它很不稳定。

    2,下载grub4dos,把它解压放在U盘\boot\grub下,

    3,编辑\autoexec.bat,加入

    PATH=c:\boot\grub;c:\
    grub --config-file=boot\grub\menu.lst

    注意不要改变上面这些文件的属性,不然DOS系统性会提示找不到这些文件。

    4,编辑\boot\grub个的menu.lst,加入你想引导的系统

    ## Grub menu

    timeout 10
    default 0

    # title CDROM
    # cdrom --init
    # map --hook
    # chainloader (cd0)
    # rootnoverify (cd0)

    title USB MS-DOS 7.10
    root (hd0,0)
    kernel /boot/dos/memdisk.gz
    initrd /boot/dos/mydos.img
    boot

    title USB Ubuntu 8.04 i386
    root (hd0,0)
    kernel /casper/vmlinuz boot=casper find_iso=ubuntu-8.04-desktop-i386.iso noapic
    initrd /casper/initrd.gz
    boot

    # title HDD Ubuntu 8.04 x86_64 liveCD
    # root (hd1,0)
    # kernel /vmlinuz boot=casper find_iso=/ubuntu-8.04-desktop-amd64.iso noapic
    # initrd /initrd.gz
    # boot

    title HDD Ubuntu 8.04 x86_64
    root (hd1,7)
    kernel /boot/vmlinuz-2.6.24-21-generic root=UUID=1002154f-3f6c-4524-982b-052fe4d06525 ro quiet
    initrd /boot/initrd.img-2.6.24-21-generic
    quiet
    boot

    title HDD Microsoft Windows XP Professional
    map (hd1) (hd0)
    root (hd1,0)
    makeactive
    chainloader +1
    boot

    title Shutdown
    halt

    title Reboot
    reboot

    上面是我的menu菜单,可见让它可以引导我USB上的DOS,ubuntu livecd和硬盘上的ubuntu,windows xp。让人恼火的是windows这个系统很霸道,一定要放在活动硬盘主分区上才能引导,所以这里多了map模拟语句,详细的语句介绍见下面的网页,我可是找了好久才找到。

    当然也可以将它写入U盘MBR,但是写入后grldr会在所有硬盘的/,/boot/grub/等目录下找menu.lst文件,而我的硬盘C盘根目录下也有menu.lst,为免grldr找错,所以用DOS下引导方式。当然也可以修改grldr来改变默认的查找路径,像矮人DOS就是这样子的。

    目前有一个问题没有解决,我在测试的时候想直接在DOS下编辑文件,所以把c:\windows\system32\edit.exe放在DOS里了,但装入运行时总是提示:

    program too big to fit in memory.

    但是不能够啊,我用mem查没有用的常规内存还有600K呢,一个edit.exe才不到60K。这是怎么回事呢?

    关于grub4dos的详细手册,也有chm版下载。
    http://diddy.boot-land.net/grub4dos/Grub4dos.htm
    也可以看看sourceforge上的tutorial,总结得不错。
    http://grub4dos.sourceforge.net/wiki/
    下载 grub4dos 和其它工具

    http://download.gna.org/grub4dos/
    http://download.gna.org/grubutil/

    使用道具 举报

    Rank: 6Rank: 6

    该用户从未签到

    金钱
    0
    元宝
    1946
    专业度
    0
    沙发
    发表于 2023-7-27 15:23:19 |只看该作者
    学习学习,感谢分享,谢谢

    使用道具 举报

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

    Archiver|手机版|PC3000 数据恢复 ( 京ICP备09023376号-1 )

    GMT+8, 2024-5-14 16:32 , Processed in 0.139305 second(s), 13 queries .

    Powered by Discuz! X2

    © 2001-2011 Comsenz Inc.

    回顶部