无忧启动论坛

标题: grub4dos是否可以判断哪个硬盘有操作系统并自动引导呢? [打印本页]

作者: fly9902    时间: 2015-12-25 16:30
标题: grub4dos是否可以判断哪个硬盘有操作系统并自动引导呢?
本帖最后由 fly9902 于 2015-12-26 10:18 编辑

现在有这样一个问题,购买了一个Gen8作为Nas使用,机箱自带四个硬盘抽取位(sata1~sata4),还有一个sata5端口可以挂载一个硬盘,bios设置从硬盘引导只能从sata1引导,没有办法选择引导顺序,现在的办法是用u盘使用grub4dos来引导sata5硬盘上的windows启动,但问题来了,sata1~stat4数量发生变化,u盘的启动菜单就要修改一次,有没有办法让grub4dos来判断哪个硬盘里有操作系统呢?

u盘里的menu.lst命令是这样的:有什么办法来判断哪个硬盘有windows server,我想让硬盘数量无论怎么变都可以顺利无干预的实现从sata5启动,请高手帮忙

# This is a sample menu.lst file. You should make some changes to it.
# The old install method of booting via the stage-files has been removed.
# Please install GRLDR boot strap code to MBR with the bootlace.com
# utility under DOS/Win9x or Linux.

color blue/green yellow/red white/magenta white/magenta
timeout 5
default /default

title boot--001
root (hd1,0)
chainloader /bootmgr

title boot--002
root (hd2,0)
chainloader /bootmgr

title boot--003
root (hd3,0)
chainloader /bootmgr

title boot--004
root (hd4,0)
chainloader /bootmgr

title boot--005
root (hd5,0)
chainloader /bootmgr

title reboot
reboot

附件是引导包的全部内容,把u盘格式成NTFS并设置成活动分区,把压缩包里的两个文件放进去就能引导不同硬盘里的操作系统

[attach]236464[/attach]

GEN8中利用U盘或TF卡引导Sata5系统最简单的方法.zip

202.83 KB, 下载次数: 19, 下载积分: 无忧币 -2


作者: 有阴也有阳    时间: 2015-12-25 16:43
本帖最后由 有阴也有阳 于 2015-12-25 17:09 编辑

title 从最后一块硬盘启动
root (hd-1,0)
chainloader /bootmgr

title reboot
reboot

        不管前面放置了几块硬盘,都能确保从最后的一块硬盘启动。

        或者:

title 从最后一块本地硬盘启动Windows NT/2k/XP系统
rootnoverify  (hd-1,0)
chainloader /ntldr

title 从最后一块本地硬盘启动Win7/Win8/Win10系统
rootnoverify  (hd-1,0)
chainloader /bootmgr

        如果你能确保SATA1接口位置始终有硬盘,增减的只是SATA2、SATA3、SATA4位置的硬盘,那就把SATA1接

口位置的硬盘的主引导记录设置成grub4dos0.4.6a,再把grub4dos0.4.6a的grldr、menu.lst文件和grub4dos0.4.6a的

软件安装压缩包的解压文件夹及里面的全部文件都复制、粘贴到此硬盘的同一个分区的根目录下,在menu.lst菜单上写上:

title 从最后一块硬盘启动
map (hd0) (hd-1)
map (hd-1) (hd0)
rootnoverify (hd0)
chainloader (hd0)+1

        那么一开机,不用从U盘引导也能进入最后的一块硬盘的系统。



作者: fly9902    时间: 2015-12-25 16:46
本帖最后由 fly9902 于 2015-12-25 17:04 编辑
有阴也有阳 发表于 2015-12-25 16:43
title 从最后一块硬盘启动
root (hd-1,0)
chainloader /bootmgr


谢谢,我试试看




不成功,卡住了



# This is a sample menu.lst file. You should make some changes to it.
# The old install method of booting via the stage-files has been removed.
# Please install GRLDR boot strap code to MBR with the bootlace.com
# utility under DOS/Win9x or Linux.

color blue/green yellow/red white/magenta white/magenta
timeout 0
default /default

