无忧启动论坛

标题: grub4dos的find能返回特定文件所在的设备名吗? [打印本页]

作者: nerdpal    时间: 2011-7-4 22:56
标题: grub4dos的find能返回特定文件所在的设备名吗?
如题,grub4dos的find能返回特定文件所在的设备名吗?

最近使用tinylinux,默认的外置在根目录的tce下,如果放在其他目录,就必须写全路径(含设备名),而U盘启动时可能被识别为不同的设备,如hdax,hdbx,sdax等,能否通过grub4dos的find查找自定义的外置目录中的特定文件(如find  --ignore-floppies /BOOT/tce/usb-utils.tcz),找到后返回所在的设备名给某个变量然后用变量替换下列语句中红色的部分?

find --set-root --ignore-floppies /BOOT/bzImage
kernel /BOOT/bzImage quiet tinycore tce=hd0/BOOT/tce/ waitusb=10
initrd /BOOT/tinycore.gz
作者: 3370123    时间: 2011-7-5 02:48
find的--set-root 的意思就是找到第一个匹配后,就把该设备设置为根root

比如find --set-root /123.iso

如果123.iso在hd0上,那么就把hd0设置为root
如果在hd1上,那么就把hd1 设置为root

应该是你要的效果吧,你试试
作者: 幸运的草    时间: 2011-7-5 09:01
标题: 回复 #2 3370123 的帖子
你试试。
find --set-root  --ignore-floppies /BOOT/tce/usb-utils.tcz
kernel /BOOT/bzImage quiet tinycore tce=/BOOT/tce/ waitusb=10
initrd /BOOT/tinycore.gz
作者: nerdpal    时间: 2011-7-6 07:11
我的U盘在tinylinux下识别为sda1,可能与grubdos识别的原理不同,因而之前我的思路有问题,多谢楼上2位的热心回复。。。
作者: dihuo0    时间: 2011-7-6 12:35
linux下的sda1设备,在grub中被命名为(hd0,0),建议你使用()或(bd),其中()是当前设备,(bd)是初始启动设备。
置顶帖又一本很好的教程——grub4dos0.4.5b帮助文档,建议你你好好看看。
作者: nerdpal    时间: 2011-7-7 07:26
原帖由 2011_dihuo0 于 2011-7-6 12:35 发表
linux下的sda1设备,在grub中被命名为(hd0,0),建议你使用()或(bd),其中()是当前设备,(bd)是初始启动设备。
置顶帖又一本很好的教程——grub4dos0.4.5b帮助文档,建议你你好好看看。


之前看过一部分grub4dos0.4.5b帮助文档,回去再看看,不过tinylinux中用的是sda1,而不是grub中的(hd0,0)、()或(bd),这怕不是一一对应的吧

应该需要的是
kernel /BOOT/bzImage quiet tinycore tce=sda1/BOOT/tce/ waitusb=10

而不是
kernel /BOOT/bzImage quiet tinycore tce=(hd0,0)/BOOT/tce/ waitusb=10

kernel /BOOT/bzImage quiet tinycore tce=()/BOOT/tce/ waitusb=10

我再试试吧




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