NetCobra 发表于 2015-9-19 23:35:08

如何设置总是从最后一块硬盘启动Windows?

想用Grub4Dos做HP MicroServer Gen8的启动盘,这台电脑前4个硬盘接口可以用于组RAID等专门的存储功能,因此想设置从第5个硬盘(预留的光驱接口位置)启动Windows;但是由于前4个硬盘接口上接的硬盘数量不是固定的(随时可能增加或者移除),所以想让Grub4Dos总是从最后一块硬盘的第一个分区启动。

不知道Grub4Dos如何实现?

谢谢!

有阴也有阳 发表于 2015-9-29 16:43:49

本帖最后由 有阴也有阳 于 2015-10-14 19:11 编辑

NetCobra 发表于 2015-9-29 14:32
抱歉,没有看到你最后增加的内容。

MicroServer Gen8是真正的服务器,所以很多东西都是按照服务器设置 ...

      亲!你也没有说清楚,而我对MicroServer Gen8服务器又一点也不了解,看了你提供的链接:

      http://www.chiphell.com/thread-1375459-1-1.html

      才彻底弄明白了你的要求和你所面临的情况,这是一件极为简单的事,也用不着把grldr文件伪装成bootmgr文件......搞得那么复杂,而且

既可以启动Win7/Win8/Win10系统,也可以启动Windows NT/2k/XP系统,具体的方法和步骤如下:

       1.再把你的TF卡插到另外一台普通的电脑上,打开Diskgenuis:

       a. 格式化TF卡为NTFS格式。

       b. 使用DiskGenius软件,将TF卡“重新建立主引导区”,并且激活当前分区,然后关闭Diskgenuis软件,完后先别急着把TF卡从电脑上拔下来。

       c.将TF卡的分区引导记录设置为grub4dos0.4.6a——下载BOOTICE软件,下载链接:

      http://bbs.wuyou.net/forum.php?mod=viewthread&tid=57675&extra=page%3D1

       打开BOOTICE软件,选择你的TF卡,别弄到本地硬盘上了,注意从大小来区分——点击“分区引导记录(P)”——选择“GRUB4DOS

0.4.5c/0.4.6a(FAT/FAT32/NTFS/ExFAT)"——点击”安装/配置(S)“——选择“0.4.6a"——点击”确定“——点击”确定“.

       d.下载grub4dos0.4.6a软件,下载链接:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=367232&extra=page%3D1

       将下载的grub4dos0.4.6a的软件压缩包解压,然后再把解压文件夹及里面的内容一起复制到TF卡的分区的根目录下,然后再把TF卡的分区

里的grub4dos0.4.6a的解压文件夹里的sample文件夹打开,把里面的menu.lst文件复制到的TF卡的分区根目录下,再把grub4dos0.4.6a的解压

文件夹里的grldr文件复制到的TF卡的分区根目录下。

      2.修改menu.lst菜单:

      将TF卡的分区根目录下的menu.lst菜单用BOOTICE软件的”实用工具“的”GRUB4DOS菜单编辑器“打开,把中间部分的内容全部删除,只留头

尾,然后再在中间的空白部分填写新的内容,把等待的时间改为5秒:

# 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.
#
# It must be UTF-8 encoding for multi-lingual support. Font lines can be
# appended to the file. The font lines should be in the unifont.hex format.

color blue/green yellow/red white/magenta white/magenta
timeout 30——改成5——等待时间改成5秒。
## menu border color
color border=0xEEFFEE
## set vbe mode
graphicsmode -1 640:800 480:600 24:32 || graphicsmode -1 -1 -1 24:32
## loading splashimage
splashimage /boot/grub/splashimage.xpm || splashimage /boot/grub/splashimage.bmp
default /default
## Menu AutoNumber
write 0x8274 0x2001



中间部分的内容——将“中间部分的内容”全部删除




# In the end, font lines for unicode chars in unifont.hex format.
# It should include all unicode chars used in the above menu code.
# Surely normal ASCII chars are not necessary to be included here.

5173:10100810082000003FF8010001000100FFFE010002800280044008203018C006
542F:010000801FFC1004100410041FFC10001000100017FC24042404440487FC0404
673A:100011F011101110FD10111031103910551055109110111211121212120E1400
91CD:001000F83F000100FFFE01001FF011101FF011101FF001003FF80100FFFE0000

      下面是改好了的menu.lst菜单,改动部分都用红字标出来:

