返回列表 發帖

【角色茶桌】—— GRUB4DOS

本帖最後由 角色 於 2011-9-4 18:39 編輯

因为我们经常会用到Windows去edit东西,所以特别开一幅帖子来特别讨论GRUB4DOS。

GRUB4DOS的安装方法。
http://themudcrab.com/acronis_grub4dos.php#tagIntroduction

GRUB4DOS Homepage
https://gna.org/projects/grub4dos/

GRUB4DOS的常用指令
README_GRUB4DOS.zip (38.12 KB)

角色

回復 31# bubblestar

这个教学非常好!适合我们用Windows 7 and Xp的人。有了它,我们可以用bootice去修改MBR,叫MBR去寻找GRUB4DOS,然后通过menu.lst去boot其他partition。

TOP

The following is a very good website for describing the relationship between MBR and PBR including different booting methods.

http://www.multibooters.co.uk/multiboot.html

TOP

最近又开始要用Grub4dos了。

事源于公司developed的software,要在不同的软件测试软件,但是又想省钱,不用买那么多台电脑,安装那个多的Windows作测试,所以要用类似Grub4dos这样的东西。

当然你可以用VMware,但是不能全面。

TOP

现在用了GRUB4DOS(在手指),而GRUB在linux,喜欢启动那个partition都可以。

角色

TOP

谢谢你的信息,有时间试试。

角色

TOP

本帖最後由 bubblestar 於 2011-9-5 22:56 編輯

是的,它可以復原MBR的,昨天說過,它內置了 Windows NT 5.X MBR 及 Windows NT 6.X MBR,所以,假如你第一個PARTITION是 WINDOWS 7 或 XP/2000/2003,Click 一 Click 立刻還原。 相同道理,PBR也可以,假如Partition 5 是CentOS 5.6,最緊要先Backup PBR,萬一有需要,便Click 一 Click,立即還原,不需重申再裝。 但這部份,我自己未試過。  MBR 就刻意測試了很多次,次次成功。

TOP

问题,安装时,MBR被修改指向新的partition。根绝我的理解,在你的link里,说到可以restore原先MBR的东西,是吗?

角色

TOP

本帖最後由 bubblestar 於 2011-9-5 21:58 編輯

其實,若不想每次使用USB FLASH DISK DRIVE boot 機,可以用Bootice 把Grub4Dos安裝在MBR,它絕不影響你現時PARTTION BOOT RECORD 的CENTOS 5.6,也不會影響你原有的MBR,例如WIN7 MBR,因為可以預先BACKUP,隨時還原。

GRUB4DOS安裝在MBR後,可以把你的個人化menu.lst放在C Drive 的根目錄,以後Boot 機,便不需要USB手指了。USB Flash Drive 可以放埋一邊,當MBR真的出問題時才拿來用。

以下這個教學,就是我的啟蒙。

http://agnipulse.com/2010/06/ins ... disk/#ixzz0zqbPaHxi

TOP

终于我的手指GRUB4DOS发挥作用了,昨晚安装一个CentOS 5.6在某个partition,它自己有自己的boot和grub,所以一boot机,hard drive的MBR就指向那个partition,那么我向起其他partition就不可以,那么我怎样boot起其他partition呢?

那么我就用我之前起得Bootable USB的grub4dos,那么电脑启动后再执行USB的MBR,然后指向USB里德menu.lst,之后我就可以按照menu.lst里boot起其他hard drive的partition。

角色

TOP

不管怎样,起码我们有一个参考点,不然的话都不知道怎样gettting started,有了这个reference,大家可以随自己的思路然后设计自己的GRUB4DOS的menu.lst,最重要是如果hard drive的boot出现问题,而你又不能用那个hard drive的menu.lst去boot机,那么你的手指的menu.lst就大派用场。

角色

TOP

角色兄的menu-d151.lst 寫法跟我的寫法有些不同,各有好處。

角色兄很忠實地列出每個Partition 的kernel 及 initrd 的名稱位置,確保不會攪亂,但當upgrade 到另外一個新的Kernel 或需要改成另一版本的ISO,便需要每次都同步更改他的 menu-d151.lst 的內容以作配合,否則會有機會Boot 不到機。

而我的版本,只 (有些取考) 列出要Boot 機 的HARD DISK DRIVE 及 哪個 partition 序列,所以無論你upgrade CentOS 4、5、6 之後,都不需要修改相對應的Kernel and Initrd 的名稱位置。

大家可以跟據自己使用習慣作設定。

TOP

现在有了手指,就算hard drive的boot有问题,现在都可以用手指boot起,然后从手指去boot那一个partition就可以。

角色

TOP