title boot last Harddisk
root (hd-1,0)
chainloader /bootmgr

title reboot
reboot



帮我看看,是不是脚本不对?
作者: 红毛樱木    时间: 2015-12-25 17:09
用find --set-root就可以吧?
作者: 有阴也有阳    时间: 2015-12-25 17:12
fly9902 发表于 2015-12-25 16:46
谢谢,我试试看


title 从最后一块本地硬盘启动Win7/Win8/Win10系统
rootnoverify  (hd-1,0)
chainloader /bootmgr

        用这个试试。

        或者按红毛樱木说的:

title 从最后一块本地硬盘启动Win7/Win8/Win10系统
find --set-root /bootmgr
chainloader /bootmgr



作者: fly9902    时间: 2015-12-25 17:24
有阴也有阳 发表于 2015-12-25 17:12
title 从最后一块本地硬盘启动Win7/Win8/Win10系统
rootnoverify  (hd-1,0)
chainloader /bootmgr



还是失败,两种都失败了,很郁闷
作者: fly9902    时间: 2015-12-25 17:28
本帖最后由 fly9902 于 2015-12-25 17:30 编辑
有阴也有阳 发表于 2015-12-25 16:43
title 从最后一块硬盘启动
root (hd-1,0)
chainloader /bootmgr


因为是可插拔硬盘盒,所以不能保证sata1始终有硬盘,所以每次增减硬盘都得选择usb启动菜单很麻烦



能否像dos一样用if 来判断每块硬盘是否有bootmgr文件,如果有就从这块硬盘启动,没有就从继续检测下块硬盘?
作者: 有阴也有阳    时间: 2015-12-25 17:30
fly9902 发表于 2015-12-25 17:28
因为是可插拔硬盘盒,所以不能保证sata1始终有硬盘,所以每次增减硬盘都得选择usb启动菜单很麻烦


title 从最后一块本地硬盘启动Win7/Win8/Win10系统
find --set-root /bootmgr
chainloader /bootmgr

用这个试试,这要不行,我也没辙了。
作者: fly9902    时间: 2015-12-25 17:38
有阴也有阳 发表于 2015-12-25 17:30
title 从最后一块本地硬盘启动Win7/Win8/Win10系统
find --set-root /bootmgr
chainloader /bootmgr
...

的确还是不行,有劳了,谢谢,辛苦
作者: 有阴也有阳    时间: 2015-12-25 18:19
fly9902 发表于 2015-12-25 17:38
的确还是不行,有劳了,谢谢,辛苦

你查看一下你的grub4dos的版本,是不是太旧了,用最新版的grub4dos0.4.6a。
作者: hgh1974    时间: 2015-12-25 18:55
用NTBOOT中的DETECT.LST自动搜索硬盘或者用SISO BOOT=HD
NTBOOT,SISO本论坛有下载

作者: lbw2007    时间: 2015-12-25 19:13
fly9902 发表于 2015-12-25 17:38
的确还是不行,有劳了,谢谢,辛苦

这个菜单报错是什么?还是Error 25 : Disk read error ?
请问楼主1楼自己给出的菜单在U盘是否能够引导成功?
作者: lbw2007    时间: 2015-12-25 19:21
本帖最后由 lbw2007 于 2015-12-25 19:31 编辑

还有一种可能是根目录下有bootmgr但是所在分区没有操作系统。
这种情况建议试一下:
  1. title  1. 启动本地的Windows系统
  2. find --set-root --devices=h /Windows/System32/winload.exe || find --set-root --devices=h /ntldr || configfile (ud)/boot/grub/menu.lst  
  3. map () (hd0)
  4. map (hd0) ()
  5. map --rehook
  6. find --set-root --devices=h /Windows/System32/winload.exe || find --set-root --devices=h /ntldr || configfile (ud)/boot/grub/menu.lst
  7. chainloader /bootmgr || chainloader /ntldr
复制代码