# 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.
#
# It must be UTF-8 encoding for multi-lingual support. Font lines can be
# appended to the file. The font lines should be in the unifont.hex format.

color blue/green yellow/red white/magenta white/magenta
timeout 5
## menu border color
color border=0xEEFFEE
## set vbe mode
graphicsmode -1 640:800 480:600 24:32 || graphicsmode -1 -1 -1 24:32
## loading splashimage
splashimage /boot/grub/splashimage.xpm || splashimage /boot/grub/splashimage.bmp
default /default
## Menu AutoNumber
write 0x8274 0x2001

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

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

# In the end, font lines for unicode chars in unifont.hex format.
# It should include all unicode chars used in the above menu code.
# Surely normal ASCII chars are not necessary to be included here.

5173:10100810082000003FF8010001000100FFFE010002800280044008203018C006
542F:010000801FFC1004100410041FFC10001000100017FC24042404440487FC0404
673A:100011F011101110FD10111031103910551055109110111211121212120E1400
91CD:001000F83F000100FFFE01001FF011101FF011101FF001003FF80100FFFE0000

      修改完后,注意要用BOOTICE软件”以UTF—8编码保存“的形式保存——见图一。

      3.将TF卡插入GEN8的TF卡插槽,并设置为USBkey启动,一开机就会出现2个菜单选项,等待时间是5秒,默认是第一个,你不做选择,

5秒钟后就执行第一个菜单:

0.从最后一块本地硬盘启动Windows NT/2k/XP系统

1.从最后一块本地硬盘启动Win7/Win8/Win10系统

      不过你要注意事先用启动U盘插到MicroServer Gen8服务器上进PE里在服务器里的接在第5个硬盘接口上的硬盘的第一分区里安装好你

要的操作系统......


      整个过程是:MicroServer Gen8服务器从USB启动——启动TF卡中的grub4dos0.4.6a——启动最后一块本地硬盘中的第一分区中的操作系统。


      将以上内容进一步地整理了一下,便于需要者阅读、使用:

      http://wenku.baidu.com/view/6228a5cbad02de80d4d840f8


有阴也有阳 发表于 2015-9-20 01:10:21

本帖最后由 有阴也有阳 于 2015-9-20 23:41 编辑

一点设想,仅供参考:

1.打开记事本,将空白的记事本命名为“mylastdisk",成为一个“mylastdisk.txt"文件,然后再把这个

“mylastdisk.txt"文件复制、粘贴到第5个硬盘接口的硬盘的系统所在分区的根目录下。

2.把第5个硬盘接口的硬盘用BOOTICE软件把硬盘的主引导记录写成grub4dos0.4.6a,等待时间——

延时可定为0,然后再把grub4dos0.4.6a的软件安装压缩包的解压文件夹复制、粘贴到第5个硬盘接

口的硬盘的任意1个分区的根目录下,然后再把grub4dos0.4.6a的软件安装压缩包的解压文件夹里的

grldr、menu.lst文件复制、粘贴到第5个硬盘接口的硬盘的任意1个分区的根目录下——和复制、粘贴

进来的grub4dos0.4.6a的软件安装压缩包的解压文件夹位于同一个分区。

3.填写menu.lst菜单:

title 从最后一块本地硬盘启动Windows NT/2k/XP系统
find --set-root /mylastdisk.txt
chainloader /ntldr

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

填好的menu.lst菜单用BOOTICE软件的实用工具中的GRUB4DOS菜单编辑器用UTF8编码保存,保存好

后,要把保存好的menu.lst菜单复制、粘贴到第5个硬盘接口的硬盘里的grldr文件所在的分区的根目录

下,也就是说grldr文件、menu.lst文件、grub4dos0.4.6a的软件安装压缩包的解压文件夹要位于第5个

硬盘接口的硬盘的同一分区的根目录下。

这样,一开机,或重启,就会出现”从最后一块本地硬盘启动Windows NT/2k/XP系统“和”从最后一块本

地硬盘启动Win7/Win8/Win10系统“的启动菜单选项,选中后,按回车键就可以启动第5个硬盘接口的

硬盘上的系统。

第5个硬盘的接口上的硬盘如果装的是双系统,比如是XP和Win7系统,就做两个空白记事本文件:

mylastdisk1.txt和mylastdisk2.txt

把mylastdisk1.txt复制、粘贴到XP系统所在分区的根目录下,把mylastdisk2.txt复制、粘贴到Win7系统

所在分区的根目录下。

填写menu.lst菜单:

title 从最后一块本地硬盘启动Windows NT/2k/XP系统
find --set-root /mylastdisk1.txt
chainloader /ntldr

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

......

你试过后是否成功,麻烦你回复告诉我一下。


刚才百度了一下“惠普 MicroServer Gen8 微型塔式服务器”,其实可能很简单,就不知你的这个服务器的主板的BIOS支不支持“硬盘

启动顺序”的设置,对服务器主板我压根就不了解,我只能参照一般电脑的主板BIOS来讲讲:

一开机,或重启,就按下Delete键,进入BISO,在“Advanced BIOS Features——BIOS进阶功能设定”中,找到“Hard Disk Boot

Priority——硬盘引导顺序”项,然后进入该项,将“第5个硬盘接口的硬盘”用箭头键选中,然后用加号键(+)将其提升为第一启动硬盘,

然后按F10保存就OK了——压根就用不着grub4dos,把简单的问题复杂化了。


不点 发表于 2015-9-20 04:35:49

不要做这么好的梦。我们早都发现,有些主板的 bios 只支持第一个硬盘,其他硬盘都无法用 bios 来访问。

当然也有比较好的主板,它的 bios 支持访问所有的硬盘。

如果你只是自己用,那你可以试试楼上的方法。如果你是想做个通用的发行版让大家都用,那会碰到失败。

另外,微软与 oem 制造商合伙封杀 bios,因此可以预料,今后 bios 的毛病会越来越多。我就遇到了华硕的 win8 笔记本已经彻底 EFI 化了,要想用 bios 的方式启动电脑,根本没门。

lanmeizhuangyua 发表于 2015-9-20 08:11:25

看看学习一下

lbw2007 发表于 2015-9-20 13:11:00

2楼的方法很好,从最后一块启动写法比较复杂,但是从指定硬盘上启动就很简单了

NetCobra 发表于 2015-9-20 23:05:30

谢谢各位。

Gen8似乎比较挑盘,试了好几张TF卡(主板上有内置的TF卡槽用于启动系统)都无法启动,回头找个U盘试试,启动成功了再试试。

NetCobra 发表于 2015-9-27 21:46:33

要崩溃了,把家里能找到的TF卡、读卡器、U盘都是过了,没有找到一个能成功在Gen8上启动grub4dos的,做出来的启动盘在别的机器上可以启动,就是到Gen8上完全不识别。

看到有人把grub4dos安装到硬盘上来启动SATA5成功,我有点怀疑Gen8是不是不支持U盘上的grub4dos……

NetCobra 发表于 2015-9-27 22:52:44

基本确定是Gen8这台电脑不支持U盘上的grub4dos了。

同一张卡做成grub4dos的启动盘,在别的电脑上能启动,但是在Gen8上无法启动;
改成grub的启动盘(参见http://www.chiphell.com/thread-1311064-1-1.html这个帖子的10楼),就可以启动了。

所以,只能放弃grub4dos了……

谢谢各位的支持!

chenall 发表于 2015-9-28 15:02:41

你的GRUB4DOS启动盘是什么方式的,USB-HDD/USB-FDD.?
无法启动,有没有具体的提示??
USB启动盘的情况很复杂,有时候你制作的是HDD格式,但启动时识别的是FDD的.

即然grub2可以启动,那可以尝试在GRUB2启动之后再加载国GRLDR,估计也是可以的.







不点 发表于 2015-9-28 16:49:52

chenall 发表于 2015-9-28 15:02
你的GRUB4DOS启动盘是什么方式的,USB-HDD/USB-FDD.?
无法启动,有没有具体的提示??
USB启动盘的情况很复杂 ...

估计够呛。我曾经遇到华硕笔记本,已经彻底取缔了 bios。想启动 grub4dos,已经是没门了。

联想的笔记本可以勉强使用 BIOS 来启动,但是 XP 安装不上,已经被封杀。

这是逼着用户使用 Win7、8、10,不管用户情愿不情愿。

页: [1] 2 3
查看完整版本: 如何设置总是从最后一块硬盘启动Windows?