现在把hard drive的menu.lst,copy到手指里的/menu/menu-d515.lst。
在把/menu/menu-d515.ls里的hd0改到hd1。
  1. default 0
  2. timeout 30
  3. color NORMAL HIGHLIGHT HELPTEXT HEADING
  4. splashimage=/splash.xpm.gz
  5. foreground=FFFFFF
  6. background=000000

  7. # Suggested by Erhan Sohail
  8. title Boot First Hard Drive (HDD)
  9. map (hd0) (hd1)
  10. map (hd1) (hd0)
  11. map --hook
  12. chainloader (hd0)+1
  13. rootnoverify (hd0)

  14. title + D515 PC
  15. configfile /menu/menu-d515.lst

  16. title Restart
  17. reboot

  18. title Shutdown
  19. halt

  20. title --- Custom MultiBoot Entries ---
  21. root

  22. title Parted Magic (Partition Tools)
  23. find --set-root /pmagic.iso
  24. map --heads=0 --sectors-per-track=0 /pmagic.iso (hd32)
  25. map --hook
  26. root (hd32)
  27. kernel /pmagic/bzImage edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us iso_filename=/pmagic.iso
  28. initrd /pmagic/initramfs
  29. map --unmap=0:0xff
複製代碼
/menu/menu-d151.lst contains
  1. # grub.conf generated by anaconda
  2. #
  3. # Note that you do not have to rerun grub after making changes to this file
  4. # NOTICE:  You do not have a /boot partition.  This means that
  5. #          all kernel and initrd paths are relative to /, eg.
  6. #          root (hd0,6)
  7. #          kernel /boot/vmlinuz-version ro root=/dev/sda7
  8. #          initrd /boot/initrd-version.img
  9. #boot=/dev/sda
  10. #default=5
  11. #timeout=20
  12. #splashimage=(hd1,6)/boot/grub/splash.xpm.gz
  13. #hiddenmenu

  14. title <- Return to Main Menu
  15. configfile /menu.lst

  16. title
  17. root



  18. title CentOS ( Asterisk 1.4 + Asterisk-GUI 2.0 ) /dev/sda6
  19.         root (hd1,5)
  20.         kernel /boot/vmlinuz-2.6.18-194.11.3.el5 ro root=LABEL=Asterisk-1.4+GUI
  21.         initrd /boot/initrd-2.6.18-194.11.3.el5.img

  22. title Asterisk 1.4
  23. root (hd1,6)
  24. kernel /boot/vmlinuz-2.6.18-194.11.3.el5 ro root=LABEL=Asterisk-1.4
  25. initrd /boot/initrd-2.6.18-194.11.3.el5.img

  26. title Asterisk 1.6 + FreePBX
  27. root (hd1,7)
  28. kernel /boot/vmlinuz-2.6.18-194.3.1.el5 ro root=LABEL=/12
  29. initrd /boot/initrd-2.6.18-194.3.1.el5.img

  30. title Asterisk 1.6
  31. root (hd1,8)
  32. kernel /boot/vmlinuz-2.6.18-194.11.1.el5 ro root=LABEL=/1
  33. initrd /boot/initrd-2.6.18-194.11.1.el5.img

  34. title Elastix 2.0
  35. root (hd1,9)
  36. kernel /boot/vmlinuz-2.6.18-194.3.1.el5 ro root=LABEL=Elastix-2.0
  37. initrd /boot/initrd-2.6.18-194.3.1.el5.img

  38. title Asterisk 1.8 CentOS (2.6.18-238.el5)
  39. root (hd1,11)
  40. kernel /boot/vmlinuz-2.6.18-238.el5 ro root=LABEL=Asterisk-1.8
  41. initrd /boot/initrd-2.6.18-238.el5.img

  42. title CentOS 5.5a
  43. root (hd1,13)
  44. kernel /boot/vmlinuz-2.6.18-194.8.1.el5 ro root=LABEL=CentOS-5.5a
  45. initrd /boot/initrd-2.6.18-194.8.1.el5.img

  46. title CentOS 5.5b
  47. root (hd1,14)
  48. kernel /boot/vmlinuz-2.6.18-194.8.1.el5 ro root=LABEL=CentOS-5.5b
  49. initrd /boot/initrd-2.6.18-194.8.1.el5.img

  50. title Windows 7 EN
  51.         unhide (hd1,0)
  52.         hide (hd1,1)
  53.         rootnoverify (hd1,0)
  54.         chainloader +1

  55. title Windows 7 SC
  56.         hide (hd1,0)
  57.         unhide (hd1,1)
  58.         rootnoverify (hd1,1)
  59.         chainloader +1
複製代碼

TOP

hd0 : 是first boot device
hd1 : 是second boot device

一般没有Bootable USB thumb drive,hd0一般指first boot device = first hard drive

但是如果有Bootable USB thumb drive插入时
hd0 :是指Bootable USB thumb drive
hd1 :是指hard drive

去boot,那个hard drive是,要把那个drive从(hdx)转到(hd0),才能继续boot。

角色

TOP

返回列表