无忧启动论坛
标题:
随 grub4dos 发布的 menu.lst 样本应该怎样改进?
[打印本页]
作者:
不点
时间:
2012-9-21 21:44
标题:
随 grub4dos 发布的 menu.lst 样本应该怎样改进?
比如说,添加 grub2 的启动项。添加自动搜索 Linux 的启动项。
请提供建议。
作者:
jianliulin
时间:
2012-9-22 10:54
自动寻找linux 启动
title [05] 启动ubuntu中文版\n
find --set-root --devices=h ls /boot/vmlinuz > (md)0x200+1
cat --locate=\x20 (md)0x200+1 > nul
cat --length=%?% (md)0x200+1 | set vmlinuz=
find --set-root --devices=h ls /boot/initrd > (md)0x200+1
cat --locate=\x20 (md)0x200+1 > nul
cat --length=%?% (md)0x200+1 | set initrd=
uuid () > nul
kernel /boot/%vmlinuz% root=UUID=%?% ro quiet splash
initrd /boot/%initrd%
作者:
不点
时间:
2012-9-23 00:47
title Chainload into GRUB2
find --set-root --ignore-floppies --ignore-cd /boot/grub/i386-pc/core.img
kernel /boot/grub/i386-pc/core.img
boot
复制代码
作者:
不点
时间:
2012-9-26 08:33
标题:
回复 #2 jianliulin 的帖子
这个启动代码是不是太复杂了?有没有更简单的?
看第一条是 find 命令,无非是找到 /boot/vmlinuz* 文件而已。这不只是 ubuntu 才有,其它发行版大多都是这样。所以,接下来的启动未必成功,碰到不是 Ubuntu 的情况,有可能失败。
有没有一个统一启动 Linux 的方案,适应于大多数发行版?
作者:
jianliulin
时间:
2012-9-26 08:37
vmlinuz 文件名一般带版本号,如果不找就不知道具体叫什么名字。要是find 命令支持模糊查找那就方便好多了
[
本帖最后由 jianliulin 于 2012-9-26 08:40 编辑
]
作者:
不点
时间:
2012-9-26 11:30
你没看清我的意思。
别的发行版也叫 vmlinuz...... 这个名字。你后续的命令对于 ubuntu 能成功,但不能保证对于别的发行版也成功。
别的发行版在执行完你的 initrd 以及默认的 boot 命令以后死机了(kernel panic),那怎么办?
第一条 find 命令找到的不一定是 Ubuntu。
作者:
不点
时间:
2012-9-26 11:39
贴一个阶段性的工作,大家审视一下。依然有毛病,比如,fallback 无法适应 iftitle 带来的序号变化。
# 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 30
## 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 find and load NTLDR of Windows NT/2K/XP\n find and load NTLDR of Windows NT/2K/XP
fallback 1
find --set-root --ignore-floppies --ignore-cd /ntldr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /ntldr
chainloader /ntldr
savedefault --wait=2
#iftitle only show when command in [] returns true
# set a variable named bootmgr where /bootmgr is found.
iftitle [find --set-root --devices=h /bootmgr && call set bootmgr=%@root^%] load BOOTMGR of Windows VISTA/WIN7/WIN2008 on %bootmgr%
chainloader %bootmgr%/bootmgr
savedefault --wait=2
title find and load CMLDR, the Recovery Console of Windows NT/2K/XP
fallback 3
find --set-root --ignore-floppies --ignore-cd /cmldr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /cmldr
chainloader /cmldr
#####################################################################
# write string "cmdcons" to memory 0000:7C03 in 2 steps:
#####################################################################
# step 1. Write 4 chars "cmdc" at 0000:7C03
#write 0x7C03 0x63646D63
# step 2. Write 3 chars "ons" and an ending null at 0000:7C07
#write 0x7C07 0x00736E6F
# or.
#write --offset=3 (md)0x3e+1 cmdcons
# or
calc *0x7c03=0x00736E6F63646D63
savedefault --wait=2
title Chainload IO.SYS for booting MS-DOS/Windows 9x/Me
fallback 4
find --set-root --ignore-floppies --ignore-cd /io.sys
chainloader /io.sys
savedefault --wait=2
#
# Or in this way:
#
# find --set-root --ignore-floppies --ignore-cd chainloader /io.sys
# boot
#
# The above boot command is needed in this case.
# See "Delimitors or comments between titles" in grub4dos_readme.txt.
title 0PE LiveISO
fallback 5
find --set-root --ignore-floppies --ignore-cd /0PE/0PE.ISO
map /0PE/0PE.ISO (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2
title MicroPE LiveISO
fallback 6
find --set-root --ignore-floppies --ignore-cd /boot/MicroPE.ISO
map /boot/MicroPE.ISO (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2
title Parted Magic LiveISO
fallback 7
find --set-root --ignore-floppies --ignore-cd /pmagic.iso
map /pmagic.iso (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2
title Ultimate Boot CD LiveISO
fallback 8
find --set-root --ignore-floppies --ignore-cd /ubcd.iso
map /ubcd.iso (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2
title SliTaz LiveISO
find --set-root --ignore-floppies --ignore-cd /slitaz.iso
map /slitaz.iso (0xff)
map --hook
chainloader (0xff)
title Mageia Installation ISO
find --set-root --ignore-floppies --ignore-cd /Mageia-2-x86_64-DVD.iso
map /Mageia-2-x86_64-DVD.iso (0xff)
map --hook
chainloader (0xff)
title find /boot/grub/menu.lst for booting Linux (Mageia, etc)
find --set-root --ignore-floppies --ignore-cd /boot/grub/menu.lst
configfile /boot/grub/menu.lst
title Switch to GRUB2 core.img for booting Linux (Ubuntu, etc)
find --set-root --ignore-floppies --ignore-cd /boot/grub/i386-pc/core.img
kernel /boot/grub/i386-pc/core.img
title commandline
commandline
title reboot
reboot
title halt
halt
title MAXDOS.IMG
find --set-root --ignore-floppies --ignore-cd /boot/MAXDOS.IMG
map --mem /boot/MAXDOS.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
复制代码
欢迎光临 无忧启动论坛 (http://wuyou.net./)
Powered by Discuz! X3.3