说说最近某网友提供Gen8 U盘或TF引导SATA5位OS启动ISO的不完美
最近网友发的ISO,简化了大家的操作步骤,但不能说是完美原因就是,如果你1~4盘位位置某个硬盘上有系统,是肯定不会引导SATA5位置的系统的,而是直接按顺序启动1~4盘位上的系统(若有)
若是1~4盘位硬盘上无系统,纯粹的数据盘,那么肯定能成功启动SATA5上的系统。
把MENU.LST找出来,
发现如下:
find --set-root /bootmgr
chainloader /bootmgr
原因就是,这个启动盘是搜索BOOTMGR引导扇区(文件),而且是从1~4,再到5的顺序,因此只有1~4盘无bootmgr引导扇区(文件)的情况下,才会搜索到SATA5位置的BOOTMGR,从而启动上面的系统。
若有不对,请大家指出。
当然有人会说,SATA5启动,不就是1-4不要系统吗?这个不是问题。
这里不是来抬杠,纯粹是想看看能否找到解决办法,让GRUB4DOS启动搜索引导扇区(文件)时,直接先搜索SATA5位置,当SATA5无系统时,再搜索1~4盘位。
不知道哪位能帮忙解决下?
最稳定的办法还是用windows的命令制作一个启动u盘,依照硬盘的唯一标识启动。
yewuqiu 于 2016-1-4 21:35 编辑
无忧论坛有阴也有阳版主及红毛樱木提供的办法,很好的解决了问题,可以指定从任意一块硬盘启动,如下:
把1-5块硬盘编号,1、2、3、4、5号,然后再把空白的记事本文件分别命名为1、2、3、4、5,形成
1.txt 2.txt 3.txt 4.txt 5.txt共五个文件(这5个文件只是供GRUB4DOS定位硬盘,因此你可以随便用5个特征文件即可,最好是改名为1disk\2disk\3disk\4disk\5disk,即不带后缀),把这5个文件分别复制到1-5号硬盘的系统分区的根目录下:
1.txt——对应放在1号硬盘根目录下
2.txt——对应放在2号硬盘根目录下
3.txt——对应放在3号硬盘根目录下
4.txt——对应放在4号硬盘根目录下
5.txt——对应放在5号硬盘根目录下
然后再在menu.lst菜单上写上:
title 从最后一块本地硬盘启动Win7/Win8/Win10系统
rootnoverify(hd-1,0)
chainloader /bootmgr
紫色部分也可以写为:
title 从5号本地硬盘启动Win7/Win8/Win10系统
find --set-root /5.txt
chainloader /bootmgr
即紫色和蓝色2选1即可(选蓝色时记得根目录下放5.txt等特征文件)
title 从1号本地硬盘启动Win7/Win8/Win10系统
find --set-root /1.txt
chainloader /bootmgr
title 从2号本地硬盘启动Win7/Win8/Win10系统
find --set-root /2.txt
chainloader /bootmgr
title 从3号本地硬盘启动Win7/Win8/Win10系统
find --set-root /3.txt
chainloader /bootmgr
title 从4号本地硬盘启动Win7/Win8/Win10系统
find --set-root /4.txt
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.
#
# 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 10
## menu border color
color border=0xEEFFEE
## set vbe mode
graphicsmode -1 640:800 480:600 24:32 || graphicsmode -1 -1 -1 24:32
font /CNfont.gz
## loading splashimage
splashimage /boot/grub/splashimage.xpm || splashimage /boot/grub/splashimage.bmp
default /default
## Menu AutoNumber
write 0x8274 0x2001
title 从SATA5(最后一块)本地硬盘启动Win7/Win8/Win10系统
rootnoverify(hd-1,0)
chainloader /bootmgr
title 从SATA1本地硬盘启动Win7/Win8/Win10系统
find --set-root /1disk
chainloader /bootmgr
title 从SATA2本地硬盘启动Win7/Win8/Win10系统
find --set-root /2disk
chainloader /bootmgr
title 从SATA3本地硬盘启动Win7/Win8/Win10系统
find --set-root /3disk
chainloader /bootmgr
title 从SATA4本地硬盘启动Win7/Win8/Win10系统
find --set-root /4disk
chainloader /bootmgr
title 微PE_X64
find --set-root --ignore-floppies --ignore-cd /WePE_64_V1.0.iso
map /WePE_64_V1.0.iso (0xff)
map --hook
chainloader (0xff)
title DiskGenius 4.7.2.153
map --mem /DiskGenius.ima (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title GRUB4DOS命令行
commandline
title reboot (重启)
reboot
title halt (关机)
halt
# 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.
复制代码
注意要另存为UTF-8编码的文本文件
TF卡内文件等如下:
/data/attachment/forum/201601/04/213510bqrkstskynbsbkth.png
注意那个menu.lst要用BOOTICE的实用工具-grub4dos菜单编辑器修改
抱歉,被提供ISO的网友的MENU.LST误导了
其实无忧启动论坛提供的方法才是对的,菜单该这么写:
title 从最后一块本地硬盘启动Win7/Win8/Win10系统
rootnoverify(hd-1,0)
chainloader /bootmgr
提供ISO解决方案的网友只是考虑了第5盘位才有系统,不是一个最好的方案。
求教,具体要如何修改呢?能共享下改好的MENU.LST吗?多谢。
多谢,去试下。
用了无忧启动论坛这个MENU.LST
正常了
随便找了个NOKIA手机以前的256MB的老TF卡做的启动盘
一点儿问题没有
论坛里似乎说TF卡兼容性差,看来也不尽然
然后自己GRUB4DOS菜单里加几个ISO\IMG\IMA之类的
无限可能啊
呵呵
唯一不好的地方就是,若我想启动SATA1或2、3、4位置的系统,得进BIOS设置启动顺序之类的
要是能MENU.LST里再加个自动搜索1~4盘的系统,并自动列出菜单供选,若不选择自动默认启动SATA5就更完美了。
启动机器的过程其实是可以手动选择的,没记错的话,就算没有插引导盘也能顺利从sata5的硬盘上启动,当然这样比较麻烦,不适合频繁重启调试的时候,但一旦机器稳定了十天半月不关机就无所谓了。
这个方法有时候会导致WIndows无法正常关机和重启,不知道是不是TF卡引导导致的
页:
[1]
2