是我自己用的,支持2003及更高版本的server
|| configfile (ud)/boot/grub/menu.lst  
这一句可以改成你自己menu.lst的路径。
也可以用楼上的SISO中的NTBOOT。虽然是手动选择,但是万能。
作者: fly9902    时间: 2015-12-26 09:10
lbw2007 发表于 2015-12-25 19:13
这个菜单报错是什么?还是Error 25 : Disk read error ?
请问楼主1楼自己给出的菜单在U盘是否能够引导成 ...

是的,可以引导,我把引导的全部东西放到了一楼的附件,帮忙看看,多谢
作者: fly9902    时间: 2015-12-26 09:11
有阴也有阳 发表于 2015-12-25 18:19
你查看一下你的grub4dos的版本,是不是太旧了,用最新版的grub4dos0.4.6a。

多费心了,我把附件上传到了一楼的附件,帮忙看看,多谢
作者: lbw2007    时间: 2015-12-26 09:51
fly9902 发表于 2015-12-26 09:10
是的,可以引导,我把引导的全部东西放到了一楼的附件,帮忙看看,多谢

13楼的的菜单试过了吗?
find命令可以查找所有磁盘所有分区的,本身就包含了判断过程。
3楼以后的菜单就开始没有交换磁盘的命令了,但是你的机器可以启动,应该不是这个原因……
我们看不到你grub4dos的版本,因为你只上传了菜单。
作者: fly9902    时间: 2015-12-26 10:11
lbw2007 发表于 2015-12-26 09:51
13楼的的菜单试过了吗?
find命令可以查找所有磁盘所有分区的,本身就包含了判断过程。
3楼以后的菜单 ...

谢谢,等下试试,我在一楼上传的附件,就是u盘里的所有东西,就两个文件
作者: fly9902    时间: 2015-12-26 10:17
还是不行,我把完整的东西都传上来,帮忙卡看,谢谢

2015-12-26_101403.jpg (56.21 KB, 下载次数: 151)

2015-12-26_101403.jpg

GEN8中利用U盘或TF卡引导Sata5系统最简单的方法.zip

202.83 KB, 下载次数: 1, 下载积分: 无忧币 -2


作者: lbw2007    时间: 2015-12-26 11:40
fly9902 发表于 2015-12-26 10:17
还是不行,我把完整的东西都传上来,帮忙卡看,谢谢

有没有可能是你用ilo的原因?
还是grub4dos版本太旧了?
我也不能帮到了抱歉
作者: 有阴也有阳    时间: 2015-12-26 12:04
本帖最后由 有阴也有阳 于 2015-12-26 12:23 编辑
fly9902 发表于 2015-12-26 10:17
还是不行,我把完整的东西都传上来,帮忙卡看,谢谢


        看过了你的《GEN8中利用U盘或TF卡引导Sata5系统最简单的方法》,这个方法纯属脱裤子放屁,多此一举,

如何用U盘,或TF卡引导第5块硬盘接口上的系统,参看:

        http://bbs.wuyou.net/forum.php?m ... F4%B6%AF&page=2

的第15楼。

       如果你使用的是U盘,不是TF卡,就不用Diskgenius来把U盘格式成NTFS格式、“重新建立主引导区”,并且激活当前分区之

类的了,直接用BOOTICE软件把你的U盘的“主引导记录”和“分区引导记录”设置成grub4dos0.4.6a的就行了,这部分参阅:

        http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1

        然后从“d.下载grub4dos0.4.6a软件,下载链接:......”开始照着上面说的一步步地做就行了。





作者: fly9902    时间: 2015-12-26 12:24
有阴也有阳 发表于 2015-12-26 12:04
看过了你的《GEN8中利用U盘或TF卡引导Sata5系统最简单的方法》,这个方法纯属脱裤子放屁,多此 ...

谢谢,是grubdos版本的问题,多谢,已经解决
作者: fly9902    时间: 2015-12-26 12:24
lbw2007 发表于 2015-12-26 11:40
有没有可能是你用ilo的原因?
还是grub4dos版本太旧了?
我也不能帮到了抱歉

谢谢,是grubdos版本的问题,多谢,已经解决




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3